OpenKB 开放知识库

把散落文档编译成互相链接的持久化 Wiki,让知识随摄入累积而非每次查询重新推导。

Star 数
★ 4.9k
最近更新
3 个月前
License
Apache-2.0
主语言
Python

30 秒速览

运行形态
命令行工具网页应用自托管服务
可在哪里用
通用 · 跨平台Codex · Claude Code · OpenAI API · Claude APIChatGPT(部分支持)
费用
软件免费,模型调用费用自付
上手难度
低 · 几分钟可跑通
开始前需要
Python(pip)LLM API 密钥(或基于 OAuth 的提供商)Shell / 命令行网络访问本地文件系统
典型场景
研究者在读十几篇论文时,用 openkb add 逐篇摄入,让 LLM 自动维护概念页与实体页,避免每问一次都重新检索原文。
不适合
  • 希望人工审核或保留手改内容的团队:recompile 会覆盖手动编辑
  • 需要处理非 PDF 长文档或超大规模集合的用户:路线图尚未完成

这个 Agent 能做什么,适合哪些场景?

OpenKB 是 VectifyAI 推出的命令行开源系统,用 LLM 把原始文档编译成结构化、互相链接的 Wiki 式知识库,底层检索由 PageIndex 的无向量、基于推理的树索引提供。它分为两层:负责编译与维护的 Wiki 基础层(openkb init/add/list/status/watch/lint/remove/recompile)和把 Wiki 转化为产出的生成器层(query、chat、visualize、skill new、deck new)。短文档经 markitdown 转成 Markdown 后由 LLM 通读,20 页以上的长 PDF 交由 PageIndex 构建分层树索引,LLM 改为读树,同时原生处理图、表、图片。输出是纯 .md 文件组成的 wiki/ 目录,可直接用 Obsidian 打开查看图谱,也可通过内置的 FastAPI 服务与 Knowledge Workbench 网页界面浏览、上传和流式问答。

openkb init 生成 .openkb/config.yaml 与 wiki 骨架;openkb add 接受文件、目录或 URL,短文档走 markitdown 转 Markdown、长 PDF 走 PageIndex 建树,随后 LLM 依次生成摘要页、读取已有概念页与实体页、做跨文档综合并更新概念与实体、最后更新索引与日志。openkb query 给出带引用的答案并可 --save 落到 wiki/explorations/;openkb chat 提供多轮会话,支持 --resume/--list/--delete 管理会话,会话内可用 /add、/skill、/deck、/lint、/save 等斜杠命令。openkb skill new 从 Wiki 蒸馏出可被 Claude Code、Codex、Gemini CLI 安装的 agent skill,配套 validate/eval/history/rollback;openkb visualize 输出自包含的 3D/思维导图/放射状知识图谱 HTML;openkb deck new 生成单文件 HTML 幻灯片,--critique 走质量评审。模型通过 LiteLLM 调用,provider/model 格式写在 config.yaml,密钥放 .env 的 LLM_API_KEY。

  1. 研究者在读十几篇论文时,用 openkb add 逐篇摄入,让 LLM 自动维护概念页与实体页,避免每问一次都重新检索原文。
  2. 需要长期跟踪某个领域的分析师,把 openkb watch 挂在 raw/ 目录上,新下载的 PDF 落盘即自动编译进 Wiki。
  3. 希望在 Obsidian 里已有知识体系的人,直接把生成的 wiki/ 当 vault 打开,用 [[wikilinks]] 与图谱视图浏览概念连接。
  4. 要把团队知识分发给其他 Agent 的工程师,用 openkb skill new 产出一个可安装到 Claude Code、Codex 或 Gemini CLI 的只读 skill。
  5. 面向扫描版或超大 PDF 的场景,配置 PAGEINDEX_API_KEY 走 PageIndex Cloud 获得 OCR 与更快的结构生成。
  6. 需要在自己的应用里查询知识库的开发者,安装 openkb[web] 后启动 openkb-web,通过 FastAPI 服务与 /docs 交互式文档接入。

