每个 Agent 各建一套知识库
第二个、第三个 Agent 上线,导入、权限、检索各做一遍,出现多套不一致的知识事实。
琅嬛 · 把知识处理沉淀为一层基础设施,通过 MCP 供所有 Agent 调用,复用同一套事实。
看这个问题怎么解MCP 知识库 · 原生 RAG 混合检索
一条命令起一个知识库,所有 Agent 共用,谁都不用重造轮子。
一个二进制一键启动,MCP over HTTP 原生——Claude、Cursor 或你自己的 Agent,配一个 endpoint 就能共用同一个知识库。中文原生混合检索、全程可追溯、多租户隔离,是让它靠谱的底气。
$ make standalone ✔ langhuan started (single binary, zero deps) ✔ SQLite db + keys auto-provisioned ✔ MCP over HTTP at :8080/mcp $ curl :8080/mcp -d '{"tool":"knowledge_search","query":"中文混合检索怎么配"}' { "hits": [{ "content": "向量 + FTS 双路召回…" }] }
Why · 为什么会有琅嬛
下面是常见的几类,以及琅嬛对应的解法。
第二个、第三个 Agent 上线,导入、权限、检索各做一遍,出现多套不一致的知识事实。
琅嬛 · 把知识处理沉淀为一层基础设施,通过 MCP 供所有 Agent 调用,复用同一套事实。
看这个问题怎么解用户搜合同号、产品名、专有名词,纯向量检索召回靠运气,关键词被整句当词。
琅嬛 · zhparser / gse 中文分词 + 向量双路召回,确定性 RRF 融合——精确词和语义都能命中。
看混合检索原理答案来自哪份文档哪个版本?答不上来,排障靠猜,无法审计。
琅嬛 · 每个 chunk 带来源锚点(文档/版本/页码),每次检索有稳定 search_id,管理员可按原查询回放。
想先验证价值,却被 PostgreSQL + Redis + 多容器挡在门外。
琅嬛 · 单二进制 + 单 .db 文件零配置,无需 Docker/PG/Redis,下载即用。
先看本地 RAG 怎么跑知识库里没有,模型却一本正经地编——典型的 RAG 幻觉。
琅嬛 · 琅嬛只回证据不替模型编答案:retrieval_status 明确区分 available / empty / degraded,让你知道是没召回还是真没答案。
Position · 琅嬛的位置
当你的 Agent 从一个变成多个,知识库不该各建一套。琅嬛一键启动一个知识库,MCP 原生让所有 Agent 直连;中文原生混合检索、全程可追溯、单二进制零配置,是让它靠谱的底气。它不生成答案、不编排 Agent——这是它和 Dify/RAGFlow 这类平台最本质的区别,它是它们的下层。
Highlights · 特性
不做 LLM 答案生成、不做 Chat 编排——把「文档 → 可追溯检索」这一段做到极致,作为任何 LLM 应用、MCP 客户端或 Agent 的知识底座。
Chinese-native hybrid retrieval
pgvector 向量 + PostgreSQL FTS(zhparser),或 SQLite + gse 中文分词,双路召回 + 确定性 RRF 融合。中文关键词不再被整句当词,召回质量开箱即用。
First-class MCP over HTTP
knowledge_search、document_ingest 等工具直接暴露给 MCP 客户端。Claude、Cursor 等拿到即用,无需额外桥接。
Single binary, full stack
REST + MCP + 异步 worker + Web Console 内嵌于一个二进制(go:embed)。零配置单机:一个二进制 + 一个 .db 文件,无 PostgreSQL、无 Redis。
Fully traceable
每个 chunk 都能回到源文档、版本与页码/行列/偏移锚点。导入、分块、索引全链路幂等,状态以数据库为准。
Workspace-scoped isolation
Workspace 即租户边界,成员角色 + 绑库限权的 API Key 细粒度鉴权,越权访问统一返回 404。
A library, retrievable at will
文档 → 规范化事实层 → 可检索投影,原子发布到唯一 active Generation;知识库即藏书楼,检索即取书。
Architecture · 架构
技术基线:Go 1.26 · Gin · GORM · PostgreSQL 17 + pgvector · FTS (zhparser) · asynq + Redis · SQLite 单机(sqlite-vec + FTS5 + gse)
Quick Start · 快速开始
无需 Docker、PostgreSQL 或 Redis:下载或编译 langhuan 后直接运行,首次启动自动生成 SQLite 数据库、密钥与配置。打开 http://127.0.0.1:8080 完成初始化即可导入文档并检索;生产高并发走 PostgreSQL + Redis 部署。
# 零外部依赖;无需 Docker / PostgreSQL / Redis $ git clone https://github.com/amoydavid/langhuan.git $ cd langhuan && make standalone
创建管理员账号
创建知识库,上传 pdf/md/txt/csv/xlsx/docx
REST / Web / MCP 三端一致检索
Positioning · 定位
琅嬛把「知识处理与检索」这一段做到极致,再通过 MCP 供上层应用调用。
| 琅嬛 Langhuan | Dify / RAGFlow 等平台 | |
|---|---|---|
| 定位 | 知识处理层(无 LLM 编排) | 应用平台(含 Chat / Agent) |
| 中文关键词检索 | zhparser / gse 分词 + RRF 原生 | 依赖向量,FTS 较弱 |
| 交付形态 | 单二进制 + 单 .db 文件(可选零依赖) | 多容器全家桶 |
| MCP | 原生 MCP over HTTP | 需额外桥接 |
| 可追溯 | chunk → 页码/行列锚点全链路 | 部分 |
| 接入方式 | 作为你应用的知识底座 | 平台内闭环 |
Integrations · 集成
FAQ · 常见问题
琅嬛不是应用平台,而是知识处理层:它不生成 LLM 答案、不编排 Chat/Agent,只把「文档 → 可追溯检索」这一段做到生产级,并通过 MCP over HTTP 供上层调用。
支持且是原生能力。全文检索路在生产走 zhparser 中文分词、单机走 gse 分词,与向量检索双路召回后经确定性 RRF 融合。
琅嬛原生提供 MCP over HTTP(/mcp),使用 Workspace API Key 作为 Bearer 认证。Claude、Cursor 等 MCP 客户端配置一个 endpoint 即可调用。
零配置单机:直接运行 langhuan 二进制,自动生成 SQLite 数据库与密钥,无需 Docker、PostgreSQL 或 Redis。生产高并发再走 PostgreSQL + Redis。
直接下载预编译二进制:macOS(Apple Silicon / Intel)、Linux、Windows 都有安装包,解压即用,无需 Docker / PostgreSQL / Redis。详见官网下载页。
Journal · 博客
「埃及有哪些民族?」这样的日常问句,会让 SQLite FTS5 的中文全文检索一条都查不出来,混合检索则悄悄退化成纯向量——不报错、不告警、指标看起来正常。讲清病灶机理、查询侧修复的思路,以及怎么自查你的 FTS 通道是不是已经空转。
知识库产品最该量的是检索质量,可我们手里只有功能测试。这篇讲琅嬛怎么建检索评测:200 条人工标注的真实查询、双轨道四格矩阵、同指纹逐位可复现,以及它第一天就抓出的线上 bug 和终于被数据证实的混合检索。
想验证本地 RAG 知识库,不必先装一套数据库和队列。先用单二进制把文档、中文检索和 Agent 接通;到了真实并发和运维阶段,再换生产部署。