Vercel Labs 推出 agent-desktop:把 Computer Use 从浏览器扩到整台电脑
Vercel Labs 开源 agent-desktop:通过系统无障碍树操控 macOS / Windows / Linux 桌面应用,任意 coding agent 可在后台并行操作,默认不靠截图像素猜坐标。
浏览器里的 Computer Use 已经不够用了。Vercel Labs 把同一套思路搬到了整台电脑上:agent-desktop 开源上线,任意 coding agent 都能读写、操作 macOS、Windows 和 Linux 上的原生桌面应用,而且默认在后台跑,不抢你的鼠标焦点。
它和自家的 agent-browser 是一对兄弟。agent-browser 管网页,agent-desktop 管桌面。两者都走「结构化 UI」路线,而不是截一张屏让模型猜像素坐标——后者贵、慢,界面稍微抖一下就容易点歪。agent-desktop 直接读操作系统的无障碍树:macOS 用 Accessibility API,Windows 用 UI Automation,Linux 用 AT-SPI。一次 snapshot 返回带 ref 的 JSON,agent 点某个 @snapshot:eN,再 snapshot 核对结果,循环留在调用方自己手里。
按官方介绍,这不是又一个内嵌大模型的「桌面 Agent」。它本身没有模型、没有 GUI、没有交互式提示,命令打完就吐一条 JSON 信封然后退出。真正做观察—行动—校验的是你挂上的 Claude Code、Cursor 或任意脚本。演示里几个 agent 可以同时各干各的,各自一条光标;默认还是 headless,动作走无障碍接口,不必物理挪指针,需要真鼠标键盘时再开 --headed。
安装也很直白:npm install -g agent-desktop,现在仓库挂在 vercel-labs 下,文档站在 agent-browser.dev/desktop。CLI 之外还带 C 库,方便进程内调用。命令表很长——观察、点击输入、窗口管理、剪贴板、通知,一共六十来个名字——但对 agent 来说,真正关键的是那条稳定的 ref 契约:UI 变了就返回 STALE_REF,让你重新 snapshot,而不是悄悄点到隔壁行。
这对开发者的意义很实在。过去「让 AI 帮你点一下系统设置 / Finder / Slack / 本机 GUI 工具」要么靠脆弱的截图方案,要么各写一套平台脚本;现在有一个跨三系统、JSON 输出、可重试的统一入口。和 Anthropic、OpenAI 那类把 Computer Use 绑在自家模型上的产品不同,agent-desktop 刻意做成「给任意 agent 用的工具」,模型可以换,桌面操控层不用重写。
当然,它也受无障碍树本身的限制:应用如果不暴露可访问性节点,它就看不见。隐私上,snapshot、截图和剪贴板读出来的都可能是敏感桌面内容,文档里也反复提醒别往公网日志里扔。但方向已经清楚——Computer Use 正在从「会点浏览器」长成「会开整台电脑」,而 Vercel Labs 这次给的是一条对开发者友好、可复现、不绑死某一个模型的路。