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 就绪报告以进行系统需求故障排除。