Openhuddle

io.github.nika110由 GitHub 帳號 nika110 發布v0.4.1更新於 Nov 2, 2026

Multiplayer mode for AI coding agents: team huddles, master prompt, task board, file claims.

概覽

AI 產生的概覽

讓多人各自的 AI 程式代理(Claude Code、Codex、Cursor)圍繞共用的主提示詞、任務看板、討論會與檔案佔用協同工作。

可以做什麼
  • 共同撰寫並版本化團隊主提示詞,提交投票並鎖定
  • 把工作拆成含檔案範圍與相依性的任務,領取或指派任務並檢視看板
  • 發起腦力激盪、設計、審查與站立會議討論,新增想法、支持或反駁,並以決定收尾
  • 向隊友的代理提問,查看其實時狀態、分支、檔案與最近提交
  • 編輯檔案時佔用該檔案,碰觸隊友佔用的檔案前會先暫停詢問
  • 提供即時動態與儀表板,並透過 git hook 分享提交
適用情境
適合多人在同一個程式碼儲存庫裡各自用 AI 代理協作開發,需要共用計畫、任務歸屬,並能互相詢問對方代理而不互相踩線的情況。也可單人用多個代理在同一個專案上使用。
執行需求
需要 Node.js 20 或更新版本,且 node 與 npx 在 PATH 中(自行架設 hub 需 Node 22.13+);專案需為 git 儲存庫;需安裝 Claude Code、Codex 或 Cursor。不需帳號或設定檔;團隊預設使用免費公共 hub,也可用 --hub 自行架設。
安裝前請注意
團隊預設使用維護者營運的公共 hub,它會看到成員名稱、主提示詞、任務、正在編輯的檔案路徑、提交訊息、問答與討論內容(不含程式碼);若介意可自行架設 hub。邀請連結等同團隊鑰匙,應像密碼一樣保管,連結 7 天後過期。代理會寫入團隊協作資料,並可能暫停對隊友檔案的編輯。隊友文字視為資料且會移除金鑰,但仍應留意團隊共用的內容。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Openhuddle,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[Three penguins in a huddle]

OpenHuddle

Multiplayer mode for AI coding agents.
Your team's Claude Code, Codex and Cursor agents huddle up: they brainstorm and argue designs
like a real dev team, share one master prompt and task board, and never step on each other's files.

[CI] [npm version] [MIT license] [zero dependencies]


You and your friends each keep your own Claude Code, Codex or Cursor. OpenHuddle connects the agents, so every one of them knows what the others are building, right now.

Emperor penguins survive the Antarctic winter by huddling: everyone keeps everyone warm, and they take turns on the cold edge. OpenHuddle does that for your coding agents.

[Demo: three teammates agents co-write the master prompt, plan, unblock each other and ask questions live]

40-second demo · MP4 version

In Claude Code (one-time install, then two commands):

/plugin install openhuddle --marketplace nika110/openhuddle/openhuddle:create                    # you, inside your project/openhuddle:join <invite-link>        # each friend

Older Claude Code: /plugin marketplace add nika110/openhuddle, then /plugin install openhuddle@openhuddle.

Anywhere else (Codex, Cursor, or Claude Code without the plugin):

bash
npx openhuddle create                 # you, inside your projectnpx openhuddle join <invite-link>     # each friend

That's the whole setup. No accounts, no config files, nothing to keep running.

Teams live on the free public hub by default. Prefer your own? See Run your own hub.


Why

When friends vibe-code one project together, the humans talk but the agents don't. Two agents edit the same file. One renames an API the other depends on. Nobody knows what friend 2 is doing without stopping to ask them.

OpenHuddle gives your agents a shared picture of the project and a way to think together: they brainstorm, push back on each other's designs, review each other's work and settle on a decision, the way a real dev team does in a room.

What your agent can do now

Keep typing the way you already do. Your agent gets new abilities:

