Project Zurvan
Project Zurvan 将原始文档转换为互相链接、可搜索、适合 git 管理的维基,再通过 Model Context Protocol(MCP)服务器提供给 AI 智能体。这个本地优先的 LLM 知识引擎受 Andrej Karpathy 的个人知识管理笔记启发,面向需要长期结构化记忆、又不希望被云服务绑定的研究者、工程师和智能体。
源代码仓库为私有仓库。如需申请访问,请联系我。
01 / 概览
知识与检索
追踪一个类型化知识点,从来源到智能体上下文
选择一种知识类型,查看它从来源文档到检索的示意关系。以下标签描述架构,不包含私有语料示例。
示意架构 · 未展示语料记录或检索结果来源文档Markdown · PDF · TXT · 图像
从来源材料提取;链接会跨来源累积
主张: 由混合搜索检索;图邻居可补充相关上下文
混合检索FTS5 + 语义搜索 · 可选图邻居扩展
MCP 上下文供智能体使用的搜索与上下文工具
所选类型的含义
- 主张
主张节点将陈述保存为结构化知识,并关联回来源材料。
- 概念
概念节点将主题连接到本地知识库中的相关知识。
- 实体
实体节点表示可与主张和概念相连的具名对象。
- 决策
决策节点将决策记录为类型化条目,可与相关上下文一起检索。
此示意不声称完整保留来源、完整覆盖溯源关系或达到完整检索召回;它只展示文档所述的数据模型和检索阶段。
Zurvan 仓库为私有;此公开架构使用通用标签,不包含语料记录。
问题
LLM 智能体缺少能够跨会话保留的结构化记忆。现有 RAG 管线要么依赖云基础设施,要么丢失知识关系,例如哪项声明支持哪个决策、哪些概念互相矛盾。本地方案需要摄取任意文档,以图结构保留关系,并以可查询、保护隐私的形式提供给智能体。
解决方案概述
- 构建本地 MD、PDF、TXT 和图像摄取管线,写入 SQLite 知识存储。
- LLM 提取声明、概念、实体和决策等类型化节点,随语料增长跨来源增量积累。
- 融合 FTS5 与语义搜索,通过图邻居扩展为智能体构建深层上下文。
- MCP stdio 服务器向 Claude Code 和 Cursor 提供 zurvan_search、zurvan_context、zurvan_remember、zurvan_decision_add 及图工具。
- 多项目联邦管理独立知识库,支持跨库搜索、矛盾检测和政策漂移监测。
02 / 证据
证明与验证
- 18 个已完成开发阶段中,218 项测试通过。
- MCP 服务器已验证,并提供 Claude Code 和 Cursor 客户端配置指南。
- 集成 Obsidian 知识库,使用颜色区分 7 类知识:声明、概念、实体、决策、会话、矛盾和综合。
- 证据包、报告、审查、发布管线可完全离线运行。
- 为 Claude Code 和 Codex 记录智能体工作流:预检、编辑后检查和会话结束。
03 / 方法
构建
技术栈
- Python 3.10+
- SQLite FTS5(混合搜索)
- MCP stdio 服务器
- OpenAI / Anthropic / Mock LLM 提供方
- 兼容 Obsidian 的知识库布局
- 将 Markdown、PDF、TXT 和图像摄取为互相链接、可搜索、适合 git 的维基。
- LLM 提取类型化的声明、概念、实体和决策,并跨来源增量积累。
- FTS5 与语义混合搜索结合图邻居扩展,构建密集上下文包。
- MCP stdio 服务器向 Claude Code 和 Cursor 提供 zurvan_search、zurvan_context、zurvan_remember、zurvan_decision_add 及图工具。
- 多项目联邦支持跨库搜索、矛盾检测和独立知识库政策监测。
- 18 个已完成阶段中,218 项测试通过。
安全
- 本地优先设计,不使用云存储或向外部传输文档内容。
- MCP 默认只读,写入需显式启用标志。
- 项目路径保存在 ~/.zurvan/projects.json,绝不提交到版本控制。
- Mock LLM 提供方支持安全开发和测试,避免暴露 API 密钥。
- 智能体记忆按知识库隔离,跨库联邦需显式注册。