agent-sh/computer-use-linux
Linux desktop control over MCP — AT-SPI, GNOME Shell, Wayland portals, ydotool
解決的問題
它透過克服現有工具(通常僅限 macOS 或依賴不精確的基於像素的 OCR)的限制,使 AI 代理能夠與即時 Linux 桌面進行互動。它為代理提供了一種執行語義操作(例如透過名稱點擊按鈕)而非僅僅點擊特定座標的方法。
工作原理
該專案作為一個與 Linux 桌面環境介接的 Model Context Protocol (MCP) 伺服器運作。它使用多種方法獲取控制權:
- Observation (觀察): 它讀取輔助功能樹(透過 AT-SPI)、擷取螢幕截圖,並使用感知合成器的後端(GNOME, KDE, Hyprland, i3 和 COSMIC)列出視窗。
- Input (輸入): 使用 Wayland portals 或以
ydotool作為備選方案來驅動滑鼠和鍵盤操作。 - Semantic Selection (語義選擇): 它利用輔助功能數據允許代理透過角色、名稱或文字選擇元素,並在必要時回退到像素座標。
適用對象
- AI 代理開發者: 任何正在構建需要透過 MCP 操作 Linux 桌面的代理的開發者。
- Linux 使用者: 希望使用 Claude Desktop、Claude Code 或 Hermes Agent 等工具將桌面自動化整合到工作流程中的使用者。
亮點
- Wayland 支援: 採用使用桌面 portals 的「Wayland 優先」方法構建。
- 合成器感知: 支援包括 GNOME, KDE, Hyprland, i3 和 COSMIC 在內的多種視窗管理器。
- 語義控制: 支援透過 AT-SPI 按名稱和角色與 UI 元素進行互動。
- 診斷工具: 包含一個
doctor命令,用於生成 JSON 就緒報告以進行系統需求故障排除。