夜雨聆风学习资料网

ARTICLE · 1343053

给AI装双会操作电脑的手,桌面软件它自己开自己填

给AI装双会操作电脑的手,桌面软件它自己开自己填

上周让 AI 帮我写方案已经很溜了,可一说「顺便把桌面那个软件里的数据导出来」,它就傻眼了。这个周末我试了 agent-desktop:让 AI 直接读懂你在用的任何软件界面,不用截图像素。一条命令装好,怎么用、坑在哪,一次讲清。

它是什么

agent-desktop 是 Vercel 实验室开源的命令行工具,专门让 AI「看见并操作」你电脑上的桌面软件:读界面、点按钮、勾选项、填表单、管剪贴板,都能干。它和「浏览器自动化」不是一回事——我之前写过的 Playwright 只能玩网页,agent-desktop 操作的是桌面上的任意软件:微信、WPS、设计软件、内部系统都行。

原理上它不截图、不用像素匹配,而是读操作系统底层的「无障碍接口」(Windows 是 UI Automation、macOS 是 AX API),把整个界面变成一棵带编号的 JSON 树,AI 按编号精准操作。它里面没有模型,看和做的循环归你的 AI,它只负责「看」和「动手」;依赖需求也极简——装好后 OS 权限加上一个 Node 环境就能跑。一句话定义:给 AI 双手脚,桌面软件让它自己开、自己填。适合想让 AI 替自己跑本地软件、又不想碰代码的上班族,也适合要给 AI 接「电脑手脚」的开发者与测试。开源、Apache-2.0,仓库 2 万多星,本周涨了 1.2 万,正在 GitHub 周榜前列。本文基于 v1.2.0(2026-11-05 发布)实测,Windows 10 1809+ / macOS 13+ / Linux 原生支持,本机为 Windows x64。

安装教学

前置条件(两条):① Node.js 18+(node --version 验证,本机 Node v22.22.2);② Windows 10 1809 及以上。一个依赖都不用另外装,npm 包自带三平台的原生二进制。装它一条命令:

npm install -g agent-desktop

装完怎么知道成了?两条验证命令:

agent-desktop version

agent-desktop status

本机实测:version 返回 os=windows、架构 x86_64、版本 1.2.0;status 显示无障碍权限 granted,支持的界面面(窗口、焦点、菜单、任务栏、系统托盘等)12 种。看到这些就说明它能干活了。顺带一个真实提示:个别 npm 版本默认不执行安装脚本,命令会走 Node 启动器,每次调用多约 125ms 开销,功能不受影响;想彻底绕开可加 --allow-scripts=agent-desktop 重装——本机实测加不加都能跑,这只是提示差异。

使用教学(普通上班族版)

下面三招不用写代码,复制命令就行。

例子一:让 AI 先「看」你当前窗口。

agent-desktop snapshot --surface focused -i --compact

输入:无,它自动读你当前活动窗口。输出:一串 JSON 界面树,可操作的按钮、输入框全列出来,每个带一个 @ref 编号。实测在浏览器窗口上读到 173 个元素,连「最小化」「最大化」这种按钮的中文名都清清楚楚。这串 JSON 分三层看:ok 表示这次读取成没成、ref_count 是界面元素总数、tree 就是整棵界面树,AI 就是靠它决定下一步点哪里。

例子二:看看哪些软件 AI 够得着。

agent-desktop list-apps

agent-desktop list-windows

输出是你电脑上正在跑的软件和窗口,带 PID、标题、是否可访问。实测能列出微信、TIM、WPS、浏览器、IDEA 一屏窗口,一眼知道 AI 的手能伸多长。真正开始自动化前,先跑这两条看看目标软件在不在它的覆盖范围内——这一步能省下后面一堆「找不到窗口」的报错。

例子三:最安全的「剪贴板接力」。

echo "这段话交给AI" | agent-desktop clipboard-set --stdin

agent-desktop clipboard-get

agent-desktop clipboard-clear

实测含中文的文本写入再读回一字不差,用完清空不留痕。不想让 AI 真碰你软件、只想传文字时,这是零风险的入口。顺带一提,文字走 --stdin 传进去、不经过命令行参数,粘贴密码、Token 这类敏感内容时也能少一层暴露。

进阶用法(AI 从业者版)

玩法一:MCP 接进 Claude Code,一条命令把桌面能力灌给 AI:

claude mcp add agent-desktop -- agent-desktop mcp

接好后 AI 里会多出 60 多个 desktop_ 开头的工具:desktop_snapshot、desktop_click、desktop_type、desktop_set_value……实测 MCP 握手成功,server 信息 agent-desktop 1.2.0,67 个工具全部暴露,直接调 desktop_version 能读到机器真实版本。真要让 AI 点某个按钮,就拿快照里的 @ref 下命令:

agent-desktop click '@s3d8q8620aqq1j:e1'

点完让 AI 再快照一次,回读当前界面确认点对了——「看一眼、动一下、再看一眼」这个循环,就是桌面自动化的标准姿势。

玩法二:把「说明书」喂给 AI。

agent-desktop skills get desktop

agent-desktop skills get platform

工具内置写给 AI 的指南:前者教它完成「观察→点击→回读验证」的循环,后者是 Windows 专属注意点。把内容收进 AGENTS.md,AI 头一次用就懂规矩,不用反复调教。

玩法三:无人值守的桌面巡检。把 snapshot、find、batch 组合进脚本或 CI:每天定时开软件、抓界面、比对版本号和关键按钮,做界面回归;配 --session 隔离会话,多任务并行不串台。

缺点与坑

① README 是 macOS 语法,Windows 第一击就翻车。官方示例 launch --app Finder 在 Windows 报 INVALID_ARGS,得用位置参数 launch notepad——平台差异得自己踩,先跑 <命令> --help 对一眼。② Windows 11 的记事本、计算器(UWP 应用)能启动但「看不见」。实测 launch 成功,可 list-windows 里没有它们的窗口,快照抓不到;演示请挑经典 Win32 应用或浏览器类软件。③ Windows 上 AI 想「敲键盘」默认被拒。type 是模拟真实键盘,headless 下直接 POLICY_DENIED,要加 --headed 才放行(会真抢焦点、动鼠标);后台场景用 set-value 或剪贴板。④ PowerShell 里 @ref 必须加单引号:'@s8f3k2p9:e1'。裸 @ 开头会被 PowerShell 当成展开符删除,然后报 INVALID_ARGS,特别迷惑。⑤ ref 是一次性的。界面一变旧编号就 STALE_REF,得重新快照——这是防你点错地方的安全设计,不是 bug。⑥ v1.2.0 迭代快,命令参数可能随版本变,教程请认准本文版本,升级前跑 <命令> --help。

适用判断:想「让它操作桌面软件、又不放心它乱动」,用 headless 只读加剪贴板最稳;真要它动手填表单,请盯着并加 --headed。

卸载方法

一行命令退场:

npm uninstall -g agent-desktop

想彻底,再把状态目录删掉:Windows 是 C:\Users\你的用户名\.agent-desktop。

评分与预告

看 AI 自己点软件真的很上头,一次装好,天天重复的桌面操作都能交给它。工作效率 9/10;趣味性 9/10。下篇给 AI 装个「表格管家」:Excel 清洗汇总一句话搞定,拖了几天的承诺这次补上。

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料