The High Council

io.github.muad-yasin由 GitHub 帳號 muad-yasin 發布v0.8.4更新於 Nov 14, 2026

Several models from different labs plan in a blind proposal, debate and review loop. Your own keys.

已驗證STDIO僅桌面開發者工具AI 與機器學習

概覽

AI 產生的概覽

讓多個廠商的模型組成「議會」,對專案想法進行盲提案、辯論與評審,最後產出方案與給編碼代理的建置交接文件。

可以做什麼
  • 針對一個想法安排多模型辯論:盲提案、記錄異議、合併與撤回
  • 依事先寫好的是/否驗收標準評審並修訂草稿,規劃鏈由三層評審把關
  • 把每次執行寫入資料夾:方案、完整辯論紀錄、含 token 與費用核算的結構化報告,以及給編碼代理的建置交接文件
  • 在花錢前為單次執行或遞迴子方案樹估價,並可從觸及上限中斷處繼續執行
  • 接受評審未達成一致的方案、在執行途中加入評審裁決,並在執行中附上專案摘錄
適用情境
當你希望專案、功能或更新方案由多個不同模型反覆推敲,而不是只靠一個模型,並且想保留分歧紀錄時使用。適合準備把最終方案交給編碼代理執行、且願意按次付費的人。
執行需求
以 npx 啟動的本地程序,需要 Node.js 24 或更新版本。需自備各廠商 API 金鑰:快速上手鏈需要 OPENROUTER_API_KEY 以及 Claude Code 之類的代理工作階段,ANTHROPIC_API_KEY 為選用;其他鏈需要 ANTHROPIC_API_KEY、COHERE_API_KEY、DEEPSEEK_API_KEY、GOOGLE_API_KEY、GROQ_API_KEY、MISTRAL_API_KEY、OPENAI_API_KEY、TOGETHER_API_KEY、ZAI_API_KEY 中對應的金鑰。COUNCIL_WORKDIR 可指定輸出資料夾。
安裝前請注意
執行會在你的服務商端產生實際費用:內建鏈每次預估約 9 至 37 美元,遞迴樹最多可能支付 12 次執行。COUNCIL_MAX_USD_LIMIT 設定用戶端無法提高的硬性上限,付費執行需先手動輸入花費上限。任務文字會傳送給鏈中指定的服務商;預設會檢查電子郵件、IBAN 與卡號並中止,但無法辨識姓名或地址。金鑰只會傳給你選擇的服務商。

安裝

在 SourceWeft 中

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

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

其他 MCP 客戶端

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

README

[Sower Industries diamond logo]

THE HIGH COUNCIL

"A beginning is the time for taking the most delicate care that the balances are correct"
Frank Herbert, Dune


You bring an idea for a new project, a feature or any kind of update.
THC debates your idea and the Software Engineering behind it.
Through multiple debate rounds and 3 layers of judges, they catch a lot of things that even your strongest initial draft-writing LLM will not have thought about.
The goal is to get everyone to work together, in harmony and with manners.

[License: MIT] [npm] [MCP Registry]

Website · Pricing · AI-Readme (the full text) · Changelog · Known limits

[The council chamber from the project website: the debate graph of a real recorded run (a water-collector design), with the Claude seat in the middle.]

Try it in 30 seconds

npx the-high-council council demo

No keys, no network, $0. Add it to Claude Code as an MCP server:

claude mcp add council -- npx -y the-high-council council --mcp

Claude Desktop, the plugin and other clients: Use it with your coding agent.

Contents

What you get

  1. Criteria before planning. Your request becomes a short list of yes/no checks the plan has to pass, written before anyone plans.
  2. Blind proposals and a recorded debate. Each lab proposes without seeing the others, then reads the rest with the names hidden and posts support, an objection or a merge. Every author then keeps, amends or withdraws its own proposal, on the record.
  3. Review and revision. A panel of judges checks the draft against the criteria, and a failed check sends it back for a revision. The planning chains judge in three layers. An objection that was never settled stays on the record; nothing is averaged away.
  4. A handoff for building. HANDOFF.md is written for whoever builds the plan: the acceptance checks and the instructions a coding agent works from, and in the planning chains the milestones too.

Every run writes a folder, runs/<id>/:

FileWhat it gives you
deliverable.mdThe plan
BOARD.mdThe whole debate: every post, every withdrawal
HANDOFF.mdThe build instructions and the acceptance checks, for the coding agent
report.jsonThe same board, structured, with the token and cost accounting

On what this does and doesn't claim. This repo publishes the mechanism: the chains, the seat rosters, the stage order. Exact effectiveness numbers are not measured yet. We did have a selected Council debate measured by frontier AI on the run that planned update 0.8.3: the plan improved in every measured rubric but one, and that one was that it got longer and harder to read. What the repo does, concretely, is make disagreement between models visible and recorded instead of averaged away - you can read who objected to what, who withdrew a proposal under argument, and who held their position.

What's new in 0.8.4

  • The ladder is the shape of every shipped planning chain. Layer 1 revises in blocks, layer 2 is asked in visits, then layer 3 reads. There is no round limit, so a run ends on agreement, on a stall the top layer holds, or at the limit you type or when you stop it.
  • A plan the panel did not agree on can be accepted as it stands. council accept records who accepted it, when and why, and which objections and late findings still stand. It agrees with no judge and marks nothing agreed.
  • You can give the judges a ruling in the middle of a run. council ruling-add asks for a ruling; once you have approved it, the judges and the reviser read it from the next pass on.
  • Excerpts. The session that handles the run can add text from your project during the run: files it read, or passages a judge or a proposer asked for. Every later seat is shown the text.
  • Seat personas. A seat can carry a name as its title or, with an optional feature, debate in the voice of that persona (PERSONAS.md).
  • Gone: the experimental advice add-on. Changed: the default spending cap is $12 (it was $7), and Node.js 24 or newer is the supported version.

0.8.4 also changes things a script or a client may rely on. Read "Changes that can break a script or a client" in the CHANGELOG before you update.

What's new in 0.8.3

Your first run