如何安装或部署这个 Agent?

需要 Python 环境与 pip。基础安装:pip install openkb;也可用 pip install git+https://github.com/VectifyAI/OpenKB.git 装 GitHub 最新版,或 git clone 后 pip install -e . 做可编辑安装。网页界面与 REST API 需额外 extras:pip install "openkb[web]"。模型密钥写在项目目录的 .env 文件里,形如 LLM_API_KEY=your_llm_api_key;使用 chatgpt/*、github_copilot/* 这类 OAuth 设备流订阅制提供方时无需 API key。若要启用 PageIndex Cloud(扫描件 OCR、更快结构生成),在同一 .env 中再加 PAGEINDEX_API_KEY。

如何使用这个 Agent?

mkdir my-kb && cd my-kb 建目录,运行 openkb init 初始化(此时选模型,如 anthropic/claude-sonnet-4-6 或 gpt-5.4)。随后 openkb add paper.pdf、openkb add ~/papers/ 或 openkb add https://arxiv.org/pdf/2509.11420 摄入内容。提问用 openkb query "What are the main findings?",连续交互用 openkb chat(会话内 /help 看全部斜杠命令)。产出侧可运行 openkb skill new my-expert "Reason like an expert on <your-topic>"、openkb visualize、openkb deck new my-deck "An intro deck on <your-topic>"。网页版:pip install "openkb[web]" 后执行 openkb-web,浏览器打开 http://127.0.0.1:7566/ 进入 Knowledge Workbench;默认本地无鉴权,对外开放前应设置 OPENKB_API_TOKEN。前端二次开发可 cd frontend && npm install && npm run dev。

这个 Agent 有哪些优点和局限?

