agent-desktop:Vercel 开源无障碍树驱动的桌面 computer use
Vercel Labs 开源 CLI:AI Agent 经无障碍树读写桌面应用,元素带 ref 可直接操作,无截图无像素匹配,三平台,Apache-2.0。
项目资料
GitHub Ecosystem- 许可证
- Apache-2.0
- 主语言
- Rust
- 星标
- 13,752
- 核查时间
- 2026-11-04
以上快照资料以核查当日为准,可能随版本或运营策略变化。
AI Agent 操作桌面应用的常见做法是截图加像素匹配——慢、脆、还看不清字。公众号「多次霸榜 GitHub」2026-11-04 推荐的 agent-desktop 是 Vercel Labs 的另一条路:读操作系统的无障碍树(accessibility tree),把桌面应用的结构返回成 JSON,每个可交互元素都带一个 ref,Agent 点 ref、再读一遍验证结果、循环往复。截至 2026-11-04 有 13,752 星(Apache-2.0),macOS、Windows、Linux 三端,npm/Homebrew 一条命令装,同时提供 CLI 和 C 库;引擎里没有模型——操作循环由你自己的 Agent 驱动。站内的 agent-browser-control 拆过浏览器侧的同一课题,agent-desktop 把它推到了整个桌面。
核心功能
- 无障碍树快照:
snapshot返回整棵可交互元素树,每个元素带稳定 ref(如@s8f3k2p9:e8),比截图省 token 也比坐标可靠。 - ref 级操作:
click、输入等命令直接作用在 ref 上,操作后重读快照验证——读、动、验的循环长在你的 Agent 里。 - 引擎无模型:agent-desktop 不含任何 AI,只做看与动;接 Claude Code、Codex 等任意 Agent,判定全部留给模型。
- 权限引导:
permissions --guide带你走完 macOS 辅助功能授权,status一眼看清平台支持面。 - CLI 加 C 库双形态:脚本走 CLI(JSON envelope 输出),集成走 C 库;npm、Bun、Yarn、pnpm、Homebrew 均可安装。
典型使用场景
- 桌面应用自动化:让 Agent 在 Finder、Excel、自研客户端里完成批量整理、数据录入这类重复操作。
- GUI 应用的端到端测试:无障碍树即测试断言源,比截图比对稳定得多。
- 无障碍自查:你的应用在无障碍树里长什么样,Agent 读到的就是屏幕阅读器读到的。
- 跨应用工作流:一条指令跨 Finder、终端、浏览器多个应用接力,ref 让「刚才那个窗口」在几分钟后仍能被准确点名。
快速上手
npm install -g agent-desktop
agent-desktop status # 平台、权限、支持面
agent-desktop snapshot --app Finder -i # 交互元素快照,每个带 ref
agent-desktop click @s8f3k2p9:e8 # 对 ref 操作
agent-desktop snapshot --app Finder -i # 再读一次验证
macOS 需授予辅助功能权限,permissions --guide 分步引导;Linux 与 Windows 无此步骤。
小结
agent-desktop 适合要让 Agent 长期、稳定操作桌面 GUI 的开发者;游戏画面、自绘 UI 这类无障碍树覆盖不到的界面仍是截图方案的领地——它不替代 computer use 的视觉路线,而是补上「有树可读」的大多数场景。要点与边界:Apache-2.0、Rust 实现、三平台;隐私上 README 明说快照与剪贴板可能含敏感内容,别进公共日志;无障碍树的元素 ref 在应用重绘后会变,Agent 要靠重读而不是记忆。它和浏览器侧的 agent-browser-control 合起来,正好是「Agent 操作图形界面」的完整拼图:网页走浏览器自动化,桌面走无障碍树。