Synod Council

io.github.naruminho由 GitHub 帳號 naruminho 發布v0.2.0更新於 Oct 24, 2026

Durable symmetric deliberation between two AI agents, with isolated worktrees and peer review.

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

概覽

AI 產生的概覽

讓兩個 AI 代理進行持久、對等的審議,包含同儕審查、驗證與 git worktree 隔離。

可以做什麼
Synod Council 提供一個 MCP 伺服器,用於在兩個對等 AI 代理之間啟動結構化審議。工作階段依 plan、cross-review、synthesis、ratification、reconciliation 等明確階段推進,狀態保存在 SQLite 中,因此崩潰的執行會留下可檢查的痕跡。每個工作階段擁有自己的 git worktree 和分支,實作後會執行驗證檢查並帶有有界重試。綜合者由問題文字的雜湊決定,而不是由誰先發言決定。
適用情境
當兩個代理需要共同做出真實決策或程式碼變更,且不希望其中一個淪為另一個的橡皮圖章時使用。它適合需要經過同儕審查和核准步驟後才發布的架構決策與程式碼變更。
執行需求
以本機 stdio 程序執行,可透過 pipx 或從原始碼安裝,因此需要 Python 和 git。每個參與的代理必須能透過轉接器存取,例如 這樣的 HTTP 端點。未宣告任何帳戶、API 金鑰或環境變數。
安裝前請注意
代理會在各自的 git worktree 和分支中進行真實程式碼變更;README 說明代理從不推送到 main,並且在「完成」與「發布」之間有面向人工的核准步驟,請保留該核准。審議狀態儲存在 SQLite 中,HTTP 伺服器範例綁定到本機連接埠。

安裝

在 SourceWeft 中

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

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

其他 MCP 客戶端

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

README

Synod

Durable, symmetric deliberation between two AI agents — with isolated git worktrees, peer review, automated validation, and an explicit approval workflow.

Synod started life as the "council" inside a personal AI infrastructure where two autonomous agents (an orchestrator and an executor) needed to make real decisions and real code changes together — without one of them silently becoming the other's rubber stamp.

Why

Most multi-agent frameworks are orchestration theater: one agent calls another as a tool and calls the output "collaboration". Synod is built around a different premise — two agents that are peers by construction:

  • Symmetric protocol — either agent can initiate; the protocol has no privileged side.
  • Identity contract — every prompt re-establishes who the agent is, so a weak or distracted model can't drift into answering as its peer.
  • Bias-resistant synthesis — the synthesizer for each problem is chosen by hashing the problem text, not by who spoke first.
  • Durable state — every session lives in SQLite with explicit stages (plan, review, synthesize, ratify, ...). A crashed run leaves an inspectable trail, not a mystery.
  • Code changes land through worktrees — each session gets its own git worktree and branch. Agents never push to main; a human-facing approval step stands between "looks done" and "published".
  • Validation with remediation — checks run after implementation, failures go back to the implementing agent with bounded retries before a human ever sees it.

Install

bash
pipx install synod-council

Or from source:

bash
git clone https://github.com/naruminho/synod-councilcd synod && pip install .

Usage

Library

python
from synod.deliberation import Deliberator, Store, HTTPAdapter
adapters = {    "Alice": HTTPAdapter("Alice", "http://127.0.0.1:9001/ask"),    "Bob":   HTTPAdapter("Bob",   "http://127.0.0.1:9002/ask"),}synod = Deliberator(adapters, Store("council.db"))result = synod.run("Should we use SQLite or Postgres for this workload?", initiator="Alice")print(result.decision, result.confidence, result.status)  # consensus | reconciled

MCP server

Synod ships an MCP server so any MCP-capable client (Claude Desktop, Claude Code, Cursor, ...) can start a deliberation:

synod-mcp   # stdio transport

Add it to your client config and ask your agents to deliberate instead of guessing.

HTTP server

bash
synod-server --port 8790curl -X POST http://127.0.0.1:8790/run -d '{"problem": "...", "initiator": "Alice"}'

How a deliberation flows

plan (parallel) → cross-review (parallel) → synthesis → [ratification → reconciliation?]

If reviewers raise unresolved blockers, or confidence lands below 0.7, the candidate decision goes to ratification by the non-synthesizing peer; a rejection forces explicit reconciliation instead of silent consensus.

Status

Extracted and battle-tested from a production personal infrastructure where it has been deciding architecture and shipping code since 2026. The two-agent design is intentional; N-participant support is on the roadmap.

License

MIT

來源:README.md,提交 eb2f2e3

工具

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

版本歷史

1
  1. v0.2.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

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

  • 近 30 天內可連通25 分

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

  • 已宣告認證方式10 分

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

  • 已列出工具15 分

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

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