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

AIエージェント互換のCLIツール:スキルディレクトリアプローチ
Redditユーザーが、SKILL.mdファイルを作成してエージェントにインストール、認証、使用方法を教えることで、Claude CodeなどのAIコーディングエージェントとCLIツールを連携させる方法を共有しています。このアプローチは、インタラクティブなプロンプト、JSON出力、認証方法などの一般的な問題に対処します。

Vibeyard IDEは、AIエージェントによる直接的なWeb UI編集のための組み込みブラウザを追加しました。
AIコーディングエージェント向けのオープンソースIDE「Vibeyard」に、Web UIの要素をクリックしてAIエージェントに直接編集を指示できるブラウザタブセッションタイプが追加されました。これにより、セレクタの推測やコンポーネントの検索が不要になります。

開発者が、トピックやYouTubeリンクからポッドキャストを作成するローカルAI研究エージェントを構築しました。
ある開発者が、トピックやYouTubeリンクを入力として受け取り、深掘りレポート、会話形式のポッドキャストスクリプト、音声を生成する完全ローカルのAIエージェントを構築しました。このシステムは、動的に調査を行い、洞察を抽出し、要約を洗練させ、自然な対話を作成します。
コラボレート:マルチエージェントハンドオフを用いた構造化・非同期ドキュメント作成のためのClaude Codeスキル
「Collaborate」というClaude Codeスキルは、複数の寄稿者が別々のClaude会話でドキュメントを共同執筆する際の調整問題を解決します。各参加者はClaudeからプレーンな英語で、前回の変更内容やその意図、次に必要な作業について説明を受け、並行セクション、構造化された批評、Slack/Signal通知をサポートします。