Skip to content

Repo Mesh

Cloud Only

Repo Mesh は Cloud バージョン でのみ利用可能です。同じアカウントの複数のデーモンを調整するもので、セルフホストの単一マシン構成では提供されません。

ダッシュボードは一度に 1 つのエージェントを表示します。Repo Mesh は、接続されたデーモンを 1 つのコントロールプレーンのもとに置きます。1 つの コーディネーター セッションが、多数のマシン — または同じマシンの多数の分離された git ワークツリー — で実行中のエージェントに作業を渡し、結果を収束させます。作業を分割し、アイドルなノードにそれをクレームさせ、マージを着地させましょう。

クラウドダッシュボードは、Repo Mesh ページ(/mesh)で mesh を表示します。

仕組み

Repo Mesh は 直接のデーモン間 P2P DataChannelnode-datachannel 経由)で実行されます。クラウドサーバーの WebSocket は SDP offer/answer/ICE のシグナリングのみを中継し、両方のデーモンが同じアカウントに属していることを認可します。

これはデーモンの調整です — ダッシュボードコマンドのフォールバックでは ありません。ダッシュボードのコマンドとデータのトラフィックは、依然としてダッシュボード↔デーモンの P2P チャネルのみを使用します。Repo Mesh はそれをサーバー経由で再ルーティングすることはありません。

コーディネーターデーモンが集約 mesh_status スナップショットを所有します。ワーカーセッションはコーディネーターによってディスパッチされ、デフォルトで自動承認されます。完了は 証拠ベース です — git ステータス/チェックポイントと台帳イベントであり、エージェントの自己報告ではありません。Repo Mesh ツールは、mesh モードの MCP サーバーを通じてコーディネーターセッションに公開されます — MCP サーバー を参照してください。

中核となる概念

  • Node — mesh に参加するワークスペース: エージェントが実行できるリポジトリのチェックアウト、または分離された git ワークツリー。
  • Mission — それに向かって作業するタスクをグループ化し、永続的な記録として残る目標。バッチをキューに入れる前にミッションを作成し、結果が決まったら completed または abandoned としてマークします。
  • Task — ノード上のエージェントが実行する作業の単位で、pending → assigned → completed/failed の順に移動します。
  • Queue — アイドルなノードが自律的にクレームする待機タスクのデーモンローカルなリスト。キューはローカルファーストで権威があります。Cloud/D1 は軽量なメンバーシップとシグナリングメタデータのみを保持します。
  • Ledger — ノード全体ですでに起きたことの追記専用の mesh 監査ログ(履歴であり、To-Do リストではありません)。境界付きの P2P 台帳スライスを通じてデーモン間で照合されます。
  • Refinery — ワークツリーブランチをそのベースに再収束させるプロセス: 検証 → マージ → プッシュ → クリーンアップ

オーケストレーション: プルベースのタスクキュー

特定のマシンにタスクをプッシュして待つのではありません。ミッションに対してタスクをキューに入れると、アイドルなノードがローカルファーストのキューから自律的に作業をプルします。つまり:

  • マシンとプロバイダーにわたって一度に作業をファンアウトできます — あるノードで Claude Code、別のノードで Codex、3 番目のノードで Gemini。
  • 遅い、または忙しいノードは、単にこれ以上作業をクレームしません。速いアイドルなノードがキューを消化します。
  • コーディネーターは、各セッションをポーリングするのではなく、完了/失敗イベントを監視します。

これが、1 人の人間が同時に多数のエージェントを調整できる理由です: 目標をタスクに分解し、アイドルなノードに自己割り当てさせ、収束をレビューします。

リポジトリ中心のコラボレーション

Repo Mesh は、同じリポジトリを複数の場所から同時に作業する ことを中心に構築されています:

  • ワークツリー分離 — 各ノードは分離された git ワークツリーになれるため、同じリポジトリの並列エージェントが互いの作業ツリーを踏み荒らすことがありません。
  • 自動収束 — Refinery は完了したワークツリーブランチを受け取り、ベースに収束させます: 検証し、マージし、プッシュし、クリーンアップします。
  • ブランチ収束の分類 — 触れられたすべてのノード/ブランチは、正確に 1 つの最終状態に着地します(main にマージ済み、マージが必要なプッシュ済みフィーチャーブランチ、レビューでブロック、クリーンアップ候補、またはマージ不可能)。これにより、何も静かにはぐれたブランチに残されることがありません。
  • 安全なサブモジュール処理 — 収束はサブモジュールの到達可能性を考慮します。サブモジュールコミットがサブモジュールの origin からまだ到達できないブランチは、盲目的にマージされる代わりにレビューのために保留されます。

クロス検証(MAGI)

別個のタスクを分割することに加えて、Repo Mesh は 同じ読み取り専用の調査 を複数の マシン × プロバイダー のレプリカに送り、結果を合成できます — 合意と相違を一緒に(MAGI)。

独立したマシン上の独立したエージェントを通じて同じ質問を実行することは、単一のエージェントの見解よりも信頼できます: 合意が答えを浮かび上がらせ、不一致がより詳しく見るべき部分を浮かび上がらせます。

次のステップ

ホスティングされたクラウドのドキュメントはこちらです。オープンソースおよびセルフホストのドキュメントは OSS リポジトリにあります。