面向整个操作系统的 AI-Native 桌面自动化框架,通过原生无障碍 API 驱动任意桌面应用,定位为"Playwright for your entire desktop"。
Terminator 是由 Mediar AI 开发的操作系统级桌面自动化框架,通过 Windows UI Automation 等原生无障碍 API 捕获无障碍树来定位与操控 UI 元素,摒弃了传统像素匹配与 OCR 方案。项目支持像素、DOM、无障碍树三维度定位,提供包含 role:、name:、process: 等前缀及逻辑/位置组合的智能选择器系统。核心采用 Rust 实现以保证性能,通过 NAPI-RS 与 PyO3 分别提供 TypeScript 和 Python 绑定。
在 AI 集成方面,Terminator 内置 MCP 服务器,将 35+ 桌面自动化工具暴露给 Claude Code、Cursor、VS Code、Windsurf 等 AI 编码助手,实现 AI 对桌面应用的直接操控。工作流引擎采用"确定性执行 + AI 恢复"策略——正常路径为纯代码执行,仅在异常时调用 Gemini 视觉进行恢复,兼顾速度与鲁棒性。此外提供工作流录制器、基于 Zod 的类型安全工作流 SDK、Chrome 扩展(DOM 叠加与会话复用)以及可插拔 KV 存储(Redis/文件系统/内存)。
当前完整支持仅限 Windows 平台(v0.24.32,共 279 个 release),macOS 与 Linux 核心层已存在但上层包尚未发布。项目以 MIT 开源,定位为面向开发者的传统 RPA 替代方案。
安装方式#
MCP Agent(推荐起步方式)
claude mcp add terminator "npx -y terminator-mcp-agent@latest"
TypeScript SDK
npm install @mediar-ai/terminator
Python SDK
pip install terminator-py
Rust SDK
cargo add terminator-rs
以上安装方式当前均仅发布 Windows 二进制,macOS/Linux 待确认。
核心 API 示例#
import { Desktop } from '@mediar-ai/terminator';
const desktop = new Desktop();
await desktop.openApplication('notepad');
const editor = await desktop.locator('role:Edit').first(5000);
await editor.typeText('Hello from Terminator!');
const saveBtn = await desktop.locator('role:Button && name:Save').first(5000);
await saveBtn.click();
关键约束:.first() 和 .all() 必须传入超时参数(毫秒);始终将选择器限定到进程(如 process:chrome >> role:Button);禁止使用 #id 选择器;某些控件需使用 setSelected(true) 或 invoke() 而非 click()。
架构概览#
`` terminator/ (Rust workspace) ├── crates/ │ ├── terminator # 核心库 │ ├── terminator-cli # CLI 工具 │ ├── terminator-mcp-agent # MCP 服务器 │ ├── terminator-computer-use # Gemini 自主 agent │ └── terminator-workflow-recorder # 工作流录制器 ├── packages/ │ ├── terminator-nodejs # NAPI-RS 绑定 │ ├── terminator-python # PyO3 绑定 │ ├── workflow # TypeScript 工作流 SDK │ └── kv # 可插拔 KV 存储 └── docs/
**平台适配**:Windows(UIA COM API)、macOS(Accessibility API)、Linux(AT-SPI2)。
## 待确认信息
- macOS / Linux 公开支持时间无明确发布日期
- 官方宣传 >95% 成功率,但未找到独立基准测试报告
- README 中提及 $2.8M 融资,未交叉验证具体来源与时间
- Mediar IDE(2025-01-09 发布)未进一步验证