优点
  • 知识以 wiki/ 目录下的纯 Markdown 与 [[wikilinks]] 落地,天然兼容 Obsidian,图谱可视化与文本编辑器都能直接打开,不存在厂商私有格式锁定。
  • 长文档走 PageIndex 的分层树索引而非向量库,README 明确宣称不需要 Vector DB,检索是让 LLM 在索引上推理,扫描件还可选 PageIndex Cloud 的 OCR 补足。
  • 模型层经 LiteLLM 抽象,README 列出 OpenAI、Claude、Gemini 以及 chatgpt/*、github_copilot/* 等 OAuth 订阅制提供方,切换成本主要体现在改 config.yaml 的 provider/model 字段。
  • 生成器与基础层分离,同一份 Wiki 可产出带引用的答案、多轮会话、可视化图谱、可分发 skill 和 HTML 幻灯片,知识只编译一次可反复复用。
局限
  • 核心流程强依赖 LLM 调用,摄入、查询、技能蒸馏都要消耗模型额度,文档没有给出成本估算或离线兜底方案。
  • 长 PDF 的准确检索依赖 PageIndex,openkb query 的引用质量与建树质量强绑定,扫描件在本地开源版下还需另配云端能力。
  • 知识编译时 LLM 会改写概念页,recompile 会覆盖手工编辑,README 用 --dry-run 提示了这一风险,但缺少版本化或人工审核环节。
  • wiki/AGENTS.md 是 LLM 维护 Wiki 的指令手册,修改结构约定需要理解该文件,存在一定上手门槛。
  • 项目路线图中非 PDF 格式的长文档、嵌套目录、层次化概念索引、数据库存储均未完成,大规模集合场景仍需等待。

这个 Agent 与同类方案有什么区别?

:Karpathy 的手工工作流:短文档由 LLM 直读,长文档遇上下文限制与 context rot,输入靠网页剪藏生成 .md,实体抽取靠手工;OpenKB 用 markitdown 做格式统一的短文档入口,用 PageIndex 树索引处理长文档,输入覆盖 PDF、Word、PPT、Excel、HTML、文本、CSV、Markdown 与 URL,实体(人物、组织、地点、产品)自动抽取并保持同步,输出除 Wiki 外还含 Skill Factory 与 agent CLI 集成。

传统 RAG:README 指出传统 RAG 每次查询都从零重新发现知识、不累积;OpenKB 一次性编译成持久 Wiki,交叉引用预先存在,矛盾会被标记。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
OpenKB 开放知识库 当前 69 · 存在缺口 命令行工具免费 + 模型费 ★ 4.9k 3 个月前 Python Codex · Claude Code · OpenAI API · Claude API
DeepTutor 终身个性化辅导系统 68 · 存在缺口 命令行工具免费 + 模型费 ★ 57k 1 天前 Python Codex · Claude Code · OpenAI API · Claude API
SwarmVault 75 · 表现良好 命令行工具免费 + 模型费 ★ 733 4 个月前 TypeScript Codex · Claude Code
LLM Wiki 74 · 存在缺口 Agent 插件 / 技能免费 + 模型费 ★ 1.5k 14 天前 Python Codex · Claude Code

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
存在缺口
69/ 100 五分制 3.5 / 5
信任安全 16/29
可靠稳定 8/14
适用触发 14/18
规范维护 14/18
有效结果 12/13
证据核验 5/8
查看各维度的扣分理由
信任安全16 / 29 · 2.8/5

SKILL 明确将 wiki 内容视为不可信数据,限制读取路径并避免擅自执行写入命令;工具测试还展示了路径逃逸拒绝。CLI 通过环境变量读取密钥,README 说明 API 默认无认证、需设置令牌后再对外暴露。用户确认和写操作边界有说明,但编译、删除和 Web 上传等影响范围较大,所给材料未完整展示各操作的确认机制,因此未给满分。

可靠稳定8 / 14 · 2.9/5

配置与依赖版本有明确约束,CI 配置覆盖 lint、类型检查、测试及前端构建;材料也列出写入锁、暂存发布和回滚相关机制。README、配置及代码对配置文件路径描述存在差异(README 为 .openkb/config.yaml,测试夹具使用旧式 .openkb/config.yaml,代码片段称配置层级化),材料不足以完整核对;错误提示示例有限,故扣分。

适用触发14 / 18 · 3.9/5

README 覆盖文档整理、长文检索、问答、聊天、技能和演示稿等具体场景,并说明格式、提供商和本地/云 PageIndex 选择。技能明确适用内容与排除项,且可在多种代理 CLI 使用;但具体环境限制和能力边界分散在指南中,未见全面兼容矩阵。

规范维护14 / 18 · 3.9/5

README 以安装、快速开始、架构、命令、配置及集成组织内容,提供多个示例目录和配置参考;Apache-2.0 有许可证文件,项目版本由 VCS 标签生成,CI 与发布流程也有说明。路线图列出尚未完成事项;但样本未给出完整变更日志或清晰的维护责任承诺,仓库与人员信息不能单独证明实际责任安排。

有效结果12 / 13 · 4.6/5

产品将资料编译成可链接、可持续更新的 Markdown 知识库,并提供带引用查询、聊天、图谱、技能和演示稿等可直接使用的输出,目标价值清楚。依赖 LLM,可能涉及 API 成本;生成内容需要人工判断,材料未提供典型运行成本或质量基准,因此成本收益评估不完整。

证据核验5 / 8 · 3.1/5

README 的命令和架构主张有 CLI、依赖配置、技能说明及测试样例部分对应;测试文件提供可读的行为断言,但本评审不据此宣称已执行。样本中存在设计文档式说明与实现片段的交叉佐证,也有只由 README 宣称的能力;叙述通常可区分功能说明与路线图,但缺少完整覆盖使分数保守。

风险与缓解建议
  • API 默认关闭认证;对外开放前应配置 OPENKB_API_TOKEN。
  • 处理敏感文档前,确认所选 LLM 提供商的数据处理方式;材料显示内容会交给 LLM 编译或查询,但未详述保留政策。
  • README 描述 recompile 会覆盖手工编辑,remove 会清理相关页面;执行前使用 dry-run 并备份重要资料。
证据充分度:低 评估于 2026年11月8日 审查版本 ff54396e575e
查看完整评分方法 →
你是这个项目的维护者?把 FARS 徽章加到 README

徽章显示当前的评审分数和结论,点击回到本页。重新评审后约一小时内更新。

FARS

[![FARS 评测](https://followagents.com/badge/openkb.svg?lang=zh)](https://followagents.com/zh/agents/openkb)
<a href="https://followagents.com/zh/agents/openkb"><img src="https://followagents.com/badge/openkb.svg?lang=zh" alt="FARS 评测"></a>

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v0.4.5
    发布说明摘录
    Hotfix to avoid openai InputTokensDetails breaking change. What's Changed fix(deps): pin openai==2.44.0 to avoid InputTokensDetails breaking change by @KylinMountain in https://github.com/VectifyAI/OpenKB/pull/191 Full Changelog: https://github.com/VectifyAI/OpenKB/compare/v0.4.4...v0.4.5
    在 GitHub 查看 ↗
  2. v0.4.4
    发布说明摘录
    What's Changed * fix(converter): move keep_data_uris to convert call and fix lint by @RussellLuo in https://github.com/VectifyAI/OpenKB/pull/165 * feat(mutation): route serial add mutations through coordinator by @gwokhou in https://github.com/VectifyAI/OpenKB/pull/156 * fix(agent): make parallel_tool_calls configurable to fix Amazon Bedrock query/chat (#175) by @KylinMountain in https://github.com/VectifyAI/OpenKB/pull/177 * feat: upgrade pageindex sdk and compile concurrency configurable by @KylinMountain in https://github.com/VectifyAI/OpenKB/pull/174 …
    在 GitHub 查看 ↗
  3. v0.4.3
    发布说明摘录
    What's Changed * fix(lint): don't hide same-stem orphans behind qualified links by @jichaowang02-lang in https://github.com/VectifyAI/OpenKB/pull/147 * fix(compiler): strip cache_control for non-Anthropic providers by @Aldominguez12 in https://github.com/VectifyAI/OpenKB/pull/154 * feat: add serial crash-safe mutation recovery by @gwokhou in https://github.com/VectifyAI/OpenKB/pull/142 * perf(mutation): don't snapshot the whole blob store on every add by @KylinMountain in https://github.com/VectifyAI/OpenKB/pull/155 …
    在 GitHub 查看 ↗

常见问题

它必须用向量数据库吗?
不需要。检索走 PageIndex 的分层树索引,通过让 LLM 在索引上推理实现无向量检索;短文档则由 markitdown 转 Markdown 后整篇交给 LLM。
可以接哪些模型,需要什么凭证?
经 LiteLLM 支持 OpenAI、Claude、Gemini 等多家提供方,配置写在 .openkb/config.yaml 的 provider/model 字段。API key 放在 .env 的 LLM_API_KEY;chatgpt/*、github_copilot/* 这类 OAuth 设备流提供方无需 key,OpenKB 会跳过缺失密钥的告警。
我手改过 Wiki 页面,重新编译会不会被覆盖?
会。openkb recompile 会重写概念页并覆盖手工编辑,官方建议先用 --dry-run 预览;--refresh-schema 还会顺带更新 wiki/AGENTS.md。
长 PDF 处理不好怎么办?
默认用本地开源版 PageIndex,无外部依赖;若 PDF 很大很复杂或为扫描件,可在 .env 设置 PAGEINDEX_API_KEY 启用 PageIndex Cloud 的 OCR、更快结构生成与大规模索引。
生成的 skill 和网址界面能给别人用吗?
openkb skill new 产出可安装的 agent skill,支持 Claude Code 的 /plugin 市场、Codex 的手工软链、Gemini CLI 的 skills install。网页服务默认本地不鉴权,对外暴露前应设 OPENKB_API_TOKEN 要求 bearer token。
这页内容对你有帮助吗?
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。