Antigravity ⇔ Claude Code 双方向チャット注入 — 実装指示

実現したいこと

私(Uさん)は AI エージェント同士が自律的にタスクをやり取りしている様子を、各アプリのUI上でリアルタイムに見たい

理想の体験

  1. Antigravity が Claude Code にタスクを投げると、Claude Code Desktop のチャット欄にメッセージが自動入力され、Claude Code がそれに応答している様子が画面上で見える
  2. 逆に Claude Code が Antigravity にタスクを投げると、Antigravity IDE のチャット欄にメッセージが自動入力され実行される様子が見える
  3. 私は2つのウィンドウを並べて、AIエージェント同士の会話が目の前で動いているのを眺められる
  4. さらに Discord でも完了通知やストリームが流れるので、離れていても進捗が分かる

重要なポイント

  • 裏で動くヘッドレスCLI方式ではダメ。見えないところで処理されても意味がない
  • チャット欄にテキストが入力され、Enterが押され、AIが応答を返す — この通常の対話と同じ見た目で自動実行されることがゴール
  • つまり人間が手でチャットに入力する動作を、プログラムで再現したい

現在のシステム構成

アプリ種類CDPポート状態
Antigravity IDEVS Code ベース (Electron)9222✅ CDP稼働中
Claude Code DesktopElectron (Windows Store)未設定❌ CDP無効

Agent Bus MCP

  • C:\ai_work\agent-bus-mcp\server.py — タスクの投入・受信・報告を管理
  • C:\ai_work\.mcp.json に登録済み(両アプリから利用可能)
  • dispatch_task(target, instruction) でタスク投入
  • receive_task(agent_name) でタスク受信

既存の自動実行フロー(CLI版 — 参考)

dispatch_task(target='claude-code') 
  → server.py が claude -p で CLI を裏で起動
  → CLI が receive_task → 実行 → submit_report
  → Discord に完了通知

↑ これは動くが見えない。今回はこれをUIに見える形にしたい。

方式候補(6つ)

以下を検討し、最も実現可能で安定した方法 を選んで実装してほしい。複数方式を組み合わせてもよい。

方式A: CDP (Chrome DevTools Protocol)

  • 対象アプリを --remote-debugging-port=XXXX 付きで起動
  • http://127.0.0.1:XXXX/json でページ一覧取得
  • WebSocket接続 → Runtime.evaluate でチャット入力欄にテキスト設定
  • Input.dispatchKeyEvent で Enter 送信
  • Antigravity (9222): 既にCDP稼働中なので即利用可能
  • Claude Code Desktop: Windows Store版にCDPを有効化する方法を調査が必要
  • 利点: 最も直接的、DOMレベルで制御可能
  • 懸念: Claude Code Desktop のCDP有効化が困難な可能性

方式B: Windows UI Automation (pywinauto / uiautomation)

  • Windowsのアクセシビリティ API でウィンドウの入力欄を特定
  • テキスト入力 → Enter送信をプログラムで実行
  • CDP不要、アプリの起動方法を変えなくていい
  • 利点: CDPポート設定不要
  • 懸念: Electronアプリ内のUI要素の特定精度

方式C: クリップボード + SendKeys

  • テキストをクリップボードにコピー
  • win32gui でウィンドウをフォーカス
  • pyautogui で Ctrl+V → Enter
  • 利点: 最もシンプル、どんなアプリでも動く
  • 懸念: フォーカスが奪われる、ユーザー操作と競合する可能性

方式D: Claude CLI --resume セッション共有

  • デスクトップアプリのセッション(worktree名: beautiful-jackson)を CLIの --resume で指定
  • claude --resume beautiful-jackson -p "receive_task(...)"
  • CLIの入力がデスクトップUIにリアルタイム反映される可能性
  • 利点: CDP不要、最もクリーン
  • 懸念: CLI入力がデスクトップUIに反映されるか未検証
  • claude://chat?message=... のようなカスタムURLスキーム
  • Start-Process "claude://chat?message=hello" で起動
  • 利点: OS標準機能
  • 懸念: Claude Codeがこのプロトコルをサポートしているか不明

方式F: Antigravity Extension API

  • VS Code ベースなので vscode.commands.executeCommand で内部コマンド実行
  • チャットパネル入力用のコマンドがあるか調査
  • 利点: Antigravity側は最も正攻法
  • 懸念: 利用可能なコマンドの特定が必要

比較表

方式CDP要否起動方法変更安定性UI可視化実装難度
A: CDP必要必要
B: UI Automation不要不要
C: クリップボード不要不要
D: CLI —resume不要不要✅?
E: Deep Link不要不要✅?
F: Extension API不要不要

環境情報

  • OS: Windows 11
  • Python: 3.14
  • websocket-client: 1.9.0
  • pywinauto: 未インストール(必要ならインストール可)
  • pyautogui: 未インストール(必要ならインストール可)
  • Claude Code Desktop: C:\Program Files\WindowsApps\Claude_1.1.4088.0_x64__pzs8sxrjxfjjc\app\Claude.exe
  • Antigravity CDPポート: 9222
  • server.py: C:\ai_work\agent-bus-mcp\server.py

依頼事項

  1. 上記方式を調査・検証し、最も実現可能な方式を選定
  2. 選んだ方式で 双方向のメッセージ注入 を実装
  3. server.pydispatch_task に統合
  4. 動作確認テスト
  5. submit_report で結果報告

方式選定の理由も報告に含めてください。