
Vouch
io.github.vouchdev由 GitHub 帳號 vouchdev 發布v1.2.2更新於 Oct 24, 2026
Git-native, review-gated knowledge base for LLM agents. Cited retrieval, audited writes.
概覽
一個 Git 原生、帶審核關卡的知識庫,為 AI 助理提供持久專案記憶,主張須引用來源,且經人工核准後才成為持久知識。
- 可以做什麼
- 檢索與讀取已核准知識:搜尋頁面內文、讀取頁面 markdown 及其引用的主張,並依任務彙整相關主張與頁面(kb_search、kb_read_page、kb_context)。提交新知識:代理以提案形式提交主張和頁面,而非直接寫入。工作階段開始時召回已核准知識,把已核准主張和頁面標題注入第一輪對話。用 LLM 從已核准主張編譯主題頁面,草稿的引用在進入審核前會經機器驗證。透過命令列、瀏覽器主控台或 JSONL 工具伺服器審核、核准或拒絕待處理提案。
- 適用情境
- 適合多個代理或團隊成員共同寫入共享專案知識、需要知道某個結論由誰依據什麼證據決定並可事後稽核的情境。若只有單一寫入者,README 本身也建議用記憶檔案或提示詞即可。
- 執行需求
- 以本機 stdio 程序執行,可從 PyPI 安裝 vouch-kb(例如用 uvx 或 pipx),也可用 Docker。專案內需要 .vouch 目錄;可用 VOUCH_KB_PATH 指定,否則從工作目錄向上尋找。LLM 編譯需要設定模型指令;Docker 示範可傳入 ANTHROPIC_API_KEY。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Vouch,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
vouch
Git-native, review-gated knowledge base for LLM agents. MCP server + JSONL tool server + CLI.
[CI] [PyPI] [MCP Registry] [Python versions] [MIT licensed] [Gittensor impact]
Agents should not start every session with amnesia — but they shouldn't get to write whatever they want either.
vouch gives LLM agents durable memory with an explicit review gate: sessions capture themselves, agents propose writes, and nothing becomes durable knowledge until you approve it. Approved artifacts are plain files under .vouch/ — YAML claims, markdown pages — so the KB lives in your repo, is reviewed like code, diffs cleanly, and travels with git clone.
The destination is the one Andrej Karpathy's llm-wiki idea file sketches: stop using LLMs as search engines that rediscover your documents on every question — use them as tireless knowledge engineers that compile, cross-reference, and maintain a living wiki, while humans curate and think. vouch is that idea with the write path made trustworthy. vouch compile has an LLM draft the topic pages, but every page cites approved claims, every [claim: …] citation is machine-verified before the draft is filed, and the drafts pass through the same review gate as every other write. The LLM compiles; the human approves; the wiki compounds.
"I can do this with one prompt"
Often true — and worth being honest about. If you want your agent to remember things, a paragraph in CLAUDE.md, a memory file, or your host's built-in auto-memory gets you most of the way, costs nothing, and needs no install. Reach for that first. Recall is not a hard problem.
What is hard is trust in the write path, and that's a different problem than memory. Single-writer memory needs no trust model: you're the only author, and a bad line costs you a shrug. The moment writes come from more than one author — several agents, a teammate, a future you who forgot the context — the question stops being "what did we say?" and becomes "who decided this was true, on what evidence, and can I audit it later?" A prompt cannot answer that, no matter how good the prompt is.
That's the whole of vouch:
The same argument as a picture — at one writer the two are the same thing; the gap opens at the second writer and only widens:
[Illustrative line chart of trust in what you read as writers are added. At one writer, a memory file and vouch are identical. From two writers on, the memory file's line decays toward low (last write wins, silently) while vouch's line stays high (every landed write reviewed).]So the honest pitch: vouch is not a better place to put memory — it's a review gate in front of one, and a wiki on the other side of it. If you're solo and happy, one prompt is genuinely fine; vouch's session capture runs passively alongside whatever your host already remembers, rather than replacing it. But once a fleet of agents writes to shared knowledge — or a team does — that pile of notes needs an editor, and an editor is not something you can prompt your way to. The case in full: docs/review-gate.md.
Install
For the full UI experience (recommended first time):
Pre-seeded KB + full webapp console, zero setup. Pass -e ANTHROPIC_API_KEY=sk-ant-... to enable LLM features.
For the full UI without Docker — Python only, no clone, no node:
vouch console serves the same React console as the Docker demo, straight from the installed package.
For CLI + Claude Code integration (most common ongoing workflow):
The one-liner is POSIX sh and never needs sudo — inspect install.sh first if you'd like.
For MCP server or CLI-only use:
For local development — CLI and webapp, both running from source:
make console needs node — it starts vouch serve --transport http and the Vite dev server as a pair, installing the console's node deps automatically on first run. To instead serve the console the way a release wheel does (no dev server), run make webapp-build once, then vouch console. See CONTRIBUTING.md for the full dev workflow.
Reproduce the loop on your project
After exploring the demo above, set up vouch in your own project:
1. Set up the KB and wire Claude Code (one command, one-time, per repo):
install-mcp initialises the KB when no .vouch/ is discoverable (pass --no-init to skip; vouch init still exists for KB-only setup), then writes .mcp.json (the kb.* MCP tools), the /vouch-* slash commands, and the weight-bearing hooks — SessionStart recall, UserPromptSubmit per-prompt recall, SessionEnd rollup. Per-tool PostToolUse observe / Stop answer are opt-in (capture.realtime; default off). It also registers vouch as a local-scope MCP server in ~/.claude.json (the ⚑ line in the output). Reload your editor window (VS Code: Developer: Reload Window) so it loads.
Why the extra registration? A committed
.mcp.jsonis a project-scope server, and Claude Code only loads one after a per-user approval — which the VS Code extension never prompts for, so.mcp.jsonalone leaves thekb_*tools invisible in the extension (they sit at "pending approval", while the hooks quietly work — easy to misread as "connected"). The local-scope entryinstall-mcpwrites is trusted on sight, so a fresh install just connects. Verify withclaude mcp list(vouch … ✔ Connected). Pass--no-approveto skip it and approve.mcp.jsonyourself.
What you'll see. Every prompt is checked against the KB first. When vouch knows something relevant, the answer opens with "From vouch memory:", grounded in the cited items; when it doesn't, it opens with "Nothing in vouch on this." — recall is visible on every turn, never silent. (A fresh KB knows almost nothing yet: work a session or two so capture fills it, then ask about the project again.)
Prefer one install for every project?
vouch install-mcp claude-code --globalwires vouch once, machine-wide: user-level hooks and commands in~/.claude/plus a user-scope MCP server in~/.claude.json. Every Claude session in every folder then captures + recalls into that folder's own.vouch/— data stays per project. Runvouch initonce in each project you want vouch in; by default a folder without a KB never captures anywhere — its session opens with a one-line "runvouch initto enable durable memory here" note and thekb_*tools say the same. Safe next to existing per-project installs: duplicate hooks collapse and capture dedups by event id.
Optionally, a personal catch-all KB. The global install asks one question (or pass
--personal-fallback; later:vouch hub init-personal --fallback): opt in, and folders without a project KB capture into a personal KB at~/.local/share/vouch/personalinstead of nowhere — each captured source stamped with the folder it came from, and the session banner saying exactly where the knowledge is going. It is one store shared by every KB-less folder: recall in any of them reads the whole personal KB, so knowledge captured while working in one such folder can surface in another (the injected block says so). Projects with their own.vouch/are never affected. When such a folder later becomes a real project,vouch init+vouch adoptmoves its captures into the new project KB through that KB's own review gate: sources copy byte-identically, every claim is re-proposed and its byte-offset receipt re-verified, and the project's review config decides durability — adoption never bypasses review. Strictly opt-in; without it, nothing changes.
2. Point compile at an LLM — the only step that needs a model. In .vouch/config.yaml:
3. Work a session — it captures itself. Use Claude Code normally. Each tool call is harvested into a gitignored scratch buffer, and at session end the buffer rolls up — mechanically, no LLM — into one pending session-summary page. Never auto-approved: the next session greets you with
4. Approve at the gate.
Receipt-verified claims skip the queue by default (review.auto_approve_on_receipt: true in the starter config): each session's captured answers become recallable memory with no review pass. What lands in vouch review is everything the mechanical check can't vouch for — session-summary pages, entities, relations, and claims that can't quote their source. Set the flag to false in .vouch/config.yaml to put every write behind the gate.
Want a browser UI for reviewing and proposing? The video shows the vouch webapp — chat, review queue, claims, and stats. Your options:
- No setup: the Docker demo above
- pip, no clone:
pipx install 'vouch-kb[web]'thenvouch console(Python only, no Docker, no node) — open http://localhost:5173 - Local development: clone the repo, run
make console - Lighter built-in queue:
vouch review-ui(also in the[web]extra) - CLI-only:
vouch pending,vouch show <id>,vouch approve <id>,vouch reject <id> --reason "…"
To point any of them at an existing KB, start a backend in your project — vouch serve --transport http --port 8731 — then connect the console to :8731 (for the Docker demo, pass -e VOUCH_TARGET=http://host.docker.internal:8731).
5. Compile the wiki.
Every [claim: …] marker and [[wikilink]] in a draft is verified mechanically against the store; drafts whose citations don't hold are dropped before they reach you. See docs/compile.md.
6. Start the next session — it already knows. The SessionStart hook runs vouch recall, injecting every approved claim and page title into the first turn, so the session starts from your reviewed knowledge instead of re-discovering it.
Detection is Claude Code's hook contract: whatever a SessionStart hook prints becomes context in the session's opening turn. vouch recall prints the digest the video closes on — claims with their full text, pages by id and title:
Only approved artifacts are ever emitted — archived, superseded, and still-pending items are excluded — and the digest is size-guarded (recall.max_chars) with an explicit truncation notice.
How the approved pages actually get used from there: recall carries the titles, and the session pulls full content on demand through the kb.* MCP tools — kb_search matches page bodies, kb_read_page returns a page's markdown plus the claims it cites, and kb_context bundles the most relevant claims and pages for a stated task. To pull a topic in explicitly, use the /vouch-recall <topic> slash command, or just ask Claude to check the KB. One thing to know: pages still sitting in vouch review are invisible to all of this — the gate applies to retrieval too, so a compiled page only starts informing sessions once you approve it.
7. Commit the knowledge with the code.
Pending drafts (proposed/) and the derived search index (state.db) are gitignored — what lands in history is exactly what passed review.
The rules underneath
- Writes require approval. Agents file proposals via the
kb.*MCP tools (orvouch serve --transport jsonl); approval is the only path to a durable artifact, and the approver must differ from the proposer unless you opt out. - Claims must cite sources. A claim without evidence is a validation error, not a warning. Sources are content-hashed; the same evidence registered twice de-duplicates.
- History is append-only. Every mutation lands in a committed audit log — who proposed, who approved, citing what, when.
Going further
- docs/example-session.md — the full capture→approve→recall walkthrough with real output
- docs/getting-started.md — the agent-side flow
- SPEC.md — the protocol contract (object model, JSONL envelopes, trust metadata)
vouch --help/vouch capabilities— the full CLI and machine-readable method surfacevouch install-mcp <host>also wires cursor, codex, zed, windsurf, openclaw and friends (adapters/)- vouch webapp — the chat-first browser console from the video; vouch-desktop wraps the same loop as a desktop app
- CONTRIBUTING.md — development setup and the test gate
- docs/mining-on-vouch.md — get paid to improve the retrieval engine: submit ranking code, scored by a reproducible benchmark; the best verified strategy ships as the default
Incubated by Gittensor
Vouch was incubated and supported by Gittensor, a protocol that rewards open-source contributions. The knowledge-base-as-code pattern and review-gated persistence model emerged directly from conversations about trusted AI agents and long-term memory in collaborative development workflows.
License
MIT.
來源:README.md,提交 0530942
工具
0版本歷史
1- v1.2.2最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分