raysonmeng/agent-bridge
A local bridge for bidirectional collaboration between Claude Code and Codex. 连接 Claude Code 与 Codex 的本地实时协作桥接工具。
AgentBridge – Claude Code と OpenAI Codex がリアルタイムでやり取りできるローカルブリッジ
何であるか – AgentBridge は開発者向けのユーティリティで、小さなデーモンとコマンドラインラッパー(abg / agentbridge)を実行します。このツールは 大規模言語モデルによるコーディングアシスタント である Claude Code(Anthropic)と Codex(OpenAI)を接続し、メッセージのやり取り、お互いの作業のレビュー、タスクの引き継ぎを、ターミナル間でのテキストコピーなしで実現します。
なぜ重要か – 通常は2つの別々のターミナルを起動し、コードをコピーペーストして、一方のアシスタントがクォータに達したときに手動で切り替える必要があります。AgentBridge はこの「リレー」を自動化します:
- 各アシスタントは永続的なピアとして生き続けます。
- メッセージは自動的にプッシュされ(フォールバックキュー付き)。
- ビジー・ガード が、相手側がアクティブなターン中は返信をブロックします。
- ビルトインのウォッチドッグにより、長時間のジョブがサブスクリプションクォータの制限を超えて生き残れるように、ターンを相手アシスタントに引き渡します。
コア機能(READMEに記載)
| 機能 | 得られるもの |
|---|---|
| 双方向の Claude ↔ Codex メッセージング | Claude は Codex の agentMessage ペイロードをチャンネル通知として受信;Codex は reply ツール経由で Claude の返信を受信。 |
| フォールバックキュー付きプッシュ配信 | プッシュが失敗した場合、デーモンはメッセージをメモリに保存し、get_messages を通じて再試行。 |
| ターンの調整 | ビジー・ガード が相手側がアクティブなターン中は返信をブロック;非活動ウォッチドッグが5分間の沈黙後にターンを強制終了。 |
| 複数のペアを並列で実行 | 同じリポジトリ内で複数の Claude+Codex ペアを実行可能。各ペアは独自のポートセット(4500から+10ずつストライド)を取得。 |
| 耐障害的なライフサイクル | Claude の再起動にも耐え、バックオフ付きで自動再接続、孤立プロセスをクリーンアップ、abg doctor による診断機能を提供。 |
| スレッドの自動再開 | abg codex は最後の Codex スレッドを自動的に再開;abg resume は両側の再接続に必要なコマンドを出力または実行。 |
| 予算の調整と自動再開 | 一方のアシスタントのサブスクリプションクォータが切れた場合、その側を一時停止し、もう一方が継続可能にし、長時間ジョブを維持。 |
| コンテキストを小さく保つフィルタリング | agentMessage ペイロードのみが渡される;他のツールコールのノイズは破棄。3段階のマーカーシステム([IMPORTANT]、[STATUS]、[FYI])により、転送、バッファ、無視を制御可能。 |
| クロスネットワークコラボレーション(プレビュー) | v3 ではブローカー基盤の「ルーム」を追加し、異なるマシン上で実行するペアでもメッセージをやり取り可能。 |
クイックスタートワークフロー(READMEから)
- Bun をインストール – デーモンに必要なランタイム。
- CLI をインストール –
npm install -g @raysonmeng/agentbridge(インストール後に Claude Code プラグインが登録される)。 - プロジェクトを初期化 –
abg initで.agentbridge/config.jsonを作成し、依存関係をチェック。 - Claude を起動 –
abg claudeでブリッジチャンネルを有効化した状態で Claude Code を起動。 - Codex を起動 – 別のターミナルで
abg codexを実行し、同じブリッジに接続された Codex TUI を起動。
これで Claude に 「Codex とタスク分割を提案して…」 と尋ね、2つのアシスタントが手を組んでコードを議論・実装・レビューする様子を、手動でのコピーペーストなしで観察できます。
内部での動作仕組み
- bridge.ts – 短期間しか生きないフォアグラウンドクライアント。Claude がプラグインとして読み込む。Claude の
reply呼び出しをデーモンに転送し、Codex のメッセージを受信して Claude にプッシュ。 - daemon.ts – 永続的なバックグラウンドプロセス。Codex アプリサーバー(WebSocket または Unix ソケット経由)と通信し、ペアの権威ある状態を保持。
- 通信フロー:
- Codex → daemon → bridge → Claude(チャンネル通知)
- Claude → bridge → daemon → Codex(インジェクトされた
turn/start)
- 各メッセージには
sourceフィールドが含まれており、ブリッジはメッセージを元の送信元にエコーしないようにし、ループを防止。
インストールと前提条件(リストに記載)
| 依存関係 | 推奨バージョン | インストールコマンド |
|---|---|---|
| Bun | v1.3.11+ | `curl -fsSL https://bun.sh/install |
| Claude Code | 2.1.269 | npm install -g @anthropic-ai/claude-code@2.1.269 |
| Codex CLI | 0.154.0 | npm install -g @openai/codex@0.154.0 |
注意:CLI のデフォルト起動では Claude が
--dangerously-skip-permissions、Codex が--yoloを使用(つまり、プロンプトなしでコマンド実行やファイル編集が可能)。通常の権限プロンプトが必要な場合は--safeまたはAGENTBRIDGE_SAFE=1を設定してください。
一般的なコマンド
| コマンド | 機能 |
|---|---|
abg init |
依存関係をチェック、Claude プラグインを登録、.agentbridge/config.json を作成 |
abg claude [args] |
ブリッジチャンネル付きで Claude Code を起動(必要なフラグをインジェクト) |
abg codex [args] |
ブリッジに接続された Codex TUI を起動;abg codex --new で新しいスレッドを作成 |
abg resume |
最後のセッションに再接続するためのコマンドを出力または実行 |
abg pairs |
複数の Claude+Codex ペアのリスト表示、削除、クリーンアップ |
abg doctor |
読み取り専用の診断(環境、デーモンの健全性、ログ) |
abg budget |
各アシスタントのサブスクリプションクォータの状態を表示 |
abg kill |
デーモンと管理中の Codex TUI を graceful に停止 |
abg dev |
開発者向け – ローカルマーケットプレイスを登録し、プラグイン同期を強制 |
どんな人が使うか
- Claude Code と Codex にすでにアクセスしている シングル開発者 で、両者が自動的に協働したい人。
- マルチエージェントコーディングワークフロー、タスク分割、異なるLLMプロバイダ間のクロスレビューを研究する 研究者。
- 長時間のコード生成ジョブを実行する チーム で、一方のプロバイダのクォータが切れたときでも作業を維持したい人。
制限事項(明記済み)
- ローカルのみ – ホスティングされた、マルチテナントサービスではない。
- 特定の2つのアシスタント(Claude Code と Codex)のみをサポート。汎用的なオーケストレーションフレームワークではない。
- セキュリティ境界は最小限。両アシスタントとワークスペースを信頼していることを前提としている。
詳細情報の入手先
- ウェブサイト & デモ: https://raysonmeng.github.io/agent-bridge/(実際のセッションのアニメーション再生)
- ドキュメント: リポジトリ内の
docs/フォルダ – マニュアル、トラブルシューティングガイド、クロスネットワーク「ルーム」機能の詳細を含む。 - コミュニティディスカッション: LINUX DO 開発者フォーラム(README内リンク)。
TL;DR
AgentBridge は、Bun を基盤とする軽量なデーモンと CLI を備えたツールで、Claude Code と OpenAI Codex が1つの開発セッション内で会話し、タスクを分割し、お互いの出力をレビューできるようにします。ターンの調整、クォータの引き渡し、メッセージフィルタリングを自動で処理します。手動でのコピーペーストなしに2つのLLMコーディングアシスタントが協働したい開発者を対象としています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト