RAG 知识处理层 · 原生 MCP over HTTP
把知识库变成可被 MCP 调用的检索服务
Your knowledge base, as an MCP service.
单二进制全栈(REST + MCP + Worker + Web Console),pgvector 向量与 PostgreSQL 全文检索(zhparser 中文分词)双路召回、确定性 RRF 融合,每个结果都带回来源锚点。不生成答案,只把「文档 → 检索」做到生产级。
Highlights · 特性
为生产级 RAG 而生的知识处理层
不做 LLM 答案生成、不做 Chat 编排——把「文档 → 可追溯检索」这一段做到极致, 作为任何 LLM 应用、MCP 客户端或 Agent 的知识底座。
中文原生的混合检索
Chinese-native hybrid retrieval
pgvector 向量 + PostgreSQL FTS + zhparser 中文分词 + 确定性 RRF 融合。中文关键词不再被整句当词,召回质量开箱即用。
MCP over HTTP 原生
First-class MCP over HTTP
knowledge_search、document_ingest 等工具直接暴露给 MCP 客户端。Claude、Cursor 等拿到即用,无需额外桥接。
单二进制全栈
Single binary, full stack
REST + MCP + 异步 worker + Web Console 内嵌于一个二进制(go:embed)。一个 docker compose 即可起步。
全程可追溯
Fully traceable
每个 chunk 都能回到源文档、版本与页码/行列/偏移锚点。导入、分块、索引全链路幂等,状态以 PostgreSQL 为准。
Workspace 多租户
Workspace-scoped isolation
Workspace 即租户边界,成员角色 + 绑库限权的 API Key 细粒度鉴权,越权访问统一返回 404。
书藏琅嬛,取之有道
A library, retrievable at will
文档 → 规范化事实层 → 可检索投影,原子发布到唯一 active Generation;知识库即藏书楼,检索即取书。
Architecture · 架构
数据流:从文档到可追溯检索
File / Web / FAQ → 稳定 Document + 不可变 Revision
asynq 异步:解析 → 资产归档 → 分块 → 索引
RetrievalEntry 同行保存 halfvec 向量 + FTS tsvector + 返回内容
原子发布到唯一 active Generation
Vector + FTS 双路召回 → 确定性 RRF 融合 → 带锚点证据
REST /api/v1/* · MCP /mcp
技术基线:Go 1.26 · Gin · GORM · PostgreSQL 17 + pgvector(halfvec / HNSW)· FTS (zhparser) · asynq + Redis · OSS / Local
Quick Start · 快速开始
一条命令,跑起完整知识服务
PostgreSQL(pgvector + zhparser 中文分词)、Redis 与琅嬛本体一键拉起, 打开 http://localhost:8080 完成初始化即可导入文档并检索。
# 需要 Docker;首次构建约 2-3 分钟
$ git clone https://github.com/amoydavid/langhuan.git
$ cd langhuan && docker compose up -d --build
# 打开 http://localhost:8080 完成初始化
$ open http://localhost:8080初始化
创建管理员账号
建库导入
创建知识库,上传 md/txt/csv/xlsx/docx
检索
REST / Web / MCP 三端一致检索
Positioning · 定位
不是 Dify / RAGFlow 的替代品,而是它们的下层
琅嬛把「知识处理与检索」这一段做到极致,再通过 MCP 供上层应用调用—— 你的 LLM 应用、Agent、MCP 客户端都可以把琅嬛当作知识底座。
| 琅嬛 Langhuan | Dify / RAGFlow 等平台 | |
|---|---|---|
| 定位 | 知识处理层(无 LLM 编排) | 应用平台(含 Chat / Agent) |
| 中文关键词检索 | zhparser 分词 + RRF 原生 | 依赖向量,FTS 较弱 |
| 交付形态 | 单二进制 + 标准 PostgreSQL | 多容器全家桶 |
| MCP | 原生 MCP over HTTP | 需额外桥接 |
| 可追溯 | chunk → 页码/行列锚点全链路 | 部分 |
| 接入方式 | 作为你应用的知识底座 | 平台内闭环 |
Preview · 预览
管理台与检索演示
Web Console 内嵌于同一二进制:知识库、文档、任务、检索测试一站管理。
screenshot coming soon
Web Console 界面截图 · 中英混合检索演示
FAQ · 常见问题
常见问题
琅嬛和 Dify / RAGFlow 有什么区别?+
琅嬛不是应用平台,而是知识处理层:它不生成 LLM 答案、不编排 Chat/Agent,只把「文档 → 可追溯检索」这一段做到生产级,并通过 MCP over HTTP 供上层调用。Dify/RAGFlow 是包含 Chat 编排的完整平台,可以把琅嬛作为它们下层的数据源。
琅嬛支持中文检索吗?+
支持且是原生能力。全文检索路使用 zhparser 中文分词(SCWS 词典),与 pgvector 向量检索双路召回后经确定性 RRF 融合——中文关键词不再被当作整句单 token,召回质量开箱即用。
如何把琅嬛接入 MCP 客户端?+
琅嬛原生提供 MCP over HTTP(/mcp),使用 Workspace API Key 作为 Bearer 认证。Claude、Cursor 等 MCP 客户端配置一个 endpoint 即可调用 knowledge_search、document_ingest 等工具,无需额外桥接服务。
部署需要哪些依赖?+
一条命令即可:docker compose up -d --build(PostgreSQL 17 + pgvector + zhparser、Redis、琅嬛本体)。单二进制内嵌 REST、MCP、异步 worker 与 Web Console,无 Node 运行时、无微服务。
支持哪些文档格式?+
当前支持 markdown、txt、csv、xlsx、docx;PDF 解析(MinerU Cloud)在 v0.7.0 路线中。
琅嬛的开源许可是什么?+
MIT License,可自由使用、修改与商用。