knowledge-rag:给 Claude Code 配一个离线的本地文档检索
把本地 PDF、Markdown、代码放进文件夹,就能用混合检索和重排序查询,嵌入模型在本机运行,无需 API key 和外部服务。
项目与安装文档
查看项目https://github.com/lyonzin/knowledge-rag
手头有一堆内部文档、技术报告和代码笔记,想让 Claude Code 查着回答,常见做法要么上传到云端知识库,要么自己搭 LangChain、向量库和嵌入服务。knowledge-rag 把这套东西压成一个 Python 包:文档丢进 documents/ 目录,重启 MCP 客户端,智能体就能调用 search_knowledge 检索,嵌入和重排序都在本机进程里完成。
能做什么
- 混合检索:语义向量加 BM25 关键词,再用交叉编码器重排序,
search_knowledge一次返回排好序的片段。 - 管理文档:
add_document、update_document、remove_document维护索引,add_from_url抓取网页并清洗后入库,reindex_documents支持增量或全量重建。 - 检验效果:
evaluate_retrieval计算 MRR@5、Recall@5 等指标,方便调参时判断检索是否真的变好了。 - 格式和部署:README 列出 35 种文件格式的解析器;单客户端用 stdio,多客户端可以用 Streamable HTTP 共享一个进程,带可选的 Bearer 鉴权、限流和 Prometheus 指标。
适合谁
- 想让编程智能体查阅本地技术文档、内部规范,又不能把资料传到外部服务的开发者。
- 做安全研究的人,README 专门举了把 MITRE ATT&CK、威胁报告入库检索的例子。
接入方式
需要 Python 3.11 或更新版本。安装后初始化,会生成 config.yaml 和 documents/ 目录:
pip install knowledge-rag
knowledge-rag init
多个客户端共用时,用 knowledge-rag --transport streamable-http 启动,再把客户端指向 http://127.0.0.1:8179/mcp。
编辑点评
这是一个少有人知的好项目:截至 2026-10-06 只有约 290 star,但 README 写得很克制,主动说明哪些功能需要联网(首次下载约 200 MB 的嵌入模型、add_from_url),也不宣称合规认证,还附了可复现的审计报告。和动辄要 Docker、Ollama、独立向量库的 RAG 框架比,它的门槛低得多,适合一个人的本地知识库。局限是:它是单写入者设计,团队共享时要规划好由谁维护索引;有写入工具,智能体可以删文档;对中文等非英语语料的检索效果需要自己用 evaluate_retrieval 验证。许可证为 MIT。