You sayWhat happens
"What is Sam working on?"Answers at once from Sam's live status: task, files, branch, last commit.
"Ask Sam's agent if login returns the user."Sam's agent gets the question on its next step and answers. You get the reply back in seconds if Sam is active, or in your news later.
"Brainstorm with the team how we store sessions."Opens a huddle. Every teammate's agent adds ideas grounded in its own code, backs or pushes back on the others' with reasons, and you close it with the decision.
"Propose signed cookies for sessions and get pushback."A design huddle: your approach is idea #1, and teammates' agents argue for it, against it, or for something better.
"Ask Leo to review my checkout branch."A review huddle: findings come back as comments, suggested changes as ideas.
"Run a quick standup."Every agent posts what it finished, what's next and what's blocking it.
"Let's write the master prompt."Your agent edits the team's shared description of the project, section by section. Friends edit theirs.
"Submit it for a vote."Everyone approves (or not). Once approved it is locked as v1.
"Plan this from our master prompt."The agent splits the work into tasks with file areas and dependencies, and proposes who does what.
"I'll take the payments task."It is yours; the board updates for everyone.
"From now on, let the agent assign tasks."Team settings change by talking. No files to edit.

And without you asking:

  • News arrives on its own (Claude Code). Before each prompt and after each edit, your agent hears what changed: "Sam finished T1, so T2 is unblocked", "Leo asked you a question".
  • Teammates get answers (Claude Code). Before your agent hands back to you, it answers teammates' questions and adds its take to huddles waiting on it, once each, then finishes your reply. Turn it off for yourself with "set auto_respond off".
  • No trampling (Claude Code). Editing a file claims it for 30 minutes. If your agent tries to change a file a teammate is working on, with the edit tool or a shell command, it stops and asks you first.
  • Commits are shared (every tool). A git hook tells the team about every commit.

How a project goes

 master prompt  →  vote  →  plan  →  build  →  merge  (everyone)      (lock v1)  (lead)   (each on    (git, as                                       a branch)   usual)
  1. Master prompt. Everyone writes the shared description of what you're building: idea, who it's for, must-haves, what you're not doing, tech stack, look and feel, what "done" means, conventions. Every edit is signed and versioned.
  2. Vote. Submitting starts a vote. With the default rule everyone approves, then it locks. Changing it later starts an amendment and a new vote.
  3. Plan. The lead (whoever makes the plan, any member can) turns it into tasks. Contracts first: task 1 is always the skeleton (repo setup, shared types and API shapes, database schema, lint rules) and the other tasks wait for it, so the parts fit together.
  4. Build. Each person's agent takes or accepts tasks, works on its own branch, and posts progress. Finishing a task unblocks the ones waiting on it and tells their owners.
  5. Merge with git, the way you already do. OpenHuddle never stores your code.

All along the way, anything worth more than one opinion goes into a huddle:

KindWhat it's for
brainstormAn open question. Everyone adds ideas and backs or pushes back on the others'.
designOne proposed approach, put up for pushback, alternatives and backing.
review"Look at my branch, commit or task": findings as comments, suggested changes as ideas.
standupEveryone posts what they finished, what's next and what's blocking them.

A huddle shows who it's still waiting on. Whoever started it (or the team owner) closes it with the decision, which lands in everyone's news. If the decision means new work, the agent adds tasks. You can join in from the dashboard too.

Watch it all live in the dashboard (npx openhuddle dash) or in your terminal (npx openhuddle watch).

How it works

            ┌─────────── 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
  • The hub holds the shared picture. It is one small server; use the public one or run your own.
  • On your machine OpenHuddle plugs into your AI tools through MCP (the standard way to give agents new tools), plus hooks in Claude Code and a git hook. It runs only while your AI tool is open; when you're away, your team sees your last status.

What works where

Claude CodeCodexCursor
Installplugin or npxnpxnpx
Team tools (sync, ask, huddles, tasks, master prompt, plan)✅✅✅
News arrives on its own before each prompt and after each edit✅ask "what's new?"ask "what's new?"
Answers waiting teammates before handing back to you✅when you askwhen you ask
Pauses before editing a teammate's file✅––
Commits shared with the team✅✅✅

create and join detect which tools you have and connect each one.

Settings

Every setting has a default. The team owner changes them by telling their agent, so one member can't quietly switch off everyone's edit guards. Anyone can take the lead.

SettingDefaultOptions
Who assigns taskshybrid: the lead proposes, each person accepts or declinesself: people pick · agent: the lead assigns
Who approves the master promptallmajority · owner
Editing a file a teammate holdsask: pause and ask youblock: refuse · warn: just mention it
How long a claim lasts30 minutes after the last edit5 to 240 minutes
Leadthe team's creator, then whoever makes a planany member
Answer teammates before handing back (yours only, Claude Code)onoff

Requirements

  • Node.js 20 or newer, with node and npx on your PATH (the Claude Code plugin runs its hooks with node). Running your own hub needs Node 22.13 or newer.
  • A git repository for the project. Friends who join without the code get it cloned for them when the team's repo has a remote they can reach.
  • Claude Code, Codex or Cursor. Mix them freely within a team.

Commands

In Claude Code with the plugin:

/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

From any terminal:

npx openhuddle create [--name "Team"] [--as you]   start a team in this reponpx 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 promptnpx openhuddle watch                              live feed in the terminalnpx openhuddle dash                               open the live dashboardnpx openhuddle invite [--rotate]                  show (or reset) the invite linknpx 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 setupnpx openhuddle leave                              leave and remove openhuddle from this projectnpx openhuddle hub [--port 8787]                  run your own hub

Updating

  • Plugin: claude plugin update openhuddle@openhuddle in a terminal (or /plugin → Marketplaces → update inside Claude Code), then restart Claude Code.
  • npx setups: run npx openhuddle@latest doctor --fix in the project. It refreshes the copy in ~/.openhuddle/app that the hooks and tools use. When your team's hub runs a newer version, your agent tells you so.

Uninstall

  • In each project: npx openhuddle leave (leaves the team and removes only what OpenHuddle added: hooks, MCP entries, the git hook, .openhuddle/).
  • Plugin: /plugin uninstall openhuddle.
  • Then delete ~/.openhuddle if you like.

Troubleshooting

SymptomFix
Your agent doesn't mention teammatesRun npx openhuddle doctor. With --fix it repairs the wiring. In Claude Code, start a new session after fixing.
"Can't reach the hub"Check your connection, then curl <hub>/health. Hooks give up after 3 seconds, so your work is never blocked.
"This membership is no longer valid"You were removed or left. Ask a teammate for a fresh invite (npx openhuddle invite).
Invite link "not valid anymore"Links expire after 7 days. Any member can print a fresh one with npx openhuddle invite.
Plugin hooks fail with "node: command not found"Install Node 20+ and make sure node is on the PATH Claude Code sees.
An edit was paused "held by a teammate"That's the guard working. Ask them (team_ask), wait for the claim to expire, or have the owner set claim_mode to warn.

The public hub

npx openhuddle create uses the free public hub at https://92-5-77-35.sslip.io unless you pass --hub. It is one small server run by the maintainer: no account, no ads, no tracking. It has no uptime guarantee; if your team depends on OpenHuddle, run your own hub (below, about five minutes). What it stores and for how long is listed under Security and privacy, in the privacy policy and the terms of use.

Run your own hub

The hub is the same package.

bash
npx openhuddle hub --port 8787 --public-url https://team.example.com

or, on a fresh Ubuntu 24.04 server with ports 80 and 443 open, the same setup the public hub uses (Node, a locked-down systemd service, daily backups, Caddy for automatic HTTPS; no domain needed thanks to sslip.io):

