21,183
Stars
0
Forks
0
Watchers
0
Open Issues
未知
许可证
Rust
语言
创建时间
最近更新
项目能做什么
面向 AI agent 的桌面控制 CLI 工具。无需截图,通过系统无障碍树让智能体跨平台查看并操作桌面应用。
来源:AI 基于仓库事实生成
· 内容以仓库实际 README 为准
使用说明 查看原始 README 原仓库文档
项目简介
agent-desktop 是专为 AI Agent 打造的桌面端 Computer Use 工具(提供 CLI 与 C 语言库)。它无需截图比对或像素匹配,而是直接读取 macOS、Windows、Linux 操作系统的无障碍树(Accessibility Tree),并将 UI 元素以结构化的 JSON 格式返回给 Agent。
每个可交互元素都会分配一个专属引用(ref)。Agent 通过点击或输入指定的 ref 完成交互,然后重新读取 UI 校验结果。该项目本身不内置任何 AI 模型,循环驱动逻辑完全由开发者自己的 Agent 实现。
安全提示:快照、剪贴板读取、截图及调试输出可能包含桌面隐私内容,请避免上传至公开日志。
核心功能
- 无需视觉模型的系统交互:直接基于操作系统原生无障碍 API(macOS AX API、Windows UI Automation、Linux AT-SPI)工作。
- 基于 Ref 的元素定位:快照自动为可操作控件生成带标识的
ref_id,Agent 可直接指定目标进行click或type。 - 默认无头(Headless)操作:调用无障碍 API 触发交互,默认不移动物理鼠标指针,也不强行夺取窗口焦点;可通过
--headed启用物理输入模拟。 - 层级分析与下钻:支持骨架快照(
--skeleton)和局部树过滤(--root),应对复杂/密集型应用界面。 - 内置 Agent 指南:自带适配当前版本的 Agent 运行与平台差异指引(通过
skills get命令查看)。
适合谁用
- 正在为 AI Agent 增加桌面操作系统控制(Computer Use)能力的开发者。
- 希望摆脱高耗能、易出错的屏幕截图/视觉多模态大模型交互方案,追求轻量、确定性桌面自动化的开发者。
安装步骤
1. 通过包管理器安装
# 全局安装(支持 npm / Bun / Yarn / pnpm)
npm install -g agent-desktop
# macOS / Linux 也支持 Homebrew 安装
brew install agent-desktop
注:目前官方暂未提供 Scoop 安装包。
2. 检查运行环境与权限
# 查看当前平台状态、权限及支持的 Surface
agent-desktop status
# macOS 用户:按照引导完成辅助功能(Accessibility)授权
agent-desktop permissions --guide
3. 免 Node.js 环境使用
可直接从 GitHub Releases 下载对应系统的原生压缩包(x64 / ARM64),解压时须确保平台 helper 文件与主执行文件保存在同级目录下。源码编译等进阶安装方式请参考原仓库文档。
配置说明
此部分原文未说明具体配置文件(如 .env 或 config.json),工具主要通过命令行参数运行。
常用命令与关键参数说明:
# 1. 抓取交互元素快照(以 macOS Finder 为例)
agent-desktop snapshot --app Finder -i
# 2. 对快照中的 ref 执行点击操作
agent-desktop click @s8f3k2p9:e8
# 3. 再次抓取快照以验证操作结果
agent-desktop snapshot --app Finder -i
内置 Agent 规范查询:
# 获取执行循环、refs 机制、验证与重试规则
agent-desktop skills get desktop
# 获取针对当前操作系统的平台差异规则
agent-desktop skills get platform
常见问题
- 报错
INVALID_ARGS:Ref 严格从属于它所生成的快照版本,不可使用省略前缀的裸 ID(如@e8),必须带上前缀(如@s8f3k2p9:e8)。 - 报错
STALE_REF或AMBIGUOUS_TARGET:界面内容已发生更新或元素已失效,请重新执行snapshot获取最新的 ref。 - 同名多窗口导致目标不明确:当匹配到多个窗口时会报
AMBIGUOUS_TARGET,错误详情error.details中会列出可选窗口 ID,请使用--window-id <id>指定目标窗口。 - 界面内容过于庞大复杂:
- 先生成整体概览骨架:
agent-desktop snapshot --skeleton --app Slack -i --compact- 再针对特定局部节点深入解析:agent-desktop snapshot --root @s8f3k2p9:e3 -i --compact - Windows PowerShell 终端注意:在 PowerShell 下必须为 ref 加上单引号(如
'@s8f3k2p9:e8'),否则@符号会被 PowerShell 误识别为 Splatting 运算符。 - 隐藏敏感输入:
type、set-value和clipboard-set支持通过--stdin从管道接收文本,避免密码或私密参数明文暴露在进程调用列表中。
原始 README 摘录(英文原文,节选前 3000 字符)
# agent-desktop
Computer use for AI agents: see and operate desktop apps on macOS, Windows, and Linux through the OS accessibility tree.
<p>
<a href="https://vercel.com/labs#labs-products"><img alt="Vercel Labs Product" src="https://img.shields.io/badge/LABS-PRODUCT-0a0a0a.svg?style=for-the-badge&logo=Vercel&labelColor=000000" height="28"></a>
<a href="https://www.npmjs.com/package/agent-desktop"><img alt="npm version: agent-desktop" src="https://img.shields.io/npm/v/agent-desktop.svg?style=for-the-badge&labelColor=000000" height="28"></a>
<a href="https://github.com/vercel-labs/agent-desktop/blob/main/LICENSE"><img alt="License: Apache-2.0" src="https://img.shields.io/github/license/vercel-labs/agent-desktop.svg?style=for-the-badge&labelColor=000000" height="28"></a>
<a href="https://www.npmjs.com/package/agent-desktop"><img alt="npm downloads per month: agent-desktop" src="https://img.shields.io/npm/dm/agent-desktop.svg?style=for-the-badge&labelColor=000000&label=npm%20downloads" height="28"></a>
</p>
agent-desktop gives an AI agent computer use without screenshots or pixel matching. It reads the accessibility tree of a desktop app and returns it as JSON, with a ref for every element the agent can act on. The agent clicks or types on a ref, reads the UI again to check the result, and repeats. The loop lives in your agent; agent-desktop has no model inside. It ships as a CLI and a C library.
Snapshots, clipboard reads, screenshots, command output, and debug artifacts can contain private desktop content. Keep them out of public logs and uploads.
## Install
```bash
npm install -g agent-desktop
agent-desktop status # platform, permissions, supported surfaces
agent-desktop permissions --guide # macOS: walks you through the Accessibility grant
```
Bun, Yarn and pnpm can install the same package. It includes native binaries and platform helpers for x64 and ARM64.
For direct execution without a JavaScript launcher, download the matching native archive from
[GitHub Releases](https://github.com/vercel-labs/agent-desktop/releases) and keep its helper beside the executable.
On macOS and Linux, Homebrew also works: `brew install agent-desktop`. There is no official Scoop package yet.
The repository no longer maintains a custom Homebrew tap or Scoop bucket.
Release archives and building from source are covered in [Installation](https://agent-browser.dev/desktop/installation).
## Quick start
```bash
agent-desktop snapshot --app Finder -i # interactive elements, each with a ref
agent-desktop click @s8f3k2p9:e8 # act on a ref from that snapshot
agent-desktop snapshot --app Finder -i # observe again to verify
```
Each command prints one JSON envelope. A trimmed snapshot:
```json
{
"version": "2.6",
"ok": true,
"command": "snapshot",
"data": {
"app": "Finder",
"snapshot_id": "s8f3k2p9",
"ref_count": 59,
"complete": true,
"tree": {
"role": "window",
阅读完整原文
商业机会分析 AI 生成
垂直领域本地 AI 桌面自动化助手(面向非技术终端用户)
| 产品构想 | agent-desktop 本身不包含大模型且仅提供 CLI/C 库,普通用户无法直接使用。可基于其底层能力封装带有大模型循环与 GUI 的桌面客户端,专注解决特定高频跨软件任务(如本地文件整理、报表跨客户端录入、信息汇总)。 |
| 核心功能 | 内置 agent-desktop 二进制与 C 库封装、自然语言任务编排面板、LLM API 接入(BYOK 或托管)、macOS/Windows 辅助功能权限一键引导、操作前人工确认拦截。 |
| 目标用户 | 运营、财务、行政及高频率使用多款桌面软件的个人职场用户(推测)。 |
| 难度/周期 | 中(需处理不同平台无障碍权限引导及大模型不稳定导致的操作重试) · 4-8 周完成 MVP · 成本:低(底层依赖 docker=0/db=0/gpu=0,主要成本为开发时间、代码签名证书及少许官网托管费用) |
| 收费模式 | 买断制桌面软件授权或按月订阅(如自带 LLM 额度套餐),不承诺收益规模。 |
| 竞争风险 | 1. 依赖目标软件的无障碍树完整度,部分自绘 UI 软件可能无法识别(推测);2. 仓库 License 未明,商业打包分发存在协议合规风险;3. vercel-labs 官方及 agent-browser.dev 生态未来可能推出官方上层应用。 |
| 依据 | AI推测 |
桌面端 Agent 隐私脱敏代理与安全审计网关
| 产品构想 | 针对 README 中明确指出的风险(快照、剪贴板读取、截图和调试输出可能包含私人桌面内容),开发一层位于 agent-desktop 与外部大模型之间的本地安全中间件,防止敏感桌面信息泄露给云端模型或公共日志。 |
| 核心功能 | JSON 快照敏感字段自动识别与掩码(PII/密钥/特定窗口过滤)、应用白名单/黑名单隔离(限制只能操作指定 --app 或 --window-id)、完整本地操作审计日志、结合 --stdin 的密钥安全注入机制。 |
| 目标用户 | 在办公电脑或企业内网中部署桌面 AI Agent 的中小团队、合规要求较高的开发者(推测)。 |
| 难度/周期 | 中(需设计低延迟的本地文本/结构化树脱敏策略并包装 CLI 输出流) · 3-6 周 · 成本:低(纯本地 Rust/Node 工具链即可起步) |
| 收费模式 | 开源核心 + 团队版/企业版安全策略包与合规审计报告功能订阅(推测)。 |
| 竞争风险 | 1. 市场对桌面 Agent 安全网关的独立付费意愿尚不明确;2. 过度脱敏可能导致上层大模型丢失上下文而操作失败(推测)。 |
| 依据 | 尚需验证的假设 |
无 API 传统桌面软件 AI RPA 定制与工作流模板服务
| 产品构想 | 利用 agent-desktop 跨平台(macOS/Windows/Linux)且默认 headless(不抢占鼠标焦点)的特性,为仍依赖老旧桌面客户端或无开放 API 软件的企业提供轻量级 AI 自动化脚本定制与运维。 |
| 核心功能 | 针对特定客户端的骨架映射(--skeleton)与局部树解析模板、STALE_REF/AMBIGUOUS_TARGET 异常自动恢复循环、本地定时触发与错误告警通知。 |
| 目标用户 | 使用传统本地客户端(如本地进销存、桌面端客服系统、特定行业软件)的中小企业(推测)。 |
| 难度/周期 | 中低(技术难度不高,但高度依赖对客户业务流程与目标软件 UI 树的适配调试) · 2-4 周(按项目周期推进) · 成本:极低(无服务器硬件投入,人力调试成本为主) |
| 收费模式 | 项目制定制开发费 + 年度维护/模板更新服务费(推测)。 |
| 竞争风险 | 1. 交付高度非标,难以规模化复制;2. 目标桌面软件版本更新导致 UI 结构变化或 ref 获取异常时维护成本升高。 |
| 依据 | AI推测 |
Agent-Desktop 可视化调试器与录制回放 DevTools
| 产品构想 | agent-desktop 运行在循环中且强依赖 snapshot_id 与元素 ref,当出现 STALE_REF、AMBIGUOUS_TARGET 或需要处理复杂应用(如 Slack)的 --skeleton/--root 下钻时,纯 CLI 调试较为抽象。可制作专用的可视化树结构查看、步骤录制与确定性脚本生成工具。 |
| 核心功能 | 实时可视化渲染快照 JSON 树、鼠标悬停高亮对应桌面元素、交互式生成带 --window-id 与等待参数的 CLI 命令序列、录制动作转可复现测试脚本。 |
| 目标用户 | 正在集成 agent-desktop 的 AI Agent 开发者与桌面自动化测试工程师(推测)。 |
| 难度/周期 | 中高(需结合各平台轻量级绘制或跨平台 GUI 框架展示元素树与执行轨迹) · 6-10 周 · 成本:低(本地开发工具,无需云端推理算力) |
| 收费模式 | 免费基础调试器 + 团队协作(录制脚本分享、CI 自动化测试集成)付费版(推测)。 |
| 竞争风险 | 1. 开发者工具付费转化率通常偏低;2. agent-browser.dev 官方生态随时可能补齐官方可视化调试面板。 |
| 依据 | 尚需验证的假设 |
AI 基于仓库公开数据分析生成,含推测成分,不构成收益承诺。
报告会保存到 个人中心
竞品与相似项目 GitHub Search 真实检索
| 项目 | 中文简介 | Stars | 语言 |
|---|---|---|---|
| stablyai/orca | 支持使用自有订阅在桌面、移动端及远程运行多个编程 Agent 的工具。 | 120,480 | TypeScript |
| PostHog/posthog | 集成了 AI 可观测性、数据分析与错误追踪等能力的一站式产品分析平台。 | 40,718 | Python |
| getpaseo/paseo | 支持在桌面端和移动端编排与调度多个编程 Agent。 | 23,662 | TypeScript |
| NanmiCoder/cc-haha | 本地优先的跨平台 AI Agent 桌面工作台,支持多 Agent 协作与远程访问。 | 15,370 | TypeScript |
| fathah/hermes-desktop | 面向 Hermes Agent 的桌面端配套应用。 | 14,554 | TypeScript |
| OrchestratorInc/agent-orchestrator | 跨桌面与移动端的 Agent 编排工具,全流程规划与监管编程任务至 PR 合并。 | 14,367 | Go |
以上为通过 GitHub 官方 Search API 检索的相似项目,功能差异与优劣势需进一步人工确认,配置 AI 后可生成对比分析。
项目优势与风险
| 技术成熟度 | 创建于 ,最近推送 ,发布过 49 个 Release |
| 社区活跃 | Star 21,183 / Fork 0 / Issue 0(数据支持,可自行核实) |
| 许可证 | 未检测到(需人工确认) |
| 主要风险 | 上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价 |
安装与使用
快速开始(以仓库 README 为准)
git clone https://github.com/vercel-labs/agent-desktop.git cd agent-desktop # 请阅读仓库 README 获取确切安装步骤(依赖、配置、启动命令)
术语说明:Docker=应用容器(把程序和依赖打包运行);API Key=调用外部服务的密钥;Git Clone=把仓库代码下载到本地。常见错误:API Key 未配置 / 端口占用 / 数据库连接失败,多数项目在 README 的 Troubleshooting 章节有说明。