可复用自动化如何工作
编程代理帮助开发和验证程序;保存后的 Python 程序负责实际自动化。开发阶段使用模型,日常执行运行脚本,因此重复的本地运行无需消耗模型 Token。
开发阶段
你描述目标应用、起始状态、步骤和可见的成功条件。编程代理通过 MCP 读取工作流技能、观察目标、提交 Python 任务文件并检查结果;通过本地文件访问检查已安装 API、保存代码、分析日志和截图。
代理不断验证和修改,直到脚本在测试条件下正确运行。任务逻辑、配置和识别素材保存在应用项目中。全程使用 ok-script 截图和交互,不使用 Computer Use 工具。
日常执行阶段
保存的 Python 任务执行以下循环:
- 观察: 截取目标窗口或设备画面。
- 识别: 用几何、颜色、模板匹配或 OCR 判断当前状态。
- 操作: 通过配置的 ok-script 输入后端发送操作。
- 验证: 检查结果,达到成功条件后结束。
循环由代码控制。本地 OCR 或图像识别模型无需对话式大模型;只有主动为脚本添加大模型调用时,才会产生对应的推理成本。
为任务选择识别方式
| 方法 | 适用场景 |
|---|---|
| 几何和颜色 | 规则控件、高亮状态、进度条 |
| 模板匹配 | 稳定的按钮和图标 |
| OCR | 需要根据文字内容进行判断 |
| 目标检测 | 外观变化较大,固定模板不足以识别的对象 |
让代理从最简单可靠的方法开始,并通过真实截图验证。分辨率、缩放、动画和界面更新都可能影响模板与几何识别。一次成功只代表测试过的条件,不保证后续所有版本都能运行。
让重复运行可靠
可复用任务应恢复并验证起始状态,使用有上限的等待,记录失败并断言实际结果。重复运行应保持期望结果,例如“启用选项”任务不能在第二次运行时把选项关闭。
后台输入同样需要实测。让代理在 Windows 上优先使用 PostMessage,并验证窗口未聚焦或被遮挡时的实际效果。截图成功不代表输入有效,被遮挡可用也不代表最小化可用。
第一个任务
选择打开设置并启用一个选项这样的小流程。完成 MCP 快速开始,再复制任务开发提示词。保存生成的脚本,脱离代理运行。界面变化后重新连接代理,修复已有任务。