Claude Code Desktop 自動タスク受信機能の実装指示
目的
Antigravity(親エージェント)から dispatch_task(target='claude-code-desktop', instruction='...') でタスクが投入されたとき、Claude Code デスクトップアプリが自動的にそのタスクを受信・実行・報告する仕組みを実装する。
現在、タスクは Agent Bus MCP の inbox (C:\ai_work\quartz-site\obsidian valut\09_AgentSync\inbox\claude-code-desktop\) に JSON ファイルとして保存される。デスクトップアプリのユーザーが手動で「receive_task(‘claude-code-desktop’) でタスクを受信して実行して」とチャットに入力すれば動作するが、この手動入力を自動化したい。
現在のシステム構成
Agent Bus MCP Server
- 場所:
C:\ai_work\agent-bus-mcp\server.py - 起動方法:
py C:/ai_work/agent-bus-mcp/server.py(stdio MCP) - MCP設定:
C:\ai_work\.mcp.jsonに登録済み(Claude Code CLI/Desktop 両方から利用可能)
タスクフロー(現在の手動版)
1. Antigravity: dispatch_task(target='claude-code-desktop', instruction='...')
2. Agent Bus: inbox/claude-code-desktop/ にタスクJSON保存 → Discord通知
3. [手動] ユーザーがデスクトップアプリに "receive_task('claude-code-desktop')" と入力
4. デスクトップアプリ: receive_task → 実行 → submit_report → update_status('idle')
5. Agent Bus: Discord に完了通知
目標フロー(完全自動)
1. Antigravity: dispatch_task(target='claude-code-desktop', instruction='...')
2. Agent Bus: inbox にタスク保存 → 何らかの方法でデスクトップアプリに通知
3. [自動] デスクトップアプリがタスクを検知して自動的に receive_task → 実行 → submit_report
4. Agent Bus: Discord に完了通知
実装方針の候補
以下の方法を検討し、最も堅実で実装しやすい方法を選んで実装してほしい。
方式A: CDP(Chrome DevTools Protocol)でテキスト注入
- デスクトップアプリを
--remote-debugging-port=9333付きで起動 - CDP WebSocket でチャット入力欄にテキストを設定し Enter イベントを発火
- 利点: 最も直接的
- 懸念: Electronアプリの DOM 構造に依存、UIの変更で壊れやすい
方式B: Claude Code Desktop API / Extension
- デスクトップアプリに組み込みのAPIやプラグイン機構があればそれを利用
/slash-commandsや MCP 経由でメッセージを送る方法があるか調査- 利点: 公式サポートなら安定
- 懸念: そのようなAPIが存在しない可能性
方式C: ファイル監視 + CLAUDE.md トリガー
CLAUDE.mdやカスタムフックを使って、inbox にファイルが追加されたら自動応答- デスクトップアプリのプロジェクト設定で自動実行を仕込む
- 利点: CDP不要、シンプル
- 懸念: デスクトップアプリの自動実行機能の有無に依存
方式D: claude CLI の --resume でデスクトップセッションに注入
claude --resume <session-id> -p "receive_task..."でデスクトップの既存セッションにCLIからメッセージ注入- 利点: CDP不要、CLI が使える
- 懸念: CLI とデスクトップが同一セッションを共有できるか不明
方式E: WebSocket / ローカルHTTPサーバー ポーリング
- デスクトップアプリ側にMCPポーリングの仕組みを組み込む
- 定期的に
list_tasks('claude-code-desktop')を呼んで新規タスクを自動受信 - 利点: 完全にMCP内で完結
- 懸念: ポーリング間隔の問題、デスクトップアプリに定期実行を仕込む方法
環境情報
- OS: Windows 11
- Claude Code Desktop: v1.1.4088.0 (Windows Store Electron App)
- 実行ファイル:
C:\Program Files\WindowsApps\Claude_1.1.4088.0_x64__pzs8sxrjxfjjc\app\Claude.exe
- 実行ファイル:
- Python: 3.14
- websocket-client: 1.9.0 (インストール済み)
- Agent Bus MCP:
C:\ai_work\agent-bus-mcp\server.py
要件
dispatch_task(target='claude-code-desktop')が呼ばれたとき、デスクトップアプリが自動的にタスクを受信・実行する- 実装は
server.pyに追加するか、別ファイルとして作成してもよい - CDP方式を採用する場合は
server.pyのdispatch_task関数(489行目付近)に統合 - 別方式を採用する場合はその理由と仕組みを説明すること
server.py の関連コード(dispatch_task 部分)
# 489行目付近
cli_targets = {"claude-code", "claude-code-cli"}
if target in cli_targets:
_launch_claude_code(task_id, instruction, new_session=new_session)
auto_launched = True
# ↑ ここに claude-code-desktop 用の自動注入ロジックを追加する作業完了後
実装が完了したら、Agent Bus MCP の submit_report で報告してください:
submit_report(
task_id='<このタスクのID>',
worker='claude-code-desktop',
status='completed',
summary='<実装内容の要約>',
artifacts='["変更・作成したファイルパス"]'
)