OpenKB:把文档编译成会自我生长的知识维基
2026 年 4 月,开源项目 OpenKB(Open LLM Knowledge Base)正式发布。它把 Andrej Karpathy 提出的一个概念变成了开箱即用的工具:让 LLM 自动把原始文档编译成带摘要、概念页、实体页和交叉引用的 wiki 知识库,并且持续维护、自动更新——知识像复利一样随时间累积,而不是每次提问都从头推导。
OpenKB 由 VectifyAI(PageIndex 团队)开发,Apache 2.0 开源,目前已在 GitHub 上获得超过 3400 颗星。项目地址:https://github.com/VectifyAI/OpenKB

为什么不是传统 RAG?
传统 RAG 每次查询都要"从零发现"知识:切片、向量化、检索、拼装上下文——每次提问都重来一遍,什么都不会积累下来。
OpenKB 的思路完全不同:它把知识一次性编译成持久的 wiki,之后持续保持更新。交叉引用早已存在,文档间的矛盾会被标记出来,综合回答反映的是所有已消费过的内容,而不是某一次检索的临时拼凑。
官方主页上的描述很直白:https://openkb.ai
核心特性一览
- 广泛的格式支持
:PDF、Word、Markdown、PowerPoint、HTML、Excel、CSV、纯文本、URL 等都能摄入 - 长文档扩展
:基于 PageIndex 树索引,长文档也能精准、无向量、上下文感知地检索 - 原生多模态
:不仅读文字,还理解和检索图表、表格、图片 - 编译式 wiki
:LLM 把文档编译成摘要页、概念页、实体页和交叉链接,并保持同步 - Query 与 Chat
:一次性提问或基于 wiki 的多轮对话,会话可持久化、可续接 - Skill Factory
:从 wiki 中蒸馏出可分发、可复用的 Agent 技能 - OKF 就绪
:wiki 页面遵循 Google Open Knowledge Format 规范,便于知识共享 - Obsidian 兼容
:wiki 就是带交叉链接的纯 Markdown 文件,可直接用 Obsidian 打开看图谱 - 知识工作台(Web UI)
:自带网页界面,可在浏览器中浏览知识库、上传编译文档、流式问答
架构:两层设计
OpenKB 分为两层:底层是wiki 基础层,负责编译和维护知识;上层是生成器层(query / chat / Skill Factory 等),把编译好的知识转化为有用的产出。

短文档 vs 长文档
不同长度的文档走不同的处理管线:
短文档由 LLM 直接全文阅读;长 PDF 则由 PageIndex 处理成层级树索引,LLM 读树而不是读全文,从而实现长文档的准确、可扩展检索。
知识编译流程
每添加一个文档,LLM 会执行:
生成该文档的摘要页 读取已有的概念页和实体页 创建或更新概念,做跨文档综合 创建或更新实体页(人物、组织、地点、产品) 更新索引和日志
一份文档可能触及 10 到 15 个 wiki 页面。知识不断累积:每份新文档都在充实既有 wiki,而不是孤立地躺在那里。
快速上手
安装只需一条命令:
pip install openkb基础使用流程:
# 1. 创建知识库目录并初始化
mkdir my-kb && cd my-kb
openkb init
# 2. 添加文档(文件、目录、URL 都支持)
openkb add paper.pdf
openkb add ~/papers/ # 添加整个目录
openkb add https://arxiv.org/pdf/2509.11420 # 或从 URL 抓取
# 3. 提问
openkb query "What are the main findings?"
# 4. 或者交互式聊天
openkb chat
# (可选)把 wiki 变成其他产出
openkb skill new my-expert "Reason like an expert on <your-topic>" # 可移植的 Agent 技能
openkb visualize # 交互式知识图谱
openkb deck new my-deck "An intro deck on <your-topic>" # 单文件 HTML 幻灯片LLM 配置通过 LiteLLM 支持 OpenAI、Claude、Gemini 等多家提供商,在 .openkb/config.yaml 中用 provider/model 格式指定(如 anthropic/claude-sonnet-4-6),API Key 放在 .env 文件里。订阅制且走 OAuth 设备流的提供商(如 chatgpt/*、github_copilot/*)无需 API Key。
命令全景
第一层:Wiki 基础 —— 编译与维护
真实的编译产物就放在仓库的 examples 目录里:官方用一篇论文(Attention Is All You Need)跑通了全流程,生成了 1 个摘要页、3 个概念页、9 个实体页,以及一次保存下来的 query 回答。所有页面都用 [[wikilinks]] 相互缝合——这种交叉链接本身就是知识图谱。
第二层:生成器 —— 把 wiki 变成产出
生成器读取编译好的 wiki,产出可用的东西:一个答案、一段对话、一个技能目录。wiki 是底座,生成器是表面。
Query 与 Chat:向 wiki 提问
openkb query 回答一次性问题,输出带引用;openkb chat 则是持续的交互式会话。聊天中直接输入 / 即可唤起斜杠命令:/add 可以在不离开对话的情况下补充文档,/skill new 直接把当前会话编译成技能,/save 把对话导出为 wiki 页面。
一个真实的 chat 会话长这样:
OpenKB Chat
~/research-kb · anthropic/claude-sonnet-4-6 · session 20260625-143022-a1x
Type /help for commands, Ctrl-D to exit, Ctrl-C to abort the current response.
>>> How do the two papers differ on their use of attention?
Both rely on scaled dot-product attention, but…
· read_wiki_file(path="concepts/self-attention.md")
· read_wiki_file(path="summaries/deepseek-r1.md")
>>> /save attention-comparison
Saved to wiki/explorations/attention-comparison-20260625.md答案都扎根于 wiki:Agent 会读取 concepts/、summaries/、entities/ 下的页面并展示它的工具调用过程。
Skill Factory:放进一本书,出来一个数字专家
这是 OpenKB 最有想象力的功能。openkb skill new 会把 wiki 蒸馏成一个可移植的 Agent 技能(SKILL.md + references/),Claude Code、Codex、Gemini 都能原生安装加载。把一摞论文丢进去,出来的就是一个其他 Agent 可以随时调用的领域专家。
官方示例用一篇 Transformer 论文生成 transformer-attention 技能,并给出质量评估数据:
$ openkb skill eval transformer-attention --save --count 15
Eval set: 30 prompts
Trigger accuracy: 28/30 (93%) — does the description fire on the right questions?
Body coverage: 27/28 (96%) — does SKILL.md actually support what it promises?技能还支持 validate 结构校验、history 版本历史、rollback 回滚,并自动写入 .claude-plugin/marketplace.json 供分发。
Visualize 与 Deck:让知识看得见、讲得出
openkb visualize 把 wiki 的链接图谱渲染成单文件交互式 HTML,支持 3D 星云、思维导图、放射状三种视图,点击节点可查看详情。官方示例从一篇论文生成 13 个节点、96 条边的图谱。
openkb deck new 则把 wiki 内容生成单文件 HTML 幻灯片:内置 openkb-deck-neon(暗色霓虹玻璃风)和 openkb-deck-editorial(暖色编辑风)两套主题,每套主题都声明了"幻灯片语法"约束(必须含封面和结尾、至少 4 种不同版式、同版式不连排超过 2 张),防止生成结果退化成一堵相同的版式墙。还支持 --critique 让第二遍审查器检查 CSS/UX 问题。
知识工作台(Web UI)与 REST API
OpenKB 自带一个打包好的网页界面,由 REST API 直接伺服在 / 路径:
pip install "openkb[web]"
openkb-web # 服务 API + Workbench,地址 http://127.0.0.1:7566/浏览器打开 http://127.0.0.1:7566/ 即可使用。默认关闭鉴权(本地优先),设置 OPENKB_API_TOKEN 环境变量即可要求 Bearer Token。底层是 FastAPI 服务,交互式 API 文档在 /docs,可导入 Postman。
生态集成
- Obsidian
:wiki/ 就是带 [[wikilinks]] 的 Markdown 目录,直接作为 Obsidian 仓库打开即可浏览图谱;还能用 Obsidian Web Clipper 把网页文章剪进 raw/。 - Claude Code
:OpenKB 自带 SKILL.md,一行命令安装:
`` /plugin marketplace add VectifyAI/OpenKB /plugin install openkb@vectify ``
- Codex / Gemini CLI
:分别通过软链接和 gemini skills install 安装。技能只读,不会在你没要求的情况下擅自修改知识库。
与 Karpathy 原方案的对比
技术栈
PageIndex:无向量、基于推理的文档索引与检索 markitdown(微软):通用文件转 Markdown OpenAI Agents SDK:Agent 框架(通过 LiteLLM 支持非 OpenAI 模型) LiteLLM:多提供商 LLM 网关 Click:CLI 框架 watchdog:文件系统监听
Roadmap 与展望
官方路线图显示:长文档处理将扩展到非 PDF 格式、支持大规模文档集与嵌套文件夹、面向海量知识库的层级概念索引、数据库后端存储引擎——Web UI 已经完成。整个 PageIndex 开源生态还包括 ChatIndex(长对话记忆的树索引)、ConDB(KV 缓存原生上下文数据库)和 PageIndex MCP。
对知识工作者来说,OpenKB 把"整理知识"这件苦差事交给了 LLM,让知识库像代码仓库一样可以维护、演进、分发。文档地址:https://github.com/VectifyAI/OpenKB
资料来源
https://github.com/VectifyAI/OpenKB
https://pageindex.ai/blog/introducing-openkb
https://github.com/VectifyAI/PageIndex
https://github.com/BerriAI/litellm
https://github.com/microsoft/markitdown
https://cloud.google.com/blog/products/data-analytics/how-the-open-knowledge-format-can-improve-data-sharing
https://docs.pageindex.ai/open-source
夜雨聆风