The quick-start chain, plan-mini-council (it is also the default chain), needs an OpenRouter API key (one account that reaches many labs' models) and an agent session of your own, such as Claude Code, that answers its writer stages. With an Anthropic API key as well, its Claude seats are called at Anthropic directly; without one they go through OpenRouter.

  1. Keys. Put the keys in a file called .env in the folder you run from:

    dotenv
    ANTHROPIC_API_KEY=your-key-hereOPENROUTER_API_KEY=your-key-here

    Add .env to your .gitignore (and runs/ if your ideas are private).

  2. Your task.

    bash
    npx the-high-council initnpx the-high-council doctor

    init writes tasks/my-first-task.md. Edit it into your own idea, in plain words: what you want, the constraints that matter, and what done looks like.

  3. Price it, then run it.

    bash
    npx the-high-council --task tasks/my-first-task.md --chain plan-mini-council --dry-runnpx the-high-council --task tasks/my-first-task.md --chain plan-mini-council --max-usd 12

  • The limit. The first command spends nothing. A paid run starts only after you type its spending limit on a screen; --max-usd 12 puts $12 there as the suggestion.
  • Pauses. A run can also pause and wait for an answer from your Claude Code session, or from you: the quick-start chain's writer stages (skeleton, build, revise and handoff) are such pauses, and so is a swing between two judge layers' objections.
  • A stop at the limit. A run that stops at its limit keeps every stage it paid for. npx the-high-council --resume runs/<id> continues it: the screen asks for a new total above what the run has counted, and the finished stages cost nothing the second time.

Use it with your coding agent

Runs as an MCP server (so a coding-agent session such as Claude Code can drive it) or as a CLI. Bring your own API keys. Nothing is resold, nothing is hosted for you, and your keys go only to the providers you choose, never to us.

Pricing

What each shipped chain costs per run, in US dollars. council doctor prints the same expected figures; --dry-run prices your own task, and a longer task costs more.

  • Expected is worked out by the code before anything is sent, from the shipped price table and the chain's own size estimates.
  • The shipped planning chains have no round limit: there Expected assumes three top-layer reads, an assumption that a lower number you type with --rounds replaces.
  • A run can cost more than Expected. The limit you type is what stops it.
  • Tested is what real runs cost; – means no run has been reported yet.
  • Seats your Claude Code session answers cost $0 here, because they run on your own subscription.
ChainExpectedTested (real runs)
Planning chains
plan-mini-council$9.52–
plan-medium-council$14.78–
plan-high-council$31.56–
plan-the-high-council$31.71–
Variants
plan-claude-council$37.11–
Chinese-lab alternatives
plan-china-medium-council$8.82–
plan-china-high-council$14.88–
Other
local-ollama$0.00–

With recursive councils, a tree at the default limits runs up to 12 councils (the root and 11 sub-plans): the root on the chain you name with --chain, each sub-plan on the chain you name with --child-chain, or on the root chain when you name none. With one chain throughout, which is the default, you pay for up to 12 runs of that chain; council tree start --dry-run prints the projection for your own task and chains, and the limit you type stops the tree.

Ran one of these chains? CONTRIBUTING.md says how to send us the figure.

Recursive Councils: Plans within Plans within Plans

Since 0.8.3. A milestone of the plan can get a Council of its own, and its milestones can again, so the runs form a tree under one root plan. You type the tree's spending limit once, and every sub-plan runs under it. A sub-plan inherits the acceptance criteria its parent delegates to it and cannot narrow the ones that hold for the whole tree. Approvals, and the decisions taken when a run gets stuck, are recorded, and the record says who made each: you, or the Claude Code session driving the tree.

Price a whole tree before anything is spent:

bash
npx the-high-council tree start --task tasks/my-first-task.md --chain plan-mini-council --dry-run

Without --child-chain the sub-plans run on the root chain, so a root on a High chain plans its sub-plans at High prices; the projection shows the price.

Tree commands and exit codes

Known limits, stated plainly

What this version cannot promise is written down limit by limit in KNOWN-LIMITS.md: what the spending limit can and cannot hold, what has run only with mock seats or has not been verified, and what a run's record cannot know.

Privacy

This tool collects nothing. Stated plainly, not as a claim about quality:

  • No telemetry, no analytics, no tracking of any kind, anywhere in this repo.
  • The network calls this tool makes are to the AI provider APIs you configure with your own keys (ANTHROPIC_API_KEY, OPENROUTER_API_KEY, and so on), when you start a real run with a non-mock, non-external seat, and two public requests to OpenRouter that send no key and nothing of your project: council refresh-zdr-list (OpenRouter's list of zero-retention hosts), and the look-up of the hosts that serve one model (named by its id in the address), which the price_raise tool makes and which a run makes at a terminal when a price refusal stops it (exit 24). council doctor and council demo make zero network calls; both are implemented to read only local files and environment variable names.
  • The landing page in docs/ ships no JavaScript and loads no third-party resource - see test/landing-page.test.js, which fails the build if either ever changes.
  • Everything a run produces - the task, the debate, the deliverable, the cost - is written to a folder on your own disk (runs/<id>/) and nowhere else. Deleting that folder deletes the record. See src/spend.js's own documentation for why spend accounting is derived from those folders rather than kept in a separate log.
  • Personal data. A run sends your task to the providers your chain names. Keep personal data out of it where you can.
    • The check. Every run checks the task for an email address, an IBAN or a card number before anything is sent, and stops by default when it finds one: nothing is sent or spent. To send it anyway, run the same command again with --allow-pii <types>. It does not recognise names, addresses or other personal details.
    • What it shows. The stop and the logs name the kind of match and where it is (line and column), never the value: on a stop the lines are printed (over MCP they go to the start's log file) and no run folder exists yet; under warn the run goes on and writes the same lines to its run.log, and a tree member also to its WARNINGS.md.
    • The law. If you have to send personal data, use providers that sign a data processing agreement with you. Whether a run complies with the GDPR depends on those agreements and on what your task contains; THC makes no claim about it.
  • If you opt in to the audit export ("audit": true, and on automatically whenever a policy.json exists), each run also writes audit.jsonl into its own folder: signed, hash-chained lines (each carries the previous line's hash) that verifyAuditLog in src/audit.js checks offline. Seat, cost and timing only, never task or prompt text. Format: docs/audit-schema.md.

Reporting a bug

Open an issue at github.com/muad-yasin/the-high-council-mcp/issues. For anything security-related, or that should not be public, write to [email protected] instead.

If this makes you money

The licence is MIT. You owe nothing, and that is the whole licence - nothing below changes it.

If The High Council ends up helping you build something that earns, I'd ask for 0.7% of what it earns. Not a fee, not a clause, not a subscription. A request between people who build things.

There is no reporting, no audit, no tracking, and nothing checks. No is a complete answer - use it, fork it, sell what you build with it, and never think about this section again. That is a fine outcome and it's why the licence says what it says.

If you'd rather say yes: pay what you think it's worth.

License

MIT. See LICENSE. The section above is a request, not a term of it.

來源:README.md,提交 12992f7

工具

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

版本歷史

8
  1. v0.8.4最新Nov 14, 2026
  2. v0.8.3Oct 26, 2026
  3. v0.8.2Oct 7, 2026
  4. v0.8.1Oct 6, 2026
  5. v0.8.0Oct 2, 2026
  6. v0.7.9Sep 29, 2026
  7. v0.7.8Sep 26, 2026
  8. v0.7.7Sep 26, 2026

評分

已滿足適用檢查項的 50%

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

  • 近 30 天內可連通25 分

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

  • 已宣告認證方式10 分

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

  • 已列出工具15 分

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

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