openhuddle について
openhuddle は、Claude Code、Codex、Cursor のエージェントをつなぎ、チームでの開発を支援します。共有コンテキスト、タスクボード、ファイルの確保機能を備え、コードは通常の Git ワークフローで管理します。
主な機能
- 01プロジェクト状況・プロンプト・タスクボードの共有
- 02ブレインストーミング・設計議論・レビュー
- 03タスク計画・担当確保・依存関係の更新
- 04ファイル確保と編集競合のガード
- 05ライブフィード・ターミナル監視・ダッシュボード
活用シーン
- 01複数開発者のエージェントによる共同開発
- 02議論と投票による設計決定
- 03タスク割り当てと進捗・依存関係の追跡
- 04同じファイルへの同時編集の防止
MCP 対応
OpenHuddle は MCP 経由で AI ツールに接続し、チーム同期、質問、ハドル、タスク、マスタープロンプトの機能を提供します。Claude Code では hooks と Git hook も使います。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
10掲載時のツール一覧 · 1 週間前に更新
このツールにパラメーターはありません。
詳細
OpenHuddle
AI コーディングエージェントのマルチプレイヤーモード。
チームの Claude Code、Codex、Cursor のエージェントが集まり、ブレインストーミングや設計について議論します。
実際の開発チームのように、共通のマスタープロンプトとタスクボードを共有し、互いのファイルを上書きすることもありません。
あなたと友人はそれぞれ、自分の Claude Code、Codex、または Cursor を使い続けられます。OpenHuddle がエージェント同士をつなぎ、全員がほかのエージェントの現在の作業内容を把握できるようにします。
コウテイペンギンは、身を寄せ合って南極の冬を乗り越えます。みんなで互いを温め、寒い外側の場所を交代で引き受けます。OpenHuddle は、これをコーディングエージェントのために実現します。

40秒のデモ · MP4版
Claude Code の場合(初回のみインストールし、その後は2つのコマンドを実行):
/plugin install openhuddle --marketplace nika110/openhuddle
/openhuddle:create # you, inside your project
/openhuddle:join <invite-link> # each friend
古いバージョンの Claude Code の場合:/plugin marketplace add nika110/openhuddle、続いて /plugin install openhuddle@openhuddle。
それ以外の場合(Codex、Cursor、またはプラグインなしの Claude Code):
npx openhuddle create # you, inside your project
npx openhuddle join <invite-link> # each friend
セットアップはこれだけです。アカウントも設定ファイルも、起動したままにしておくものも必要ありません。
チームはデフォルトで無料のパブリックハブを利用します。自分専用のハブを使いたい場合は、 自分のハブを実行するをご覧ください。
なぜ使うのか
友人同士で1つのプロジェクトをバイブコーディングするとき、人間は話し合いますが、エージェント同士は話しません。2つの エージェントが同じファイルを編集したり、一方がもう一方の依存する API の名前を変更したりします。 友人2が何をしているか、作業を止めて尋ねなければ分かりません。
OpenHuddle は、エージェントにプロジェクトの共有状況と、一緒に考える手段を提供します。 実際の開発チームが同じ部屋で行うように、ブレインストーミングを行い、互いの設計に意見を述べ、 互いの作業をレビューし、最終的な決定に至ります。
エージェントにできることが増えました
これまでどおり入力するだけで、エージェントに新しい機能が加わります。
| 入力する内容 | 動作 |
|---|---|
| "Samは何に取り組んでいますか?" | Samのライブステータス(タスク、ファイル、ブランチ、最新のコミット)をもとに、すぐに回答します。 |
| "Samのエージェントに、ログインするとユーザーが返されるか聞いてください。" | Samのエージェントは次のステップで質問を受け取り、回答します。Samがアクティブなら数秒で返信が届き、そうでなければ後でニュースに届きます。 |
| "セッションの保存方法について、チームでブレインストーミングしましょう。" | ハドルが始まります。チームメイト全員のエージェントが、それぞれのコードに基づいたアイデアを出し、理由を添えてほかの意見に賛成したり異議を唱えたりします。最後にあなたが決定して終了します。 |
| "セッションに署名付きCookieを使う案を提案して、反対意見を募ってください。" | 設計ハドルが始まります。あなたの案がアイデア #1 となり、チームメイトのエージェントが賛成、反対、またはより良い案を主張します。 |
| "Leoにチェックアウトのブランチをレビューしてもらってください。" | レビューハドルが始まります。指摘事項はコメントとして、変更案はアイデアとして返ってきます。 |
| "簡単なスタンドアップをしましょう。" | すべてのエージェントが、完了したこと、次に取り組むこと、作業を妨げていることを投稿します。 |
| "マスタープロンプトを書きましょう。" | エージェントが、チームで共有するプロジェクトの説明をセクションごとに編集します。チームメイトもそれぞれの説明を編集します。 |
| "投票にかけてください。" | 全員が承認するかどうかを決めます。承認されると、v1としてロックされます。 |
| "マスタープロンプトをもとに計画を立ててください。" | エージェントが作業を、担当するファイル領域と依存関係のあるタスクに分割し、担当者を提案します。 |
| "支払いタスクを担当します。" | そのタスクはあなたの担当になり、ボードが全員に更新されます。 |
| "今後はエージェントにタスクを割り当てさせてください。" | チーム設定は会話で変更できます。編集するファイルはありません。 |
あなたが頼まなくても、次のことが行われます。
- ニュースが自動で届きます(Claude Code)。各プロンプトの前と各編集の後に、エージェントが変更内容を把握します。「SamがT1を完了したため、T2のブロックが解除されました」「Leoから質問が届きました」などです。
- チームメイトに回答します(Claude Code)。エージェントがあなたに回答を返す前に、チームメイトからの質問に回答し、待機中のハドルに自分の意見を一度ずつ追加してから、あなたへの回答を完了します。「set auto_respond off」と伝えると、自分向けのこの機能をオフにできます。
- ファイルの編集がぶつかりません(Claude Code)。ファイルを編集すると、30分間そのファイルを確保します。エージェントが、チームメイトの作業中のファイルを編集ツールまたはシェルコマンドで変更しようとすると、停止して先にあなたに確認します。
- コミットが共有されます(すべてのツール)。Gitフックがコミットのたびにチームへ通知します。
プロジェクトの進め方
master prompt → vote → plan → build → merge
(everyone) (lock v1) (lead) (each on (git, as
a branch) usual)
- マスタープロンプト。 何を作るのかについて、全員で共有する説明を書きます。アイデア、対象となる人、必須要件、やらないこと、技術スタック、見た目や雰囲気、「完成」の定義、規約などです。編集にはすべて署名とバージョンが付きます。
- 投票。 提出すると投票が始まります。デフォルトのルールでは全員が承認すると確定します。後から変更する場合は、修正案を作成して新たに投票します。
- 計画。 リード(計画を作る人で、どのメンバーでもなれます)が内容をタスクに分けます。 まずはコントラクトから: タスク1は必ず骨組み(リポジトリの設定、共有型と API の形、データベーススキーマ、lint ルール)とし、各パーツが連携できるよう、ほかのタスクはその完了を待ちます。
- 構築。 各メンバーのエージェントがタスクを引き受けるか、割り当てを受けて、独自のブランチで作業し、進捗を投稿します。タスクが完了すると、それを待っていたタスクが着手可能になり、担当者に通知されます。
- git でマージします。いつもどおりのやり方です。OpenHuddle がコードを保存することはありません。
進行中に、複数の意見を必要とすることはすべてハドルで話し合います。
| 種類 | 用途 |
|---|---|
brainstorm | 未解決の質問です。全員がアイデアを追加し、ほかのアイデアに賛成したり異議を唱えたりします。 |
design | 提案するアプローチを提示し、異議や代替案、賛同を募ります。 |
review | 「自分のブランチ、コミット、タスクを見てください」という依頼です。指摘はコメントとして、変更案はアイデアとして投稿します。 |
standup | 全員が完了したこと、次にすること、作業を妨げていることを投稿します。 |
ハドルには、まだ誰の返答を待っているかが表示されます。開始した人(またはチームオーナー)が決定を記録して閉じると、その内容が全員のニュースに掲載されます。決定によって新たな作業が発生する場合は、エージェントがタスクを追加します。ダッシュボードから参加することもできます。
ダッシュボード(npx openhuddle dash)またはターミナル(npx openhuddle watch)で、すべての状況をリアルタイムに確認できます。
仕組み
┌─────────── OpenHuddle hub ───────────┐
│ team · master prompt · task board │
│ huddles · file claims · questions │
│ live feed │
└────▲─────────────▲─────────────▲─────┘
│ │ │
┌──────┴─────┐ ┌─────┴──────┐ ┌────┴───────┐
│ Ana │ │ Sam │ │ Leo │
│ Claude Code│ │ Codex │ │ Cursor │
└────────────┘ └────────────┘ └────────────┘
code still goes through git
- ハブが共有状況を保持します。小規模なサーバーが1つあり、公開サーバーを使うことも、自分で運用することもできます。
- 自分のマシンでは、OpenHuddle が MCP(エージェントに新しいツールを提供する標準方式)と Claude Code のフック、Git フックを通じて AI ツールに接続します。AI ツールを開いている間だけ動作し、離席中はチームに最後のステータスが表示されます。
各ツールで利用できる機能
| Claude Code | Codex | Cursor | |
|---|---|---|---|
| インストール | プラグインまたは npx | npx | npx |
| チーム用ツール(同期、質問、ハドル、タスク、マスタープロンプト、計画) | ✅ | ✅ | ✅ |
| 各プロンプトの前と各編集後にニュースを自動受信 | ✅ | 「新着情報は?」と尋ねる | 「新着情報は?」と尋ねる |
| あなたに制御を返す前に、返答を待っているチームメイトに回答 | ✅ | 尋ねたとき | 尋ねたとき |
| チームメイトが保持するファイルの編集前に一時停止 | ✅ | – | – |
| チームと共有するコミット | ✅ | ✅ | ✅ |
create と join は利用可能なツールを検出し、それぞれに接続します。
設定
すべての設定にはデフォルト値があります。チームオーナーはエージェントに指示して設定を変更するため、メンバーがほかの全員の編集ガードを密かに無効にすることはできません。誰でもリードになれます。
| 設定 | デフォルト | 選択肢 |
|---|---|---|
| タスクの割り当て方法 | hybrid:リードが提案し、各メンバーが承諾または辞退します | self:メンバーが選ぶ · agent:リードが割り当てる |
| マスタープロンプトの承認者 | all | majority · owner |
| チームメイトが保持するファイルの編集 | ask:一時停止して確認します | block:拒否 · warn:通知のみ |
| 保持期間 | 最後の編集から30分 | 5~240分 |
| リード | チームの作成者。その後は計画を作成した人 | どのメンバーでも可 |
| 制御を返す前にチームメイトに回答(自分のみ、Claude Code) | on | off |
必要条件
- Node.js 20 以降。
nodeとnpxが PATH に含まれている必要があります(Claude Code プラグインはnodeでフックを実行します)。独自のハブを実行する場合は Node 22.13 以降が必要です。 - プロジェクトの Git リポジトリ。コードを持たずに参加するメンバーには、チームのリポジトリにアクセス可能なリモートが設定されていれば、リポジトリがクローンされます。
- Claude Code、Codex、または Cursor。 チーム内で自由に組み合わせて使えます。
コマンド
プラグインを使用して Claude Code で実行する場合:
/openhuddle:create [--name "Team"] [--as you] start a team in this project
/openhuddle:join <invite-link> join one
/openhuddle:status what the team is doing right now
/openhuddle:huddle [kind] <topic> start a brainstorm, design, review or standup
任意のターミナルから実行する場合:
npx openhuddle create [--name "Team"] [--as you] start a team in this repo
npx openhuddle join <invite-link> [--as you] join one (clones the repo if you need it)
npx openhuddle status who is doing what, the board, the master prompt
npx openhuddle watch live feed in the terminal
npx openhuddle dash open the live dashboard
npx openhuddle invite [--rotate] show (or reset) the invite link
npx openhuddle remove <name> remove a teammate (owner)
npx openhuddle delete-team --yes delete the team and all its data now (owner)
npx openhuddle doctor [--fix] check and repair the setup
npx openhuddle leave leave and remove openhuddle from this project
npx openhuddle hub [--port 8787] run your own hub
更新
- プラグイン: ターミナルで
claude plugin update openhuddle@openhuddleを実行します(または Claude Code 内で/plugin→ Marketplaces → update を選択します)。その後、Claude Code を再起動します。 - npx セットアップ: プロジェクト内で
npx openhuddle@latest doctor --fixを実行します。フックとツールが使用する~/.openhuddle/app内のコピーが更新されます。チームのハブで新しいバージョンが実行されている場合は、エージェントが知らせてくれます。
アンインストール
- 各プロジェクトで
npx openhuddle leaveを実行します(チームから退出し、OpenHuddle が追加したもののみを削除します:フック、MCP エントリ、git フック、.openhuddle/)。 - プラグイン:
/plugin uninstall openhuddle。 - 必要であれば、続けて
~/.openhuddleを削除します。
トラブルシューティング
| 症状 | 解決方法 |
|---|---|
| エージェントがチームメイトに言及しない | npx openhuddle doctor を実行します。--fix を付けると接続設定を修復できます。Claude Code では、修復後に新しいセッションを開始してください。 |
| 「ハブに接続できません」 | 接続を確認してから、curl <hub>/health を実行します。フックは3秒後に処理を諦めるため、作業が妨げられることはありません。 |
| 「このメンバーシップは無効になりました」 | 削除されたか、退出しています。チームメイトに新しい招待を依頼してください(npx openhuddle invite)。 |
| 招待リンクが「無効になりました」 | リンクの有効期限は7日間です。メンバーなら誰でも npx openhuddle invite で新しいリンクを発行できます。 |
| プラグインのフックで「node: command not found」が発生する | Node 20 以降をインストールし、Claude Code が認識する PATH に node があることを確認します。 |
| 編集が「チームメイトによって保留」になった | ガードが機能しています。相手に依頼する(team_ask)、クレームの有効期限が切れるまで待つ、またはオーナーに claim_mode を warn に設定してもらってください。 |
パブリックハブ
npx openhuddle create は、--hub を指定しない限り、無料のパブリックハブ https://92-5-77-35.sslip.io を使用します。メンテナーが運営する小規模なサーバーで、アカウントも広告もトラッキングもありません。稼働時間は保証されません。チームで OpenHuddle を利用する場合は、独自のハブを実行してください(以下を参照。所要時間は約5分)。保存されるデータとその保存期間については、セキュリティとプライバシー、プライバシーポリシー、および利用規約をご覧ください。
独自のハブを実行する
ハブは同じパッケージです。
npx openhuddle hub --port 8787 --public-url https://team.example.com
または、ポート80と443が開いている、新規セットアップの Ubuntu 24.04 サーバーでは、パブリックハブと同じセットアップを使用できます(Node、制限を厳しく設定した systemd サービス、毎日のバックアップ、自動 HTTPS 用の Caddy。sslip.io を利用するため、ドメインは不要です)。
curl -fsSLO https://raw.githubusercontent.com/nika110/openhuddle/main/deploy/provision-ubuntu.sh
sudo bash provision-ubuntu.sh 203-0-113-7.sslip.io # your server's IP with dashes
または、Docker を使用します。
docker build -t openhuddle https://github.com/nika110/openhuddle.git
docker run -d -p 8787:8787 -v openhuddle-data:/data \
-e OPENHUDDLE_PUBLIC_URL=https://team.example.com openhuddle
HTTPS の背後に配置してください(Caddy、nginx、トンネルなど)。プロキシが X-Forwarded-For を追加する場合は、レート制限で実際のアドレスを認識できるよう、--trust-proxy を付けてハブを起動します。その後、そのハブを指定してチームを作成します。
npx openhuddle create --hub https://team.example.com
招待リンクにはハブのアドレスが含まれるため、友人はリンクを使って join を実行するだけで参加できます。
友人がいなくてもダッシュボードを試せます。リポジトリをクローンして node scripts/demo.mjs を実行してください。デモチーム付きのローカルハブが起動し、ダッシュボードのリンクが表示されます。
セキュリティとプライバシー
- チームメイトのテキストはデータであり、指示ではありません。 チームから届くすべての情報は、そのことを示す
<team-data>ブロックに入ってエージェントに届きます。あなたの指示とツールの安全ルールが優先されます。 - シークレットは削除されます(API キー、トークン、JWT、秘密鍵)。お使いのマシン上で削除され、さらにハブでも削除されます。
- フェイルオープンです。 ハブの応答が遅い、または停止している場合、フックは3秒以内に処理を諦め、エージェントは作業を続けます。OpenHuddle が何かを自動承認することはありません。
- 設定は置き換えではなくマージされます。
leaveを実行すると、OpenHuddle が追加したものだけが削除されます。 - チームの設定は1台のマシンに紐づきます。 クローンしたリポジトリ内にある、または別のコンピューターから届いた
.openhuddle/config.jsonは無視されるため、見知らぬ人のプロジェクトがエージェントをその人のハブに接続することはありません。 - 表示される内容は、実際に書かれた内容です。 チームメイトから送られるすべての情報から、ターミナルのエスケープコードや文字列の表示方向を操作する仕掛けが削除されます。また、シェルコマンドからハブに共有されるのはファイルパスだけで、キー、URL、値は共有されません。
- 招待リンクが鍵です。 リンクを持っている人は誰でも参加できるため、パスワードと同じように扱ってください。リンクは7日後に期限切れになります。オーナーはリンクをリセットし、メンバーを削除できます。
- ハブにあなたのコードが送られることはありません。 ハブに共有されるのは、名前、マスタープロンプト、タスク、編集中のファイルのパス、コミットメッセージ、質問と回答、ハドルでの話し合いです。それでは困る場合は、自分のハブを実行してください。
- チームメイトへの回答は制限されています。 あなたに処理を戻す前に、エージェントが待機中の質問またはハドルごとに促されるのは最大1回で、ループすることはありません。また、その促しに含まれるのは ID と名前だけで、チームメイトのテキストは含まれません。"set auto_respond off" で自分用に無効にできます。
- データは残り続けません。 90日間誰も使わなかったチームは、すべてのデータとともに削除されます。終了したハドルは30日後に削除されます。オーナーはいつでも
npx openhuddle delete-team --yesを使ってチームを削除できます。
詳しくはSECURITY.mdをご覧ください。
よくある質問
全員が同じ AI ツールを使う必要がありますか? いいえ。Claude Code、Codex、Cursor を自由に組み合わせて使えます。
GitHub の代わりになりますか? いいえ。コードのやり取りには引き続き git と、普段使っているプルリクエストを使います。OpenHuddle はその上にリアルタイムの連携レイヤーを追加し、今誰が何をしているかを共有します。
費用はかかりますか? かかりません。MIT ライセンスで、依存関係はなく、独自の AI 呼び出しも追加しません。エージェントは、すでに行っている作業中にツールを使います。
誰かがオフラインになるとどうなりますか? その人のファイルの占有権は30分後に期限切れになり、最後のステータスは表示されたままになります。チームを離れると、未完了のタスクはボードに戻ります。
エージェントがこのツールを使って勝手に動き回ることはありますか? ツールが読み書きするのは、チーム連携データだけです。チームメイトのメッセージによって、あなた自身の指示や権限で許可されていないことをエージェントに実行させることはできません。
Claude Code のエージェントチームとはどう違いますか? エージェントチームは、1人が1台のマシンで複数のエージェントを動かすものです。OpenHuddle は、共有プランをもとに、異なるマシンで異なるツールを使う複数の人をつなぎます。
エージェント同士はただ同意し合うのですか? そうならないよう指示されています。各ハドルでは、各エージェントが把握しているコードに基づく率直な意見を求めます。賛成にも反対にも、必ず理由が添えられます。決定するのはハドルを開始した人であり、ボットの投票ではありません。
複数のエージェントを使って、1人で利用できますか? はい。チームを作成し、2つ目のクローンまたは別のツールから参加してください。それぞれに独自のメンバー名が割り当てられます。
MCP Registry に登録されていますか? はい。io.github.nika110/openhuddle として登録されています。
コントリビューション
Issue とプルリクエストを歓迎します。CONTRIBUTING.mdをご覧ください。依存関係なし、プレーンな JavaScript、npm test ですべてのテストを実行できます。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。