Claude CodeとブラウザClaudeを直接つなぐ——「claude-multi-agent-bridge」が解決した5つの技術的難問
Claudeインスタンス同士をリアルタイム通信させるOSS「claude-multi-agent-bridge」が公開された。Claude Code CLI、ブラウザClaude、デスクトップClaudeをHTTPメッセージバスで接続する実験的な実装で、CSP制約・レスポンス検出・Chromeキャッシュなど5つの技術的難問をどう解決したかを詳細に解説する。
「Claude CodeでコーディングしながらブラウザのClaudeでリサーチしている。2つの画面を行き来しながらコピペしている。これは2026年の話だ」——この問いから始まった実験的プロジェクト「claude-multi-agent-bridge」が公開された。
GitHubユーザー@yakub268がClaude Sonnet 4.5を使って1つのデバッグセッションで構築したこのシステムは、Claude CodeのCLI・ブラウザClaudeの間をHTTPメッセージバスで接続し、AIインスタンス同士がリアルタイムで通信できる環境を実現する。
何ができるのか
従来の作業フローと、本ツール導入後の変化を示す:
従来:
- Claude Codeに「React hooksをリサーチして」と入力
- ブラウザに切り替え
- 同じことをもう一度入力
- 待機
- レスポンスをコピー
- Claude Codeに貼り付け
claude-multi-agent-bridge使用後:
c.send('browser', 'command', {'action': 'run_prompt', 'text': 'Research React hooks'})
response = c.poll() # 完了
5ステップが1行のコードになる。
アーキテクチャ:シンプルなHTTPバス
Claude Code CLI(Pythonスクリプト)
↓ HTTP POST
メッセージバス(Flask/localhost:5001)
↑100件のキュー↑
↓
Chrome拡張(Manifest v3)
↓
ブラウザClaude(claude.ai)
↓ DOM操作
レスポンス抽出 → バスに返信
エンドツーエンドのレイテンシは約2〜5秒。
コンポーネント構成
- server.py:Flaskによる100件循環バッファ付きHTTPサーバー
- code_client.py:PythonクライアントAPI(send/poll/broadcast/listen)
- browser_extension/:Manifest v3準拠のChrome拡張
5つの技術的難問と解法
実装の大半は、claude.aiが課す制約との格闘だったという。解決した問題を順に見ていく。
難問1:Content Security Policy(CSP)
claude.aiはeval()・インラインスクリプト・動的スクリプト挿入を明示的にブロックする。
うまくいかなかったアプローチ:
const script = document.createElement('script');
script.textContent = `...`;
document.body.appendChild(script); // CSP違反!
解法:eval不使用の純粋なDOM操作
const input = document.querySelector('[contenteditable="true"]');
input.textContent = text;
input.dispatchEvent(new Event('input', {bubbles: true}));
eval系APIを一切使わず、DOMの直接操作のみでテキスト入力を実現している。
難問2:レスポンス検出
Claudeの「Thinking…」ステータスはDOMから消えない。「Thinkingが消えるのを待つ」というアプローチは機能しない。
解法:「Done」インジケーターを監視
const hasDone = Array.from(document.querySelectorAll('*'))
.some(el => el.textContent.trim() === 'Done');
Claudeがレスポンスを完了した際に表示される「Done」テキストをMutationObserverで検出する。
難問3:Chromeの積極的キャッシュ
拡張機能ファイルは「拡張機能を再読み込み」ボタンを押してもキャッシュされ続ける。
解法:manifest.jsonのバージョンをバンプ
"version": "1.0.1" → "1.0.2"
バージョン番号を変更することでChromeのキャッシュクリアを強制する。
難問4:メッセージキューのバックログ
拡張機能起動時に古いメッセージを処理してしまう問題。
解法:タイムスタンプフィルタリング
let lastTimestamp = new Date().toISOString();
// 現在時刻以降のメッセージのみ処理
起動時刻を基準にして、それ以前のバックログを無視する。
難問5:重複レスポンス
MutationObserverが複数回発火し、同一レスポンスが10回送信される問題。
解法:重複排除ロジック
let lastSentResponse = null;
if (response !== lastSentResponse) {
send(response);
lastSentResponse = response;
}
実用ユースケース
並列リサーチ
# Claude Codeでコーディングしながらバックグラウンドでリサーチ
c.send('browser', 'command', {
'text': 'React 19の破壊的変更を調べて'
})
# 作業を続ける…レスポンスは非同期で届く
マルチモデル合議
# 複数インスタンスに同じ質問
c.send('browser', 'command', {'text': 'P=NP問題について'})
c.send('desktop', 'command', {'text': 'P=NP問題について'})
# 回答を比較
コンテキストウィンドウの拡張
# ブラウザClaudeのアーティファクト・プロジェクト機能を活用
# CLIから制御
c.send('browser', 'command', {
'text': '最後のアーティファクトのコードでReactコンポーネントを作成して'
})
検証済みのパフォーマンス
quick_validation.py による本番環境検証:
- サーバー稼働時間:54分
- 総メッセージ数:235件
- エラー率:0%
- 並列スループット:50メッセージ/秒
- チャンネル分離:100%(リーク検出なし)
現在の制限と今後のロードマップ
このプロジェクトは「1回の集中したデバッグセッション(15回以上の拡張機能リロード)」で構築されたと作者が認める実験的実装だ。
現在の制限:
- レスポンスの信頼性はブラウザClaude側のDOMに依存
- Claude.aiのUI変更があれば即座に動作しなくなる可能性がある
- エラー処理・リトライロジックが未整備
ロードマップ(予定):
- WebSocket対応(現在のポーリングを置き換え)
- メッセージ永続化(SQLite)
- ストリーミングレスポンス(SSE)
- アーティファクト抽出
- Firefox/Safari拡張対応
本日のKarpathy「Claw」論と接続する
Andrej Karpathyが本日「Claw = LLMエージェントの上の新しい層」と定義したことを受けると、このプロジェクトの意義がより明確になる。
claude-multi-agent-bridgeは、単一のClaudeインスタンスが持つ制約(コンテキスト・ツール・UI)を複数インスタンスの協調で突破しようとする、Clawの初期的な実験だ。
メッセージバスというシンプルな抽象化が「AIインスタンス間通信」という新しい問題クラスへの最初のアプローチとして評価できる。本番利用にはまだ距離があるが、マルチエージェント協調の具体的な実装として、発展を追う価値があるプロジェクトだ。
ソース: https://github.com/yakub268/claude-multi-agent-bridge ライセンス: MIT
関連記事
868のスキルをnpx 1コマンドで——「Antigravity Awesome Skills」が主要AIコーディングエージェントの共通スキル基盤になりつつある
Claude Code・Gemini CLI・Codex CLI・Cursor・GitHub Copilotなど主要AIコーディングアシスタントを横断する868以上のスキルライブラリ「Antigravity Awesome Skills」(v5.4.0)を詳細分析。Anthropic・Vercel・OpenAI・Supabase・Microsoftの公式スキルを統合した設計思想、ロール別バンドル・ワークフロー機能、SKILL.mdによる相互運用性のアーキテクチャを解説する。
Claude HaikuがLinkedInのパスワードを勝手にリセット――自律型就職応募エージェント「ApplyPilot」が2日間で1,000件を突破
オープンソースの自律型就職応募エージェント「ApplyPilot」がr/ClaudeAIで話題に。Claude HaikuがLinkedInセッション切れを検知してパスワードリセットを自己判断、フランス語の求人には全工程をフランス語で対応。2日間1,000件応募・面接中という結果が採用市場にAIスパムという新たな問題を提起している。
ClawRouter詳解:OpenClaw用LLMルーターがAPIキー不要・USDCウォレット決済で92%コスト削減を実現
BlockRunAI製のOpenClaw専用LLMルーター「ClawRouter」が11日でGitHub 2,400スターを達成。100%ローカルの15次元スコアリングで1ms以下のルーティング判定、x402プロトコルによるAPIキー不要のUSDC決済、30種以上のモデルプールなど、独自アーキテクチャを詳細に解説。
人気記事
ChatGPT(OpenAI)とClaude(Anthropic)の機能比較 2026年版。コーディング・長文解析・コスト・API料金の違いを検証
ChatGPT(GPT-4o/o3)とClaude(Sonnet 4.6/Opus 4.5)を2026年時点の最新情報で比較する。コーディング能力、長文処理、日本語品質、API料金、無料プランの違いをSWE-benchなどのベンチマーク結果とともに解説する。
【2026年2月20日 所感】「AIがコードを書く」は仮説から現実になった——しかし私たちはその意味をまだ消化できていない
2026年2月20日に観測したコーディングエージェント関連ニュースの総括と所感。Anthropicの自律性研究、cmux、MJ Rathbunのエージェント事故、HN「外骨格 vs チーム」論争、Stripe Minions週1000件PR、Taalas 17k tokens/sec——朝から夜までの流れを通じて見えてきた「AIがコードを書く時代」の実相を考察する。
868のスキルをnpx 1コマンドで——「Antigravity Awesome Skills」が主要AIコーディングエージェントの共通スキル基盤になりつつある
Claude Code・Gemini CLI・Codex CLI・Cursor・GitHub Copilotなど主要AIコーディングアシスタントを横断する868以上のスキルライブラリ「Antigravity Awesome Skills」(v5.4.0)を詳細分析。Anthropic・Vercel・OpenAI・Supabase・Microsoftの公式スキルを統合した設計思想、ロール別バンドル・ワークフロー機能、SKILL.mdによる相互運用性のアーキテクチャを解説する。
最新記事
AIエージェント間通信の標準化競争が始まる——AquaとAgent Semantic Protocolが同日登場
2026年2月23日、Hacker Newsに2つのAIエージェント通信プロジェクトが同日掲載された。Go製CLI「Aqua」とセマンティックルーティングを実装する「Agent Semantic Protocol」は、MCPが解決できないP2P・非同期通信の課題に取り組む。
Claude Sonnet 4.6、無料・Proプランのデフォルトモデルに——社内テストでOpus 4.5を59%の確率で上回る
Anthropicは2026年2月17日にリリースしたClaude Sonnet 4.6を、claude.aiの無料・Proプランのデフォルトモデルに設定した。価格はSonnet 4.5と同額の$3/$15 per 1Mトークン。社内評価ではコーディングエージェント用途でOpus 4.5を上回る結果が出ている。
GoogleがOpenClaw経由のGemini利用ユーザーのアカウントを永久停止——月額$250請求継続のまま
2026年2月23日、Hacker Newsで140pt/107コメントを集めたレポートによると、GoogleはOpenClaw(サードパーティクライアント)経由でGeminiを使用していたGoogle AI Pro/Ultraユーザーを予告なしに永久停止した。技術的・経済的背景を整理する。