agent-sh/computer-use-linux
Native Linux desktop control for AI agents (MCP, Pi, CLI) — semantic AT-SPI trees, screenshots, window targeting, and input across GNOME, KDE, Hyprland, niri, COSMIC, i3, and X11.
解决的问题
computer-use-linux 使 AI 代理能够控制真实的 Linux 桌面。它克服了大多数“计算机使用”工具仅限 macOS 或依赖脆弱的 X11 方法的常见限制,为代理与各种 Linux 窗口管理器及桌面环境(包含 Wayland 优先支持)交互提供了强大的方式。
运作原理
它作为一个基于 Rust 的 Model Context Protocol (MCP) 服务器和 CLI 运行。它通过以下几种机制与桌面交互:
- 辅助功能树 (Accessibility Trees): 使用 AT-SPI 读取 UI 结构并执行语义操作(例如按名称点击特定按钮),而非仅依赖像素坐标。
- 合成器感知 (Compositor Awareness): 针对不同环境(GNOME, KDE, Hyprland, niri, i3, COSMIC)使用特定的后端,以准确列出并聚焦窗口。
- 输入模拟 (Input Simulation): 在 Wayland 上使用
org.freedesktop.portal.RemoteDesktop接口,并以ydotool作为备选,X11 会话则使用xdotool。 - 视觉反馈 (Visual Feedback): 包含屏幕指示器,显示带有色调的光标和状态胶囊,让用户能实时看到代理正在执行的动作。
适用对象
- AI 代理开发者: 需要与 Linux 软件交互的代理开发者。
- MCP 主机用户: 使用 Claude Desktop, Codex Desktop 或 Hermes Agent 等客户端,并希望让代理控制 Linux 电脑的用户。
- 系统管理员: 需要通过 LLM 自动化复杂桌面 UI 任务的用户。
特色亮点
- 广泛的 Linux 支持: 适用于 GNOME, KDE/KWin, Hyprland, niri, i3 以及 COSMIC。
- Wayland 优先: 专为处理 Wayland 指针与键盘操作的复杂性而设计。
- 语义交互: 支持通过 AT-SPI 根据角色、名称或文本定位元素,减少对坐标点击的依赖。
- 详细诊断: 包含
doctor命令,提供结构化的 JSON 就绪报告以识别阻碍因素。 - 安全注释: 使用 MCP
ToolAnnotations来区分只读观察、设置修改器以及破坏性的桌面操作。
相关
- 项目
- 项目
- 项目
- 项目