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ポータル、またはフォールバックとして
ydotoolを使用して、マウスおよびキーボードのアクションを駆動します。 - Semantic Selection (セマンティック選択): アクセシビリティデータを使用して、エージェントがロール、名前、またはテキストによって要素を選択できるようにし、必要な場合にはピクセル座標にフォールバックします。
対象者
- AIエージェント開発者: MCPを介してLinuxデスクトップを操作する必要のあるエージェントを構築しているすべての人。
- Linuxユーザー: Claude Desktop、Claude Code、またはHermes Agentなどのツールを使用して、デスクトップ自動化をワークフローに統合したいユーザー。
ハイライト
- Waylandサポート: デスクトップポータルを使用した「Waylandファースト」のアプローチで構築されています。
- コンポジタ認識: GNOME, KDE, Hyprland, i3, および COSMIC を含む複数のウィンドウマネージャをサポートしています。
- セマンティック制御: AT-SPIを介して、名前やロールによるUI要素との対話をサポートしています。
- 診断ツール: システム要件のトラブルシューティングのために、JSON形式の準備完了レポートを生成する
doctorコマンドが含まれています。