
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 分