Automation Runtime

Automation Runtime 是供单独准备的脚本或程序使用的库。代码会打开已保存项目、匹配图像或文本状态、等待条件,并调用统一输入 API。运行与项目编辑分别进行。

运行所需条件

  • 在 General 或 GUI Automation 中准备的已保存项目,包含 GUI 目标和所需图像特征。
  • 一个单独的 Python 脚本,显式打开项目并指定操作顺序。
  • 准备好脚本、图像搜索以及 OCR(如有必要)的依赖项。
  • 如果脚本需要控制鼠标和键盘,需有适用于所选系统的可用输入方式。

Automation Manager 与 Runtime Workbench

Automation Manager 打开已准备的 GUI 脚本、参数和执行日志。“运行和检查”窗口(Runtime Workbench)汇集可用的执行与查看目标:运行最终代码时需选择已保存项目、脚本和 Python 环境。

查看已保存结果不会启动计算或输入。运行前会分别检查程序环境和所选输入方式。修复依赖项或连接设备后需要重新检查;绿色的启动状态不能证明目标窗口处于所需状态。

Runtime Workbench:运行目标、来源、查看与诊断。

练习示例。更改仅在此处生效,离开示例后将重置。 示例提供查看和诊断选项卡。不会启动来源、程序或输入。

运行时的输入模式

  • 禁用:不发送库的输入操作。脚本中的其他 Python 代码仍会继续运行。
  • 仅记录操作:请求的操作会保存以供检查,不会通过所选输入方式发送。
  • 实际输入:每次运行都需要成功检查已配置的设备或驱动程序,并明确确认。

这些模式仅适用于 Screph 输入库。任意 Python 代码并未受到隔离:直接调用第三方库或命令可能执行此检查范围之外的操作。

执行前检查

运行前,Screph 会检查项目是否可读取以及是否包含所需数据。执行操作前,脚本必须检查目标窗口、缩放、主题和所在显示器。项目检查不涵盖这些条件。

搜索目标

方法适用情况
图像匹配适用于缩放和界面状态已知、外观稳定的图像模板。
OCR适用于位置可能变化、但仍可辨认的文本。
坐标和区域适用于在所选显示器或窗口的已知区域内限定搜索范围。

图像模板受缩放、主题、窗口状态和原始图像质量影响。搜索后,脚本必须先检查预期状态,再发送输入。

输入方式

  • FakerInput Virtual HID 使用系统驱动程序,需单独安装并通过 Windows 确认。
  • Arduino USB HID 使用兼容的外部设备,设备需装有合适的固件。
  • Arduino Serial 使用所选端口和对应固件。Linux uinput 需要系统授予输入设备访问权限;Linux 路径仍处于实验阶段。

在“输入模拟”设置中可选择实现方式、设备、键盘布局和输入行为。设置从下一次操作起生效;保存设置本身不会发送输入。程序移至另一台计算机后,需要在其运行环境中重新配置输入。

VHF 和 PS/2 用于实验室检查,需要单独的驱动程序;它们不能作为已就绪的主要输入方式替代品。PyAutoGUI 是独立的项目配置,并非 Screph 库的自动备用方案。

如果所选输入方式不可用,Automation Runtime 会显示错误,不会自动切换输入方式。

启动和停止

  1. 在 Automation Manager 中打开项目和脚本。
  2. 检查目标窗口、显示器、缩放和输入方式。
  3. 在监督下运行脚本并保持紧急停止可用。
  4. 在执行每个重要操作后,检查界面的预期状态。

停止会取消后续工作并结束该次运行拥有的进程。如果尚未确认清理完成,状态会保持为正在停止。已发送的命令和已完成的修改不会自动撤销。

安全性

  • 该脚本以正在运行的程序的权限运行,并且可以读取或修改可用的文件。
  • 不要运行未经检查的脚本。请使用版本控制或备份保存工作目录。
  • 请勿使用 Alpha 版本在无人监督的情况下控制关键系统。

典型问题

  • 未找到模板:检查缩放、主题、窗口状态、搜索区域和模板质量。
  • 未找到文本:检查 Tesseract、OCR 语言和图像区域的质量。
  • 坐标发生偏移:检查显示器、Windows 缩放和窗口位置。
  • 输入无法启动:重新检查所选输入方式和目标窗口的权限级别。