跳到主要内容

更新内容

只列会改变你能构建什么、或改变已有流程行为的变化。没有可见影响的修复不在此列。

有新版本时应用会告诉你,并直接从横幅安装;下载页始终提供当前版本。

1.9 —— 桌面模式

让 Microbe Studio 不再只服务模拟器的一次发布。流程现在能驱动你自己电脑上的 Windows 应用,用的是同一个编辑器、同一套节点、同样的队列与计划。从桌面模式开始。

两个工作区,而不是一个带筛选的界面

Settings → 运行环境MuMu 模拟器桌面之间切换,切换替换的是整个外壳:仪表盘、流程列表、队列和计划都只显示那个环境的内容。另一边分毫未动,切回去就是原样。

每个队列条目和每条计划都记得自己属于哪个工作区,所以一条桌面例程和一条模拟器例程可以共处一台机器而永不相遇。

每个节点自己说明作用于什么

桌面有许多窗口,所以"屏幕"不算一个答案。每个动作或读屏节点现在都带一个 Execution Context:Active Window、Specific Window、Entire Desktop、Monitor,或锚定在其中之一上的 Region。

按节点设置是刻意的——真实的桌面工作就是从一个窗口读一个值,再敲进另一个窗口。窗口以描述保存(进程、标题片段、窗口类、别名),从不保存句柄,所以应用重启后流程依然成立。套住不止一个窗口的描述会在运行时被拒绝而不是乱猜;窗口选择对话框里的测试匹配会在你保存前告诉你数量。

打开应用

一个新的操作节点。它先检查流程需要的窗口是否已经存在,只有不存在时才启动程序——所以同一条流程冷启动和热启动都能跑,第二次运行也不会再开一个副本。它会等窗口来到最前,而不只是打开,并在程序自己的目录下启动它。见打开应用

对着流程真正会读的东西编写

Live Preview 接受与节点相同的五种目标。选择来源提供整个桌面、显示器(当你有多块屏时)和应用程序窗口——于是作用于整块屏幕的流程就在整块屏幕上绘制,用的正是运行时将使用的坐标系。

Test Node 在桌面流程上可用,它绑定该节点自己的 Execution Context,并像真实运行一样还原编写时的窗口形状。检查一个 Click 不再意味着跑完整条流程。

Microbe Studio 还会把自己的窗口排除在它拍的每一张图之外,所以在编辑器压着目标区域时截取的模板,拿到的仍是它背后的内容。

当流程正在驱动你的机器

因为桌面运行移动的是你真实的鼠标和键盘,产品从不掩饰这件事:

  • 浮层显示运行状态,并在流程操控期间点击穿透,所以它绝不会吞掉点击或抢走焦点。它的按钮在运行时是 Stop,运行结束后是 Dismiss
  • 移动鼠标或敲键盘就会让运行暂停在下一个节点边界。暂停期间流程里的一切超时和期限都冻结。
  • Ctrl+Alt+S 暂停、Ctrl+Alt+R 恢复,在任何窗口下都有效;恢复前有三秒倒计时才重新开始输入。
  • 暂停中的计划运行会在你配置的分钟数后干净停止;设 0 表示一直等。

桌面特有的节点行为

节点在桌面流程上
Key Press能按住 Ctrl / Alt / Shift / Win,所以 Ctrl+S 或 Win+D 只是一个节点
Input Text以完整 Unicode 输入,与键盘布局无关;Clear before input 是 Ctrl+A 再 Delete,而不是一串有上限的退格
Zoom不提供——窗口没有捏合手势

动作之前,运行会把目标窗口恢复成流程绘制时的形状并重新测量。应用拒绝该尺寸时,运行连同两个数字一起被拒绝——因为在错误的坐标上成功,比不运行更糟。

新增错误码

APP_LAUNCH_FAILEDWINDOW_NOT_FOUNDWINDOW_AMBIGUOUSTARGET_SURFACE_UNAVAILABLETARGET_CONTEXT_INVALID——各有各的修法,列在错误码里。

授权

桌面模式是 License Package 中的 Windows Mode 能力。没有它时应用会明说,并停留在模拟器模式。发布到商店的流程会标注它面向的模式,该标注读自上传的包本身,所以买家在付款前就知道。


全新的 OCR 引擎

Read Text 从 Tesseract 换成了随应用打包的多语言模型。对你而言的变化:

  • **不再有语言包。**一个模型随应用一起打包,选择器里的每种语言在每个版本上都能用。
  • 多行区域按行读取——节点找出笔画断开的位置,逐条读取,再用空格拼接。无需配置。
  • 在同样的像素上,读得更快也更准。

一个必须说清的局限:模型的字符集缺少大部分越南语声调字母,所以精确读取带声调的越南语并不可靠。请优先使用 Number / Counter / Time / Percentage 类型,或把逻辑锚定在数字上。


Share Image

位于 Monitor Scope 内的检测节点,可以把它刚捕获的那一帧交给该范围所守望流程的节点。此后监控器按每收到一帧检查一次,而不是按自己的定时器——于是守望流程分析的正是主流程刚刚操作过的像素,它的开销也随主流程走,而不是一个固定间隔。

发布方挑选接收方;接收节点什么都不用配。两条校验警告会抓住接错线的情况:SHARE_TARGET_NOT_MONITOREDMONITOR_NOT_SHARE_FED


编辑器与运行时

  • 校验信息会把你带到出错的那个节点——它是一个链接,不是一句描述。
  • 分组与备注可折叠,展示某个节点时画布是移动过去,而不是瞬移。
  • Monitor Scope:紫色框就是范围——成员按几何判定,所以把节点移进移出只是拖拽。每次武装的计数与整次运行的总计都显示在 Runtime 标签页,每个流程的监控器数量上限已取消。
  • Swipe 可以把目标带到屏幕中央,不用你自己算坐标。
  • Find Image 只匹配节点真正需要的模板。
  • Read Text:单个区域也能为输出命名并设默认值,就像多区域读取一直以来那样。
  • 表达式新增 random(low, high),让流程自己改变上限。
  • 计划任务的条目可以重新排序,并折叠成列表。
  • 更新横幅上的 Download 按钮现在会直接安装新版本,而不只是下载。

已移除

Parallel 已从工具箱移除。它从未让任何东西真正并发——这个产品里的并行意味着更多实例,每个带自己的队列。仍带着它的流程照常运行;请改用 Monitor Scope。见遗留节点