Vercel Labs 开源 agent-desktop,让 AI 智能体通过无障碍树操作桌面应用
Vercel Labs 开源 agent-desktop 1.0.2,这是一个 Apache-2.0 协议的 Rust CLI 和 C 库,让能调用 shell 的编码智能体在 macOS、Windows 和 Linux 上通过操作系统无障碍树读取并操作原生应用,而不依赖截图和视觉模型。
MarkTechPost· Michal Sutter·2026-10-31 18:10· 2 小时前AI 评分71
Vercel Labs 开源 agent-desktop,用于智能体计算机操作
AI 导读
Vercel Labs 开源 agent-desktop 1.0.2,一个 Apache-2.0 协议的 Rust CLI 和 C 库,让能调用 shell 的编码智能体在 macOS、Windows 和 Linux 上通过操作系统无障碍树读取并操作原生应用,而非依赖截图和视觉模型。
正文 · 原文
Vercel Labs 发布了 agent-desktop,这是一个用于在 macOS、Windows 和 Linux 上实现 AI 智能体计算机操作的开源 CLI。agent-desktop 通过操作系统的无障碍树读取每个应用,而不是通过截图。智能体会获得一个 JSON 快照,其中包含每个可操作元素的引用。 1.0.2 版本于 2026 年 10 月 30 日以 Apache-2.0 协议发布。对开发者而言,任何能调用 shell 的编码智能体现在无需视觉模型即可驱动原生应用。
TL;DR
- 库:Rust CLI 和 C 库。 60 个命令名,56 个可操作。
- 运行于: macOS 13+、Windows 10 1809+ 或 Server 2019+、Ubuntu 24.04+,支持 x64 和 ARM64。纯 CPU,无需 GPU。
- 性能:确定性的、可安全重试的引用操作。尚无独立的计算机使用基准测试。
- 最佳表现:通过骨架遍历,在密集的 Electron 应用上减少 78% 到 96% 的 token(自报数据)。
agent-desktop 是什么?
agent-desktop 是 Vercel Labs 推出的 Rust CLI 和 C 库,用于读取和操作桌面应用。它是智能体调用的工具,而不是智能体本身。它不嵌入 LLM,也没有 GUI。每条命令打印一个 JSON 信封后退出。观察、操作和验证循环保留在你的智能体中。
agent-desktop 如何工作?
每条命令都流经一条固定链路。CLI 或 C 库调用 agent-desktop-core,后者仅通过 PlatformAdapter trait 访问操作系统。然后由一个平台 crate 与原生无障碍 API 通信:
- macOS:AX API
- Windows:UI Automation
- Linux:AT-SPI
核心从不导入平台 crate。每个二进制文件都编译为只驱动一个操作系统。
快照与引用
快照会分配限定引用,例如 @s8f3k2p9:e8。引用中的快照 ID 使其具有自描述性。裸 @e8 会被拒绝并返回 INVALID_ARGS。当 UI 变化时,操作会返回 STALE_REF 或 AMBIGUOUS_TARGET。智能体随后获取新快照。
每个错误都带有一个 disposition。智能体应仅在它显示 safe 时重试。引用解析是严格且失败关闭的,而不是猜测。
骨架与下钻
密集应用可能暴露数千个无障碍节点。--skeleton 快照只读取 3 层深度。被截断的容器会报告一个 children_count 并获得一个下钻引用。snapshot --root 随后将一个区域读入同一快照。
构建者报告称,与 Slack、VS Code 和 Notion 中的完整树转储相比,token 减少了 78% 到 96%。在 Apple Maps 中,他报告每次查看从 3,811 个 token 降至 273 个。一个模拟的 52 步任务从 198k 降至 31k token。这些是自报数据,并非独立基准测试。
默认无头
引用操作通过无障碍 API 进行,不会移动指针或获取焦点。这正是智能体能在你继续使用机器时工作的原因。全局 --headed 标志允许在需要时进行物理输入。每个引用操作还会自动等待最多 5,000 毫秒,以等待一个可见、启用且稳定的目标。
它与基于像素的计算机使用相比如何?
模型侧的计算机使用工具基于截图和像素坐标工作。Anthropic 的文档称每张截图大约消耗 1,000 到 1,800 个输入 token。其工具集定义每次请求还会增加约 4,500 个输入 token。OpenAI 的工具同样返回点击、输入和滚动操作,由你的代码执行。
agent-desktop 与模型无关,返回的是结构而非图像。微软的 UFO² 也使用 UI Automation,但以完整的 Windows 智能体形式发布。
| 特性 | agent-desktop(Vercel Labs) | Claude computer use | OpenAI computer use | Microsoft UFO² |
|---|---|---|---|---|
| 类型 | CLI + C 库工具 | API 客户端工具集 | API 工具 | 完整智能体框架 |
| 如何感知 UI | 操作系统无障碍树 | 截图 | 截图或代码(PyAutoGUI、Playwright) | UIA + 视觉混合 |
| 内置模型 | 无,任意智能体 | Claude 模型 | OpenAI 模型 | 可配置 LLM |
| 平台 | macOS、Windows、Linux | 你托管的任意环境(参考:Linux Docker) | 你托管的浏览器或桌面 | Windows(UFO²) |
| 移动光标 | 否,默认无头 | 是,像素点击 | 是,像素点击 | GUI + API 操作 |
| 每次查看的 token 成本 | 273(Apple Maps 骨架,自报) | 每张截图约 1,000 到 1,800 | 未披露 | 未披露 |
| 许可证 | Apache-2.0 | 专有 API | 专有 API | MIT |
| 价格 | 免费 | 标准 token 定价 | 标准 token 定价 | 免费(另加 LLM 成本) |
如何安装和使用 agent-desktop?
使用 npm install -g agent-desktop 安装。Bun、Yarn 和 pnpm 也可以。该包捆绑了 x64 和 ARM64 的原生二进制文件。
- macOS:使用
agent-desktop permissions --guide授予辅助功能权限。 - Windows:对于与终端完整性级别相同的应用,无需授权。
- Linux:需要带有
at-spi2-core的图形会话。
智能体通过 agent-desktop skills get desktop 从捆绑文档中学习该工具。skills.sh 上也列出了技能。C 库允许 Python、Swift、Go、Ruby 和 Node 宿主在进程内调用它。对于 Electron 网页内容,launch --cdp 会为 agent-browser 打开 DevTools 端口。
要点
- agent-desktop 通过操作系统无障碍树为任意智能体提供计算机使用能力。
- 它可在 macOS、Windows 和 Linux 上运行,支持 x64 和 ARM64,采用 Apache-2.0 许可。
- 无头引用操作从不移动指针或抢占焦点。
- 骨架快照将 token 减少 78% 到 96%(自报)。
- 没有无障碍树的应用仍无法触及。
查看 GitHub 仓库、文档和 npm 包。另外,欢迎在 Twitter 上关注我们,别忘了加入我们的 150k+ ML SubReddit 并订阅我们的新闻通讯。等等!你在 Telegram 上吗?现在你也可以在 Telegram 上加入我们。
需要与我们合作推广你的 GitHub 仓库、Hugging Face 页面、产品发布或网络研讨会等?联系我们
文章 Vercel Labs 开源用于智能体计算机使用的 agent-desktop 首次出现在 MarkTechPost。
来源:MarkTechPost · marktechpost.com
来源:RadarAI · aihot.news