vercel-labs/agent-desktop
Computer use CLI for AI agents
這是什麼
vercel-labs/agent-desktop 是讓 AI 代理操作桌面應用的 CLI 與 C 函式庫,支援 macOS、Windows、Linux。核心不是比對畫面像素,而是讀取作業系統的無障礙樹:把介面元素整理成 JSON 快照,代理依元素參照執行點擊、輸入,再取快照確認結果。它提供操作能力,決策與驗證迴圈仍由你的代理負責,並非裝好就會自主工作的助理。
為什麼上榜
選文資料顯示,專案累積 9,568 顆星,日榜期間新增 2,275 顆。README 無法證明熱度的直接成因,但亮點很清楚:把桌面互動變成可解析的元素、動作與錯誤回應,而不只提供截圖。每個參照綁定特定快照,介面改變後可能回報過期或目標不明,要求重新觀察;這讓「操作後確認」成為整合流程的一部分。
另一個值得注意的設計是預設無頭操作:透過無障礙 API 動作,不移動游標或搶焦點;實體輸入需允許 --headed。但這裡的無頭不代表不需要桌面環境,Linux 仍要求使用者的圖形工作階段。
適合誰,可以拿來做什麼
適合已有 AI 代理框架、想把工作範圍延伸到桌面軟體的開發者,例如讀取視窗內容、填寫欄位、切換控制項,再確認介面狀態。想直接嵌入程式,也可使用隨版本提供的 C 函式庫,避免每個命令都啟動 CLI 程序。
門檻主要在權限與平台差異:macOS 要授予輔助使用權限,Linux 要有 at-spi2-core;視窗控制、通知與截圖能力則依 X11、Wayland 或 GNOME 而異。跨平台不等於所有操作都完全一致,應先核對目標環境。
上手
README 提供 npm 全域安裝;先確認版本,再讀取工具內建、與版本相符的操作及平台指南:
npm install -g agent-desktop
agent-desktop version
agent-desktop skills get desktop
agent-desktop skills get platform
agent-desktop list-apps
接著對選定應用執行 agent-desktop snapshot --app Finder -i;Finder 是 macOS 範例,其他環境請換成應用清單中的名稱。動作必須使用當次快照回傳的完整參照,不可直接沿用文件範例;完成後再取快照驗證。
README 重點摘要
- 參照有快照範圍:裸寫
@e8會被拒絕;過期或歧義時應重新觀察,多視窗可指定視窗 ID。 - 重試有條件:錯誤包含代碼、處置資訊與建議,只有重試標記為安全時才重試。
- 密集介面可分層讀取:先取骨架,再深入指定區域,不必一次處理整棵樹。
- 桌面資料可能敏感:快照、剪貼簿與除錯產物不應放入公開紀錄;選用的 JEV 輔助工具會把畫面描述送往設定的模型供應商。