Terminator Windows 桌面自动化
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/control-windows-desktop-apps-through-mcp-with-terminator。
技能介绍
它要解决的问题
多数 Agent 技能建立在 DOM 之上:找到节点、读取文本、填写表单。一旦目标变成 Windows 桌面应用——日历、工单系统、ERP 客户端这类没有语义化标记的老程序——DOM 就完全缺席。Agent 只剩两条路:截图后靠视觉猜坐标,或者直接放弃。坐标脆弱,换分辨率或缩放比例就失效,而且它根本说不清自己「看到」的是哪个控件。
Terminator 的思路是把三种上下文同时交给 Agent:像素、DOM,以及操作系统层面的可访问性树。
它是如何工作的
核心能力
- 像素、DOM、可访问性三类上下文并行使用
- 通过可访问性洞察工具读取 UI 树,节点带有
name、role、control type、automation ID等字段
关键步骤
- 打开需要检查的应用程序
- 启动可访问性洞察工具
- 通过悬停或键盘导航遍历 UI 树,逐个确认控件的名称、角色、控件类型与自动化 ID
- 在拿到真实控件语义之后,再执行自动化动作
8 月 25 日的大版本引入了几项变化:NodeJS SDK 直接运行在 YAML 工作流中、在浏览器里执行 JS、操作系统事件录制后在 MCP 中生成 YAML。
适用边界与注意点
terminator.py 这个 Python 部分是可选的,完整的本机自动化依赖 Windows 桌面环境。浏览器侧与桌面侧的可靠性并不在同一等级,DOM 可读的网页仍然应该优先走 DOM 路径。
录制生成的 YAML 值得人工过一遍再入库——事件序列里可能混入敏感输入。运行环境本身需要一个支持 MCP 的客户端(如 Claude Code、Cursor 或 VS Code)和 Node.js/npx。
使用场景
- 在 Windows 桌面客户端中需要通过悬停获取控件名称与自动化 ID 来触发操作
- 处理没有 DOM 结构的传统桌面应用时需要结合像素截图与可访问性树进行定位
- 录制操作系统层面的事件序列并将其转换为 MCP 中可复用的 YAML 工作流
- 在浏览器环境中执行 JavaScript 以辅助完成复杂的表单交互流程
适合人员
- 需要将传统 Windows 桌面软件接入 AI Agent 的开发者,诉求是获得准确的控件语义
- 负责维护无网页后台业务系统的运维工程师,诉求是自动化重复性点击与录入操作
- 构建内部工具平台的技术团队成员,诉求是将桌面自动化能力集成到现有 Agent 工作流中
- 编写端到端 UI 测试用例的测试工程师,诉求是利用像素与 DOM 上下文定位非标准控件