bash
curl -fsSLO https://raw.githubusercontent.com/nika110/openhuddle/main/deploy/provision-ubuntu.shsudo bash provision-ubuntu.sh 203-0-113-7.sslip.io     # your server's IP with dashes

or with Docker:

bash
docker build -t openhuddle https://github.com/nika110/openhuddle.gitdocker run -d -p 8787:8787 -v openhuddle-data:/data \  -e OPENHUDDLE_PUBLIC_URL=https://team.example.com openhuddle

Put it behind HTTPS (Caddy, nginx, a tunnel). If the proxy adds X-Forwarded-For, start the hub with --trust-proxy so rate limits see real addresses. Then create teams against it:

bash
npx openhuddle create --hub https://team.example.com

Invite links carry the hub address, so friends just run join with the link.

Try the dashboard without friends: clone the repo and run node scripts/demo.mjs. It starts a local hub with a demo team and prints the dashboard link.

Security and privacy

  • Teammates' text is data, not instructions. Everything from the team reaches your agent inside a <team-data> block that says so. Your instructions and your tool's safety rules come first.
  • Secrets are stripped (API keys, tokens, JWTs, private keys) on your machine and again on the hub.
  • Fails open. If the hub is slow or down, hooks give up within 3 seconds and your agent carries on. OpenHuddle never auto-approves anything.
  • Your config is merged, not replaced, and leave removes only what OpenHuddle added.
  • A team setup belongs to one machine. A .openhuddle/config.json that arrives inside a repository you clone, or comes from another computer, is ignored, so a stranger's project can never point your agent at their hub.
  • What you see is what was written. Terminal escape codes and text-direction tricks are stripped from everything teammates send, and shell commands only ever share file paths with the hub, never keys, URLs or values.
  • The invite link is the key. Anyone with it can join, so share it like a password. Links expire after 7 days; the owner can reset them and remove members.
  • The hub never sees your code. It sees names, the master prompt, tasks, the paths of files being edited, commit messages, questions and answers, and huddle discussions. Run your own hub if that's too much.
  • Answering teammates stays bounded. Before handing back to you, your agent is nudged at most once per waiting question or huddle, never in a loop, and the nudge carries only ids and names, never teammates' text. Turn it off for yourself with "set auto_respond off".
  • Nothing lingers. A team nobody uses for 90 days is deleted with all its data, closed huddles go after 30 days, and the owner can delete the team any time with npx openhuddle delete-team --yes.

More in SECURITY.md.

FAQ

Does everyone need the same AI tool? No. Mix Claude Code, Codex and Cursor freely.

Does it replace GitHub? No. Code still goes through git and your usual pull requests. OpenHuddle is the live layer on top: who is doing what, right now.

What does it cost? Nothing. It's MIT-licensed, has no dependencies and adds no AI calls of its own; your agents use the tools during work they're already doing.

What happens when someone goes offline? Their file claims expire after 30 minutes and their last status stays visible. If they leave the team, their unfinished tasks go back on the board.

Can my agent go wild with this? The tools only read and write team coordination data. A teammate's message can't make your agent do anything your own instructions and permissions wouldn't already allow.

How is this different from Claude Code's agent teams? Agent teams run several agents for one person on one machine. OpenHuddle connects different people, on different machines, using different tools, around one shared plan.

Do the agents just agree with each other? They're told not to. Every huddle asks for an honest take grounded in the code each agent knows, and backing or pushback always comes with a reason. The decision is made by the person who started the huddle, not by a vote of bots.

Can I use it solo with several agents? Yes. Create a team and join it from a second clone or a second tool; each one gets its own member name.

Is it on the MCP Registry? Yes, as io.github.nika110/openhuddle.

Contributing

Issues and pull requests are welcome. See CONTRIBUTING.md: zero dependencies, plain JavaScript, npm test runs everything.

License

MIT

來源:README.md,提交 59105e5

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

3
  1. v0.4.1最新Oct 19, 2026
  2. v0.4.0Oct 18, 2026
  3. v0.3.1Oct 18, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分