Terminator:把 Windows 桌面自动化写成确定性代码
playwright for windows computer use
秒懂
- 它是什么?
- 这个 Rust 项目用 MCP 协议把 Windows 桌面控制权交给 Claude、Cursor 等助手,主打「先录制、再确定性回放、失败才调 AI」。本文只依据仓库现有材料,梳理它的定位、机制、安装方式与边界。
- 适合谁用?
- 如果你的自动化目标锁定在 Windows 桌面应用和浏览器,并且愿意接受「先录制工作流、再确定性执行」这套思路,Terminator 值得装一次做小范围验证:用 claude mcp add terminator "npx -y terminator-mcp-agent@latest" 接入,或把 mcpServers 配置写进客户端的 MCP 配置文件,然后拿一个重复性最高的内部流程去录一遍,看回放是否稳定。反过来,如果你的环境里有 macOS 或 Linux 机器,或者你需要的是跨平台的无头浏览器自动化,这个项目现在就不适合你,README 的功能表已经写明 macOS 和 Linux 全部为 No。
- 能商用吗?
- 可以。MIT 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
- 还在维护吗?
- 在维护。仓库最近一次提交在 106 天前。
- 用什么语言写的?
- 主要是 Rust(依据 GitHub 的语言统计)。
以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。
开源项目深度解析
它要解决的是 Windows 桌面上没有 Playwright 这件事
Web 自动化有 Playwright 这类工具,选择器稳定、执行可重复。桌面端没有对应物:你要么用坐标点击,要么依赖各家 RPA 产品自带的录制器,脚本一旦遇到窗口位置变化或弹窗就断。Terminator 把自己定位成「playwright for windows computer use」,README 的第一句描述就是这个。它的目标用户写得很清楚:需要让 AI 助手操作桌面应用的开发者,以及想把重复流程交给机器执行的团队。仓库给出的用例包括在 GCP 上开新实例并用 CLI 连上去、去 Vercel 查日志里最常见的错误、根据最近的提交测试应用新功能。这些场景的共同点是:操作发生在真实的 Windows 桌面上,涉及浏览器登录态或本地客户端,不是纯粹调 API 能解决的。
录制成确定性代码,AI 只在恢复时出场
README 里最关键的一句设计说明是:项目通过把工作流预训练成确定性代码,只在需要恢复时才调用 AI。这解释了它为什么强调速度和成功率。执行阶段跑的是录制下来的固定步骤,不每一步都去问模型,所以耗时接近 CPU 执行速度,而不是模型推理速度。定位元素的方式是混合的:README 的卖点里写了 pixels、DOM 和 Accessibility tree 三个维度一起用,功能表里对应的能力叫 Element Locators,支持按 name、role、window 等条件查找控件。工作流录制(Workflow Recording)是独立的一项功能,README 提到 8 月的版本更新里加入了「OS 事件录制转 YAML 生成」以及「在浏览器里跑 JS」,也就是说录制产物是 YAML 工作流,NodeJS SDK 也在这版里出现。MCP 客户端连接后,助手拿到的是一组操作桌面和窗口的工具,而不是一个黑盒的「帮我点一下」。
接入方式:一条命令或一段 JSON
对 Claude Code,README 给的是单行命令:claude mcp add terminator "npx -y terminator-mcp-agent@latest"。其他支持 MCP 的客户端(Cursor、VS Code、Windsurf 等)需要往 MCP 配置文件里加一段 JSON,服务名是 terminator-mcp-agent,command 为 npx,args 为 ["-y", "terminator-mcp-agent@latest"],env 里可以设 LOG_LEVEL 为 info、RUST_BACKTRACE 为 1。README 还提供了 Cursor、VS Code、VS Code Insiders 的一键安装徽章,指向 terminator-mcp-agent 的 README 里的 quick-install 小节。库层面有两个入口:Python 包名是 terminator,pip install terminator,功能表标注为 Partial;TypeScript 包是 @mediar-ai/terminator,npm i @mediar-ai/terminator,标注为 Yes。此外 crates.io 上有 terminator-rs 和 terminator-workflow-recorder 两个 crate,说明 Rust 侧是直接可依赖的。这些命令都来自仓库材料,我没有实际执行过,配置前请以 terminator-mcp-agent 的 README 为准。
只支持 Windows,而且浏览器控制要装扩展
README 用加粗写明「currently supports Windows only」,功能表里 macOS 和 Linux 两列从核心自动化到高级功能全是 No。这是硬边界,不是「尚未测试」。第二个约束在浏览器自动化那一行:Notes 写着 Chrome extension enables browser control,也就是说浏览器控制不是纯进程内能力,需要装一个 Chrome 扩展,这会影响部署方式和权限审批。第三个约束是 Python 库只标了 Partial,如果你打算用 Python 做主力集成,得先确认哪些能力没覆盖。另外,那个「100x faster than ChatGPT Agents、Claude、Perplexity Comet、BrowserBase、BrowserUse」和「>95% success rate」是项目方的宣传表述,材料里没有基准测试的细节、测试集或复现步骤,只能当作方向性说明,不能当作选型依据。
和 BrowserUse 这类方案差在哪
README 自己把 BrowserUse、BrowserBase 列为对比对象。差别不在支持多少站点,而在执行模型:这类浏览器 agent 通常每一步都让模型看页面状态再决定下一个动作,慢,而且同一任务两次跑的结果可能不同。Terminator 把已经跑通的流程固化成 YAML 工作流,执行时不调用模型,模型只在步骤失败、需要恢复时介入。代价是前期必须有人录一遍流程,流程变了要重录或改 YAML。所以选择标准很直接:任务固定且重复,Terminator 的模型更划算;任务一次性、页面结构天天变,逐步骤推理的 agent 反而更省事。如果你的目标只是网页抓取或表单填写,Playwright 本身仍然更轻,不需要引入桌面控制这一层。
MIT 许可与升级节奏
仓库采用 MIT 许可,README 里也把「MIT-licensed, fork it, ship it, no lock-in」当作卖点。这意味着你可以修改、分发、商用,具体义务以 LICENSE 文件为准,这里不做法律判断。升级方面,材料显示版本号已经走到 v0.24.x,最近三个版本是 v0.24.32(2026-04-05)、v0.24.31(2026-04-02)、v0.24.30(2026-03-17),最近一次 push 是 2026-06-02,仓库未归档。0.x 版本号加上这个发布频率,意味着接口和行为仍可能变动,把 npx 拉取 @latest 的接入方式在每次升级后都可能拿到不一样的行为。如果要把 Terminator 放进生产流程,建议在 MCP 配置里固定版本号而不是用 @latest,并且把录制出来的 YAML 工作流纳入版本控制,这样升级出问题时能对照回滚。README 里提到的 Mediar IDE 和托管服务是同一团队的另一条产品线,与 MIT 许可的开源部分不是一回事。
编辑结论
如果你的自动化目标锁定在 Windows 桌面应用和浏览器,并且愿意接受「先录制工作流、再确定性执行」这套思路,Terminator 值得装一次做小范围验证:用 claude mcp add terminator "npx -y terminator-mcp-agent@latest" 接入,或把 mcpServers 配置写进客户端的 MCP 配置文件,然后拿一个重复性最高的内部流程去录一遍,看回放是否稳定。反过来,如果你的环境里有 macOS 或 Linux 机器,或者你需要的是跨平台的无头浏览器自动化,这个项目现在就不适合你,README 的功能表已经写明 macOS 和 Linux 全部为 No。上手前先确认三件事:你的客户端是否支持 MCP、你是否有权限在目标机器上安装浏览器扩展(浏览器自动化依赖 Chrome 扩展)、以及你能否接受把内部流程录制成工作流文件后由 AI 在需要时介入恢复。README 里那些「100x」「95% 成功率」的说法来自项目方自述,材料中没有给出测量方法或数据集,不要把它当成可复现的指标。
社区笔记