当 AI 编码 Agent 需要知识库:OpenKnowledge 开源方案让 AI 助手拥有持久记忆
每次用 Claude Code 重构一个模块时,它都不记得上周你写的架构决策文档。每次让 Cursor 处理一个新功能,都要重新解释项目约定和代码规范。AI 编码 Agent 确实强大——但它们没有长期记忆。每个新会话都是一次”失忆”重启。
这个问题在团队协作中更明显:Agent A 今天写的分析文档,Agent B 明天完全不知道。项目知识散落在对话历史里,既不可搜索也无法版本管理。
OpenKnowledge 正是为解决这个问题而生——一个开源的、AI Agent 原生的 Markdown 知识库,让你的 AI 编码助手拥有可读写、可版本控制的持久记忆。
痛点对比:当 Agent 需要知识库
| 维度 | 传统方案(Obsidian/Notion) | OpenKnowledge |
|---|---|---|
| MCP 集成 | 无,Agent 无法直接读写 | 17 个 MCP 工具,Agent 原生读写 |
| Agent 活动记录 | 不追踪 | 每次 Agent 编辑都有记录和回滚 |
| 版本管理 | 付费功能或手动管理 | Git 原生,带时间线恢复 |
| 安装复杂度 | 独立应用,需导出导入 | 一行命令集成到现有项目 |
| 价格 | 免费版有限制 / 付费订阅 | 开源免费(GPL-3.0) |
| 文件锁定 | 专有格式 / 半开放 | 纯 Markdown,编辑器无关 |
快速上手:五分钟让 Agent 拥有知识库
前提:Node.js 24+(或 macOS 用户直接下载桌面应用)。
npm install -g @inkeep/open-knowledge cd your-project ok init ok start --open
ok init 会自动为 Claude Code、Cursor、Codex 配置 MCP 集成。你只需要打开浏览器中的编辑器,就能看到项目的 Markdown 文件树。
第一次打开项目时,在 Cursor 中批准 open-knowledge MCP 服务器即可。之后 AI Agent 就能通过 MCP 工具读写知识库。
三层架构:为什么这是正确的设计
OpenKnowledge 的核心架构是三层分离:
Layer 1 — 编辑器:面向人类的 WYSIWYG Markdown 界面,支持 Mermaid 图表、LaTeX 公式、YouTube 嵌入、Callout 块、折叠区块等丰富内容。支持源模式切换。
Layer 2 — 知识引擎(MCP):薄薄的 MCP 包装层,向外暴露 17 个工具。Agent 通过这个层读写所有文档,每次操作自动维护 frontmatter、backlinks 和编辑历史。
Layer 3 — 文件系统:最底层就是纯 Markdown 文件,版本控制在 Git 中。没有独立数据库,没有专有格式,无需数据迁移。
这个设计的精妙之处在于:你始终可以直接在终端里用 cat、grep、vim 操作文件,完全绕开编辑器。没有任何锁定——你可以随时从编辑切换到命令行,或者反过来。
Agent 如何读写知识库:17 个 MCP 工具
OpenKnowledge 的核心价值在于它的 MCP 接口。Agent(Claude Code、Cursor、Codex 等)通过这些工具像操作数据库一样读写知识库:
读取类:
exec— 在文件系统上执行只读 shell 命令(cat、ls、grep、find、head等),同时返回 frontmatter 和 backlinkssearch— 全文搜索(BM25 + 标题权重 + 时间衰减,可启用语义搜索)links— Wiki 链接图查询(反向链接、正向链接、孤立页面、枢纽页面)history— 文档版本时间线config— 读取合并配置
写入类:
write/edit/delete— 对 document、folder、template、asset 的 CRUD 操作move— 移动/重命名文件并重写所有受影响的链接checkpoint— 创建项目级快照restore_version— 恢复到历史版本
协作类:
share_link— 生成基于 Git 的分享链接conflicts/resolve_conflict— 读取和解决 Git 同步冲突
这个接口设计保证了 Agent 的所有操作都经过一致性检查——links 和 backlinks 自动维护,不会出现悬空引用。
Agent 活动追踪:谁改了什么,一目了然
在实际使用中,最实用的功能之一是 Agent Activity 面板。
当 Claude Code 或 Cursor 通过 MCP 修改文档时,编辑器顶部会出现该 Agent 的头像图标。点击即可查看当前会话中 Agent 修改的所有文件列表,每个文件展开后能看到逐次编辑的增删行数和 diff。Agent 会话未结束时,可以直接撤销任意一次编辑。
如果 Agent 会话已经结束,时间线(Timeline) 功能保留了完整的编辑历史——包括人类编辑、Agent 编辑、Git 同步、乃至文件系统外部修改。每条记录都有 contributor 归属和变更摘要,支持 unified/split diff 两种视图。恢复操作是 append-only 的,不会删除历史。
这种设计特别适合”Agent 写 → 人类审”的工作流:让 Agent 自由探索和编辑,你通过活动面板和时间线审核每处变更。
LLM Wiki 与 Entity Vault 两种工作流
OpenKnowledge 内置了两个预配置工作流:
Karpathy 式 LLM Wiki:以文档为中心的知识管理,适合项目文档、技术笔记、API 参考。文档之间通过 [[Page]] Wiki 链接语法互联,自动维护 backlinks。
Entity Vault(GBrain 兼容):以实体为中心的知识管理,追踪人物、公司、会议、概念。每个实体分为”已确认事实”和”时间线证据”两部分。这种结构与 Garry Tan 的 gbrain 工具兼容——你可以在 OpenKnowledge 中编辑,在 gbrain 中做向量检索和图索引。
通过 ok seed --pack entity-vault 即可生成标准目录结构。
横向对比
| 特性 | OpenKnowledge | Obsidian | Notion | 纯 Git Wiki |
|---|---|---|---|---|
| 开源 | ✅ GPL-3.0 | ❌ | ❌ | ✅ |
| MCP Agent 集成 | ✅ 原生 | ❌ | ❌ | ❌ |
| 本地优先 | ✅ | ✅ | ❌ | ✅ |
| 实时协作 | ✅ CRDT | ❌ | ✅ | ❌ |
| Agent 活动追踪 | ✅ | ❌ | ❌ | ❌ |
| 版本时间线 | ✅ Git + 增强 | ✅ 插件 | ✅ | ✅ Git |
注意事项
- Node.js 24+ 是硬性要求,早期版本无法通过
engines检查 - Windows 暂不支持桌面应用和 CLI(官方文档标注)
- 知识引擎对 Agent 的操作会经过一致性校验,但手动编辑的文件不会触发 backlinks 更新——需要用 MCP 工具或编辑器进行修改
- 语义搜索需要 opt-in 启用,因为涉及内容外传
- 目前项目处于早期阶段(GitHub 24 stars),文档和 API 可能随版本变化
总结
OpenKnowledge 解决了 AI 编码 Agents 的一个核心痛点——缺乏持久记忆和协作上下文。通过将知识库设计为普通的 Markdown 文件 + Git + MCP 接口的三层架构,它在开放性和智能性之间找到了一个很好的平衡点。
如果你的工作流中频繁使用 Claude Code、Cursor 或 Codex,并且希望它们能记住项目上下文、维护技术文档、或者参与知识库写作,OpenKnowledge 值得一试。只要你的环境满足 Node.js 24+,从 npm install 到让 Agent 第一次读写知识库,只需五分钟。
相关链接: