Agent-Desktop: OSアクセシビリティツリーによる構造化デスクトップ自動化

Agent-desktopは、プログラムでデスクトップアプリケーションを制御する必要があるAIエージェント向けに設計された、Rustで構築されたネイティブデスクトップ自動化CLIです。一般的なスクリーンショットベースのアプローチ(スクリーンショットを撮り、ピクセル座標を予測し、クリックし、繰り返す)の代わりに、OSのアクセシビリティツリーを介して操作します。これは、スクリーンリーダーが使用するのと同じ構造化データです。これにより、モデルは要素の役割、名前、階層、状態を直接認識するため、操作がより高速で、低コストで、UIの変更に対しても堅牢になります。
主な機能
- 単一のRustバイナリ(約15MB)、ランタイム依存関係なし
- 観測、操作、キーボード、マウス、通知、クリップボード、ウィンドウ管理をカバーする53のコマンド
- JSON出力 — エラーコードと復旧ヒントを含む機械可読
- アクセシビリティファーストのアクティベーションチェーン: 純粋なアクセシビリティAPI戦略を優先し、マウスイベントにフォールバック
- 決定論的要素参照(例:
@e1、@e2)と、UI変更に対する楽観的な再識別 - 段階的なスケルトントラバーサル: 浅いツリー(深さ約3)を先に取得し、
children_countで注釈を付け、その後特定の領域にドリルダウン - ウィンドウ、メニュー、シート、ポップオーバー、アラート、通知のサポート
- Chromium/Electronのアクセシビリティツリーの特別処理によるノイズ低減
- cdylibによるC ABI — コマンドごとにシェル呼び出しを行わずに、Python、Swift、Go、Node、Ruby、Cから直接ロード可能
典型的なワークフロー
SlackやVS Codeのような高密度アプリでは、段階的なスケルトントラバーサルを使用してトークン使用量を最小限に抑えます:
# 1. 概要の浅いスナップショット — 深さ3のマップ、切り詰められたコンテナはchildren_countを表示
agent-desktop snapshot --skeleton --app Slack -i --compact
2. 関心のある領域にドリルダウン(名前付きコンテナは参照を取得)
agent-desktop snapshot --root @e3 -i --compact
3. ドリルダウンで見つかった要素を操作
agent-desktop click @e12
4. 同じ領域を再ドリルして状態変化を確認
agent-desktop snapshot --root @e3 -i --compact
より単純なアプリでは、完全なスナップショットで十分です: agent-desktop snapshot --app Finder -i。
インストール
npm install -g agent-desktop
# またはnpxを使用: npx agent-desktop snapshot --app Finder -i
# ソースから: cargo build --release
パフォーマンス統計
実際の使用では、段階的なスケルトンアプローチにより、Slack、VS Code、NotionなどのElectronアプリにおいて、完全なツリーダンプと比較してトークン使用量が78%から96%削減されました。例えば、Slackの完全なアクセシビリティツリーは50,000トークンを超えることがあり、ほとんどのLLMコンテキストには実用的ではありません。
対象ユーザー
スクリーンショットベースの制御ループのコストと脆弱性を回避したい、デスクトップエージェント、内部自動化ツール、研究プロトタイプを構築する開発者向けです。
📖 Read the full source: HN AI Agents
👀 See Also

スキルスキャフォルダー:コードを書かずにOpenClawスキルを構築
Skill Scaffolderは、ユーザーがプレーンな英語で望むことを記述するだけでOpenClawスキルを作成できるオープンソースツールです。YAML、Python、設定ファイルを必要とせず、ユーザーへのインタビュー、スキルファイルの作成、テスト、インストールという全プロセスを処理します。

Forge: Claude Codeで構築されたClaude Codeのためのメモリシステム
開発者がForgeというTypeScriptモノレポのMCPサーバーを構築しました。これはClaude Codeの会話から決定事項、制約、却下を自動的に捕捉し、6段階のパイプラインで構造化データを分類、抽出し、イベントソーシング型SQLiteモデルに永続化します。

Nelson v2.2.3 リリース: Claude Codeのためのマルチエージェント協調、および離散イベントシミュレーションベンチマーク
Nelson v2.2.3は、Claude Code向けのマルチエージェント連携スキルで、海軍のメタファーを使用しています。13構成のベンチマークでは、opus-4-7 with thinkingが優勢で、スキルの選択による差は小さいことが示されました。

TradingView MCPサーバーにより、Claudeが取引戦略のバックテストを可能にします
開発者が、APIキーなしでYahoo Financeのデータを使用して6つの取引戦略をバックテストできるMCPサーバーをリリースしました。セットアップには、claude_desktop_config.jsonファイルに1行追加するだけです。