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 来区分只读观察、设置修改器以及破坏性的桌面操作。

相关

  • 项目
  • 项目
  • 项目
  • 项目