主题
10|知识底座开题:RAG 与 Connector 选型与落点
一句话:知识底座不是孤岛,而是知识类 MCP Server 的供给方——RAG 引擎负责"知识导得进、查得准",Connector 层把知识库与外部系统以 MCP Server 形态暴露给企业 Agent,正好消费 HiMarket 的 MCP 市场(04 篇已实证
MCP_SERVER产品 + meta + 订阅链),并经契约与 agentscope-service 执行层贯通(07-32 六接缝口径)。 形态:选型组合(RAGFlow 引擎 + 向量存储 + 文档解析 + MCP 连接层)作为独立积木,先在本专栏闭环,再按 00 总纲演进路线第 4 点"fork 扩展知识库"接入统一门户皮。 调研日期:2026-10-25;审核修订:2026-10-26 生产架构:知识库不以“Agent 直连 RAGFlow”上线,必须在 Higress 之后增加 Knowledge Broker 做租户/ACL、检索编排与敏感信息过滤。详见05-AI基础设施架构审核与生产收敛.md。
一、开题结论:Connector 给 Agent 的查询,就是一个 MCP 服务
用户的判断是对的,而且它就是本开题的主线:企业知识/外部系统以 MCP Server 形态暴露给 Agent,本质就是"Connector"。这条主线有四层承接,全部有专栏实证/设计支撑:
- 市场目录与订阅已验证:04 篇走通
MCP_SERVER产品 + meta(protocolType=streamable_http)+ 发布 → 订阅 APPROVED;但真实 MCP 工具发现、网关调用与计量尚未闭环。 - 连接层是稳定端点契约:02 篇
toTransportConfig()当前只产出url + transportMode + mcpServerName,不含 tools 与凭证。知识产品应发布稳定端点,凭证由 Broker 注入。 - 传输形态有明确方向:MCP 新远程服务优先 Streamable HTTP;SSE 作为兼容形态保留退出计划。RAGFlow RC 版本的实际工具暴露仍需实测。
- 内容源只放非敏感配置:Nacos 保存地址、工具规格与密钥引用,长期密钥放 Vault/KMS;数据面使用已发布路由,不在每次请求访问 Nacos。
结论先行(敢讲):
| 决策点 | 选型 | 一句话理由 |
|---|---|---|
| RAG 引擎 | RAGFlow(Infiniflow) | POC 首选;但当前验证版本为 v1.0.0-rc2,原生 MCP、权限与 HA 未达生产结论 |
| 向量存储 | RAGFlow 内置(Elasticsearch / Infinity)+ 记忆层独立用 Qdrant | 引擎不自建第二套向量栈;Qdrant 兜 Memory 层,Apache-2.0、部署轻、payload 多租户 |
| 文档解析(ParseX 对标) | RAGFlow DeepDoc(内置,OCR+TSR+DLR)+ PP-StructureV3(补充:图表转表格+公式) | 表格/扫描件/复杂版面开源第一档;chart2table 与公式识别只有 PP-Structure 原生覆盖 |
| Connector / MCP 层 | RAGFlow MCP 管理面(/api/v1/mcp/servers)+ 自研 Knowledge Broker + 第一方业务 Server | MCP 管理 API 只是登记入口;生产检索统一经 Broker,避免把数据集 ID 与 ACL 暴露给客户端 |
| Memory / 记忆飞轮 | mem0(POC 候选)+ 进阶选 Zep/Graphiti | mem0-mcp 集成需实测;生产必须补强隔离、删除、审计与幂等 |
| 多租户 / 权限 | OIDC 身份 → Portal/Developer → Consumer → Knowledge Broker ACL → RAGFlow 数据集 | 不能把 RAGFlow me/team/public 直接当作企业 ACL;Broker 在服务端强制过滤 |
二、百炼知识底座能力对标(14 项 ↔ 开源落点)
百炼侧 14 项能力按 RAG(4)/ Memory(3)/ ParseX(4)/ Connector(3)四类拆分(来源:阿里云百炼官方文档,2026-10-25 检索)。右侧开源落点为本文第三章选型结论的逐项映射:
| # | 百炼能力 | 百炼侧实现 | 开源落点 | 落点形态 |
|---|---|---|---|---|
| RAG-1 | 知识库管理与文档导入/智能切片 | 知识库 + 5 种切片策略 + text-embedding-v4 | RAGFlow 数据集 + 智能分块(模板/语义) | 引擎内置 |
| RAG-2 | 混合检索(稠密向量 + 关键词 BM25 并行召回) | 知识检索服务双 TopK 并行召回 | RAGFlow 张量 + 加权相似度(ES/Infinity 支持 BM25) | 引擎内置 |
| RAG-3 | Rerank 精排 + Query 改写 + 多知识库路由(最多 15 库) | qwen3-rerank 系列 + 路由判定 | RAGFlow Rerank(bge-reranker 类);多库路由走 RAGFlow 工作流编排 | 引擎内置 + 工作流 |
| RAG-4 | 知识问答 API + 引用溯源 + 防泄漏 | RunDocQa + enable_citation/anti_leak | RAGFlow 页码/坐标级引用溯源;防泄漏在 MCP 契约层自研(检索返回策略) | 引擎 + 契约层补强 |
| MEM-1 | 跨会话长期记忆(事实/画像/技能) | 记忆库 2026-08-20 商业化 | mem0(LLM 抽取事实 + 向量记忆);技能记忆 → LangMem procedural | 独立服务 + MCP |
| MEM-2 | 记忆全生命周期 API + 观测/审计 | 长期记忆 2.0 API + 控制台观测 | mem0 API(add/search/update/delete);观测/审计需自建管理面(实证计划含) | 自建补强 |
| MEM-3 | 记忆与 Agent 集成(Harness/插件) | Agent Harness + 记忆插件 | mem0-mcp / Graphiti MCP 直接挂外部 Agent | MCP 形态 |
| PX-1 | 多格式解析 → Markdown/JSON 双视图 | ParseX 工作区(按页计费) | DeepDoc(RAGFlow 内置,版面→结构化文本);unstructured 作 loader 生态补充 | 引擎内置 |
| PX-2 | 版面分析 / 表格还原 / chart2table | Document Mind 大模型版 | DeepDoc TSR/DLR(表格还原 HTML);PP-StructureV3(唯一图表转表 + 公式) | 内置 + 补充服务 |
| PX-3 | OCR / 扫描件/票据文字提取 | Qwen-OCR | DeepDoc(CRAFT 检测 + PaddleOCR 识别);PP-StructureV3 中文 OCR 基线最强 | 引擎内置 |
| PX-4 | 工作流文档解析节点 + 音视频解析 | 工作流节点免费 + ParseX 音视频 | 文档解析节点 → RAGFlow 工作流/API;音视频解析开源侧未查到成熟方案(如实标注) | 后置项 |
| CON-1 | 统一连接层:一次授权自动封装为 MCP 工具 | Connector(Beta,约 20 类系统) | RAGFlow MCP 管理 API(/api/v1/mcp/servers) + 自研 Broker / MCP Server | MCP 生态层 |
| CON-2 | 业务数据库实时查询(MySQL/PG/PolarDB-X,数据不出库) | DMS 数据源 + 数据库连接器 | 数据库 MCP Server(Postgres/MySQL 第一方/社区 server)+ RAGFlow SQL 知识库 | MCP 生态层 |
| CON-3 | 办公协同/SaaS/云存储矩阵(钉钉/语雀/腾讯文档/Salesforce/OSS 等) | Apps 目录四类接入 | 第一方业务 MCP Server 矩阵(Notion/Slack/GitHub 官方 + 社区钉钉/语雀类) | MCP 生态层 |
对标口径说明:百炼 Connector 整体仍为 Beta;开源侧"Connector=MCP Server 供给方"不是产品化功能,而是协议层能力——这正是 HiMarket 市场化管理的价值所在(任何符合 MCP 的 server 都能上架,见第四章)。
二.5 补深:阿里百炼机制级对标(2026-10-25 官方文档精读)
上一版对标基于能力名与公开资料;本节为机制级补深(全部阿里云官方文档原文精读),回答"RAGFlow 与百炼能否 PK"。
百炼 Connector 官方定义(help.aliyun.com/zh/model-studio/connector/overview):
"Connector 把这些系统收敛成一个统一的连接层:在控制台完成一次授权,Connector 就把对应系统的能力封装成标准工具,通过 MCP 协议暴露给智能体。智能体不需要关心数据存在哪里,直接调用工具即可。"
——这与本开题主线"知识底座 = 知识类 MCP Server 供给方"完全同构。百炼 Connector = App 下连接实例(保存凭证)→ 一次授权 → 自动生成工具 → MCP 协议暴露(钉钉文档/语雀/OSS/数据库/SaaS 约 20 类)。
机制级事实对照(来源均为官方文档,2026-10-25):
| 能力域 | 阿里百炼(托管) | RAGFlow(自托管) | 判定 |
|---|---|---|---|
| 切片 | 6 策略(智能/长度/页/标题/正则/符号),最大段默认 600 token(10-6000),附场景推荐表 | 模板/语义/自定义分块 | 同级 |
| 混合检索 | 检索服务绑 1-15 库+权重;Query 改写、向量 TopK 1-100、关键词 TopK 1-100、相似度阈值、标签过滤 | 张量检索+BM25 加权 | 同级机制 |
| Rerank | qwen3-rerank / hybrid / vl-rerank(多模态),问答/相似/自定义高级模式 | bge-reranker 类 | 百炼多模态领先 |
| 知识库路由 | 路由开关(LLM 判定,计费)+ 多库权重 | 工作流编排 | 百炼产品化领先 |
| 引用溯源 | enable_citation / anti_leak | 页码/坐标级引用 | RAGFlow 粒度更细 |
| Connector | 官方定义=MCP 协议暴露,一次授权自动封装工具 | 有 MCP 能力:/api/v1/mcp/servers 为管理面,实际对外工具面与鉴权需在 v1.0.0-rc2 实测;生态靠自研/第一方 Server 补 | 架构同构;百炼生态开箱多,RAGFlow 需 Knowledge Broker 补 ACL 与凭证中介 |
| Memory | 记忆库(memstore_ ID):事实记忆 10 接口+画像 5 接口+技能记忆 GetSkillExport;2026-08-20 商业化;限流 3000QPM(add 120/search 300) | mem0+Qdrant 自建(Apache-2.0 免费) | 托管 vs 自托管 |
| 文档解析 | ParseX:Parse(图文+音视频)vs Extract(JSON Schema 字段抽取+missing/conflict 状态+CirTAKE);异步 biz_id;结果复用 7 天 | DeepDoc(OCR+TSR+DLR)+ PP-StructureV3 | 百炼音视频领先;开源表格/公式可补 |
| 部署/私有化 | 全托管 SaaS(Workspace 多租户) | Apache-2.0 自托管(docker compose / K8s),Team+文档级权限 | RAGFlow 数据不出域(合规关键) |
PK 三句话结论:
- 能力几乎同级——六大能力域百炼有的 RAGFlow 都有(音视频解析与开箱连接器生态除外);
- 胜负手在形态——托管 SaaS(多租户/生态开箱)vs 可私有化引擎(Apache-2.0/数据不出域/LLM 无关/坐标级溯源),企业知识合规场景自托管是硬需求;
- 架构同构——百炼 Connector=MCP 协议暴露(官方原文),自建方案是对标百炼的同等架构,不是降级替代。
开源侧真实差距(如实标注,不藏):① 音视频解析无成熟开源方案(后置);② 多模态 rerank(qwen3-vl-rerank 等价物)缺位;③ 钉钉/语雀/OSS 等国内系统开箱连接器靠社区 MCP server 补。
向量库专项(用户追问,已查证):RAGFlow 官方 FAQ 明确"只有 Elasticsearch 和 Infinity 满足混合搜索需求"(全文/短语搜索+高级排序是硬门槛),不支持 Milvus(GitHub 有开放 feature request #7749,社区呼声高、官方未实现;第三方页面声称支持多后端与官方 FAQ 冲突,不可信)。企业已有 Milvus 时:文档引擎仍用 RAGFlow 内置(ES/Infinity);记忆层可挂 Milvus(纯向量检索,无全文/短语要求);或换 Milvus 生态方案(QAnything 默认 Milvus、Dify 支持 Milvus)。
三、开源产品全景盘点与选型结论
3.1 RAG 引擎:5 选 1,结论 = RAGFlow
调研 5 款开箱产品(Dify / RAGFlow / QAnything / FastGPT / MaxKB,事实快照 2026-10-25),先给对比总表,再给结论:
| 维度 | Dify | RAGFlow | QAnything | FastGPT | MaxKB |
|---|---|---|---|---|---|
| 架构形态 | 多容器(api/worker/web/sandbox/plugin) | 组件化(引擎+executor+ES/Infinity+MinIO+Redis,新版 Go 网关) | 组件化 Compose(8777 API + RAG 后端) | 轻量(Next.js + MongoDB + pgvector) | 轻量(Django + pgvector + Redis) |
| 部署成本 | Compose 一键,无 GPU,组件多内存偏高 | Compose,4 核/16G/50G,CPU 可跑 | 门槛最低纯 CPU;本地模型需 N 卡算力 8.0+ | 最低 2c4g,无 GPU | Docker 一键,无 GPU |
| 文档解析 | 中(OCR,无深度版面/TSR) | 最强(DeepDoc:OCR+TSR+DLR、MinerU、图表上下文窗口) | 中(PDF/表格优化,无深度版面) | 中偏弱(分段+QA 拆分) | 中(有解析,深度不及 RAGFlow) |
| 检索精度 | 混合+Rerank+改写+引用 | 混合+Rerank+页码/坐标级引用 | 跨语言 BCEmbedding+混合+Rerank | 混合+Rerank+多路召回 | LLM+RAG 召回+工作流 |
| MCP 化(第一权重) | 原生 MCP Server(v1.6.0 双向:App/Workflow 一键发布 MCP URL) | 有 MCP 面但未完成生产实证(Go 网关提供 /api/v1/mcp/servers 管理面;对外工具面、鉴权与传输需按 v1.0.0-rc2 实测) | 无原生(仅 REST 8777 可自封装) | 原生 MCP Server(v4.9.6+ 多 App SSE/Streamable HTTP 暴露) | 仅 MCP Client(对外需 OpenAI 兼容 API 自封装) |
| 多租户 | 工作区级,知识库细粒度弱(企业版) | Team + 文档级 R/W/Manage,最细 | 基本无 | 团队/共享,细粒度企业版 | 用户/团队,细粒度 X-Pack |
| API 面 | REST 完善 | REST + OpenAPI 完善 | 有 REST,生态弱 | REST 完善 | OpenAI 兼容 + 系统 API |
| License | 修改版 Apache 2.0(禁多租户 SaaS) | Apache-2.0 纯宽松 | Apache-2.0 | 修改版 Apache 2.0(禁多租户 SaaS) | GPL-3.0(copyleft) |
| 活跃度 | 官网 159K+ star,迭代最快 | 92.4K star,push 2026-10-17 | 版本停滞 2024 初,活跃度放缓 | 25.6K star,v4.9.6+ 活跃 | 23.0K star,push 2026-10-21 |
结论:RAG 引擎选 RAGFlow,理由按权重排序:
- MCP 化命中(用户第一优先级):RAGFlow 已提供 MCP 管理面(
/api/v1/mcp/servers),方向上可把检索/问答能力暴露为 MCP 工具;但当前v1.0.0-rc2的对外工具清单、鉴权方式与 Streamable HTTP 行为尚需实测,不能把“管理面存在”写成“生产 MCP 已闭环”。POC 可用其管理面登记,生产统一由 Knowledge Broker 暴露稳定工具契约。Dify/FastGPT 同样原生支持,但见第 3 点 License。 - 知识导入质量(RAG 第二优先级):DeepDoc 的 OCR + 表格结构识别(TSR)+ 版面分析(DLR)是 5 款里唯一"深度文档理解"级别的解析栈;0.23.0 起的"图像/表格上下文窗口"把图表与正文绑块一起检索,直接对标百炼 ParseX 大模型版。
- License 干净(企业落地硬约束):Dify 与 FastGPT 都是修改版 Apache 2.0(未经授权不得运营多租户 SaaS),MaxKB 是 GPL-3.0(二次开发传染)——RAGFlow 是唯一纯 Apache-2.0 的开箱引擎,且无 SaaS 限制。对企业私有化 + 未来对外输出平台能力,这是不可让的底线。
- 存储层权限粒度较细:Team + 文档级 Read/Write/Manage 可作为 RAGFlow 内部 ACL;但它不能直接等同企业租户/项目授权。生产必须由 Knowledge Broker 维护
tenant/project/documentACL,并把 RAGFlow 权限降级为存储层执行能力,禁止客户端自报dataset_ids绕过。 - 代价与对策(如实标注):外部数据源连接器生态薄弱——但这正好不是缺口,而是 Connector 层的活(第三章 3.4):连接器统一走 MCP 生态,RAGFlow 专注"解析 + 检索内核",各干各的。
淘汰理由:QAnything 无 MCP 原生 + 活跃度停滞(版本停在 2024 初),出局;MaxKB GPL-3.0 + 无对外 MCP Server,出局;Dify/FastGPT 功能强但 License 有 SaaS 限制且文档解析深度不及 RAGFlow,降级为备选(若未来主做"应用编排平台"而非"知识底座",再评估 Dify)。
3.2 向量存储:引擎内置为主,Memory 层独立用 Qdrant
| 组件 | 定位 | 部署形态 | 多租户 | License | 结论 |
|---|---|---|---|---|---|
| Milvus | 云原生分布式,RBAC + partition 多租户 | 单机 Compose / K8s(etcd+MinIO+Pulsar) | 数据库级隔离 + 内置 RBAC | Apache-2.0 ✅ | 大规模集群首选;本场景运维偏重,不选 |
| Qdrant | Rust 高性能,payload 多租户一等公民 | 单机二进制/Docker/K8s,部署轻 | is_tenant payload 隔离 | Apache-2.0 ✅ | Memory 层与自研检索服务首选 |
| Weaviate | 内置向量化模块,原生 multi-tenancy | Docker/K8s/SaaS | 原生 tenant 隔离 | BSD-3(wl/ 企业版单独许可)✅ | SaaS 多租户友好;企业版边界需留意 |
| Chroma | 嵌入式,开发者体验最好 | 进程内/独立 server | 三级隔离但 OSS RBAC 薄弱 | Apache-2.0 ✅ | 原型/edge 用;生产权限需外接 |
结论:RAGFlow 内置 Elasticsearch / Infinity 做检索索引(含稠密+稀疏),不为引擎另配向量库;记忆层与未来自研检索服务用 Qdrant(Apache-2.0、单机部署轻、payload 多租户与"每租户一记忆空间"天然匹配)。
3.3 文档解析(ParseX 对标):DeepDoc 内置 + PP-StructureV3 补充
| 维度 | unstructured | DeepDoc(RAGFlow 内置) | PP-StructureV3(PaddleOCR) |
|---|---|---|---|
| 数字 PDF | 强(fast/hi_res) | 强 | 强 |
| 扫描件/图片 PDF | 中(依赖 Tesseract) | 强(深度学习 OCR+版面) | 强(中文 OCR 基线最强) |
| 表格还原 | hi_res 支持,中等 | 强(跨页表格,输出 HTML) | 强 |
| 图表转表格 | 弱 | 中(保留图块,不转表) | 强(PP-Chart2Table 原生) |
| 公式识别 | 未查到原生 | 弱(官方推荐公式场景走 MinerU) | 原生支持 |
| 输出 Markdown | 需后处理 | 平台侧有 | 原生输出 |
| License | Apache-2.0 ✅ | Apache-2.0(随 RAGFlow)✅ | Apache-2.0 ✅ |
结论:主解析能力随 RAGFlow 内置 DeepDoc(表格/扫描件/复杂版面开源第一档,零额外部署);对百炼 ParseX 的 chart2table 与公式识别能力缺口,挂一个 PP-StructureV3 解析服务(唯一原生覆盖"图表→表格 + 公式 + Markdown 输出",Apache-2.0);unstructured 仅在需要广谱 loader 对接(邮件/HTML/EPUB 等)时作为前置层引入。
3.4 Connector / MCP 层:怎么搭(本开题的主线工程)
Connector 层 = 三路 MCP Server 供给,全部经 HiMarket MCP 市场上架:
| 路 | 供给方 | 工具形态 | 上架方式 |
|---|---|---|---|
| A. 知识检索 | RAGFlow MCP 管理面(/api/v1/mcp/servers;实际暴露的工具需在目标版本实测) | 细粒度:retrieve(证据 chunks)/ chat(问答);是否可直接暴露由 Broker 定义 | Nacos 登记 → HiMarket MCP_SERVER 产品 + meta(streamable_http) |
| B. 定制知识服务 | MCP 官方 SDK 自研 Server(Python/TS,Tier 1) | 业务化工具(如 knowledge_search(query, filters)、防泄漏版 secure_answer) | 同上(自研 server 部署后登记) |
| C. 业务连接器矩阵 | 第一方 MCP Server(GitHub 官方、Slack 官方、Notion 官方)+ 数据库 server(Postgres 等)+ 官方 reference server(filesystem/git/memory/time/fetch) | 各业务域标准工具 | 同上(批量上架 = 企业 Connector 目录) |
关键事实与口径(MCP 官方生态现状,2026-10 核实):
- 官方
modelcontextprotocol/servers仓库 2025 年起只保留 7 个通用 reference server(Everything/Fetch/Filesystem/Git/Memory/Sequential Thinking/Time);业务类 server 全部移入servers-archived归档,改由业务方第一方维护——所以"Connector=接入第一方 MCP server 生态"不是绕路,而是官方演进方向。 - 新远程 Server 优先 Streamable HTTP;存量 SSE 可保留兼容期,但必须制定下线计划。鉴权方向以 OAuth 2.1 为主,存量产品多提供 API Key 模式,需要平台做凭证中介。
- MCP Registry(registry.modelcontextprotocol.io)收录经审核的 server,企业内网部署不依赖 Registry,走 Nacos 登记 + HiMarket 管理。
3.5 推荐组合(一页结论)
知识导入:企业文档/网页/DB → [RAGFlow DeepDoc + PP-StructureV3] 解析
→ RAGFlow 智能分块 → ES/Infinity 向量化 → 知识库 Dataset
知识检索:外部 Agent → Higress(鉴权/限流/计量)→ Knowledge Broker(ACL/过滤)→ RAGFlow
(retrieve 证据 + chat 问答,页码/坐标级引用溯源)
连接器:Knowledge Broker + MCP SDK 自研 Server + 第一方业务 Server
→ Nacos 登记非敏感配置 → HiMarket MCP_SERVER 产品 → 订阅 → 稳定端点调用
记忆飞轮:mem0(Qdrant 存储)+ mem0-mcp / Graphiti-MCP → 同样以 MCP 形态供给
多租户:OIDC(IdP) → HiMarket Portal/Developer → Consumer → Knowledge Broker ACL → RAGFlow 数据集记忆层衔接口径(对齐 03 篇对标表):百炼 Memory 的落点=实例体系(记忆蒸馏,#21 数据飞轮)——执行层管记忆的蒸馏策略,本开题的 mem0 层管记忆的持久化与检索供给(经 mem0-mcp 以 MCP 形态挂回执行层),两者是"谁生产/谁存储"的分工,不冲突。
四、落地架构
4.1 知识导入链路
施工要点(对应 RAGFlow 官方能力,非臆造):
- 解析器按文档类型选:扫描件/复杂版面 → DeepDoc;公式/图表密集 → 接 MinerU 或外部 PP-StructureV3 服务结果再入库;
- 分块策略:企业制度/合同等长文用模板分块(按章节标题),FAQ 类用语义分块;
image/table context window开启,图表与正文同块检索; - 权限分两层,不把 RAGFlow ACL 当企业 ACL:
- 存储层:RAGFlow Team / 文档级 R/W/Manage 只作为引擎内部隔离与服务账号授权;
- 企业层:Knowledge Broker 维护
tenant_id / project_id / document_id / classification / owner_subject的授权关系,写入时登记文档 ACL 元数据,检索时由服务端生成过滤条件; - 客户端不可决定过滤范围:请求体不得直接携带可生效的
dataset_ids、team_id或owner;Broker 只接受已签名的身份上下文,并拒绝与上下文不一致的自报字段。
4.2 查询链路(Agent 经 MCP 查询知识库)
4.3 以 MCP Server 形态接入 HiMarket(架构总图)
链路口径:Nacos 登记非敏感配置(内容层)→ HiMarket 上架为 MCP_SERVER 产品(市场层)→ Consumer 订阅 → Higress 校验(数据面)→ Credential Broker 注入上游凭证 → Knowledge Broker 执行 ACL 与服务端过滤 → RAGFlow(供给层)→ agentscope 消费(执行层)。04 篇已实证的“产品 + meta + 订阅 APPROVED”仅是 REG → PROD → SUB 段,不代表后续数据面已闭环。
五、与 agentscope-service 契约整合点(07-32 六接缝口径)
按 00 篇引用的 07-32"六层组件角色、五条接线链路、六个接缝、P0-P5"框架,知识底座的接缝落点:
| 接缝 | 契约内容 | 知识底座落点 | 优先级 |
|---|---|---|---|
| 接缝 1(内容寻址) | Nacos 登记 MCP Server 配置(域名/路径/密钥引用) | 知识类 MCP Server(RAGFlow / mem0 / 业务 server)统一登记;长期密钥不落 Nacos | P0 |
| 接缝 2(规格同步) | 工具规格/元数据同步 | POST /mcp-servers/meta/{id}/refresh-tools 拉取 retrieve/chat/memory 工具清单(04 篇端点已实证存在) | P0 |
| 接缝 3(身份映射) | IdP subject ↔ HiMarket Developer ↔ agentscope user | 知识库权限按 Consumer 凭证映射;跨层透传 OIDC 令牌(02 篇三层映射) | P1 |
| 接缝 4(凭证/出口) | 统一凭证注入、Higress 出口 | 知识检索调用统一走 Higress,凭证由平台注入(04 篇 meta connectionConfig 的 ${credential} 占位即此落点) | P0 |
| 接缝 5(计量) | 调用计量事实回写 | 知识检索/问答按 MCP 工具调用计,HiMarket 记录用量事实(计量≠计费,00 篇口径) | P1 |
| 接缝 6(产物/证据链) | Skill 包下载、执行产物回传 | 检索引用(页码/坐标)作为 Agent 回答的证据链回传 agentscope 会话,支撑可审计回答 | P1 |
agentscope-service 侧契约形态:执行层只消费“稳定产品端点 + Consumer 凭证 + 工具白名单”,不直接消费 RAGFlow 的租户令牌或数据集 ID;Knowledge Broker 负责把身份上下文转换成服务端 ACL 条件。
六、多租户 / 权限 / 审计(对标 02 篇 OIDC 口径)
原则:不另建身份库,但必须把“身份链”和“数据授权链”分开。 身份复用专栏既有 OIDC 体系;知识库 ACL 由 Knowledge Broker 在服务端维护,RAGFlow 只承担存储层隔离。
企业 IdP(OIDC,Provider 挂 Portal)
└─ OIDC subject(人类身份,唯一可信来源)
└─ HiMarket Portal / Tenant(一个企业一个 Portal;tenant_id 由 Portal 派生)
└─ Developer(人类开发者身份,绑定 subject)
└─ Consumer(工作负载/应用身份,持有 AK/SK,不等于员工本人)
└─ 订阅知识库 MCP 产品(APPROVED 只代表授权关系,不代表可调用)
└─ Knowledge Broker ACL(tenant_id / project_id / document_id / classification)
└─ RAGFlow 服务账号 / 租户内 Dataset(只执行 Broker 下发的过滤条件)| 层 | 机制 | 生产约束 / 口径来源 |
|---|---|---|
| 身份 | Portal 挂 oidcConfigs(provider/displayName/clientId/authCodeConfig/redirectUris);授权码流程 state 10 分钟防 CSRF | 02 篇 §4(源码级) |
| 生产必补 | ID Token JWK 验签(OidcServiceImpl.java:310 TODO)——企业 SSO 接入前必须启用 jwks_uri 验签 | 02/03 篇风险表 |
| 租户 | tenant_id 由 Portal/Consumer 的已签名上下文派生;X-Tenant-Id 等请求头只能作断言,不一致直接拒绝 | 禁止请求体自报;Broker 强制校验 |
| 主体 | 人类用 OIDC subject;工作负载用 Consumer 凭证;Agent 用平台签发的委托令牌。三者不得混用,也不得把 Consumer 当作员工身份 | 02/03/05 篇 |
| 数据权限 | Broker 维护文档 ACL 与密级;检索时服务端注入 tenant/project/document/classification 过滤,RAGFlow Team 仅作兜底 | 客户端传入的 dataset_ids 不生效 |
| 工具权限 | Higress 校验订阅、配额、工具白名单与 Consumer 状态;撤销订阅后数据面立即拒绝,而不是只改市场状态 | 订阅状态与数据面授权需同源或短 TTL 同步 |
| 调用审计 | Higress 记录权威调用事件(谁、以何身份、调用何工具、结果码、用量);Broker 记录 ACL 决策与过滤条件;RAGFlow 日志只作补充证据 | 不以 RAGFlow 日志作为计量权威源 |
| 记忆审计 | 记忆服务按 tenant/owner/project 隔离,记录写入、检索、更新、删除与来源;控制台可查询 | 开源侧需自建管理面,不能只依赖 mem0 日志 |
七、实证计划(POC 最小链路 + 生产验收)
目标:先在 v1.0.0-rc2 上跑通“导得进、查得到、接得上市场”的最小链路;再补负向隔离、质量基线与 HA 证据。以下全部是待执行计划,不是已通过结论。
7.1 POC 步骤(可本地执行)
| # | 步骤 | 方法 | 验收口径 | 当前状态 |
|---|---|---|---|---|
| 1 | 本地起 RAGFlow | Docker Compose,固定镜像 v1.0.0-rc2,资源按官方建议 | 控制台可登录;ES/Infinity 索引健康;记录镜像 digest | 已部署(POC) |
| 2 | 建知识库并导入 | 建 Dataset,上传数字 PDF、含表格文档、扫描件各 1 份 | 解析任务成功;表格/OCR 结果可人工复核 | 仅完成 4 chunk / 193 tokens 的小样本,不代表解析质量达标 |
| 3 | 检索与引用 | 混合检索 + 引用(页码/坐标);Rerank 单独开关对照 | 引用能定位原文;Rerank 前后有可量化差异 | Rerank 未实证,不得宣称生效 |
| 4 | RAGFlow MCP 面 | 通过 /api/v1/mcp/servers 管理面登记 Server,再用 MCP client 验证实际暴露工具与传输 | 记录 endpoint exists / 调用成功 / 工具清单 三层证据 | 管理面路径已核对;对外工具面与鉴权待实测 |
| 5 | Nacos 登记 + HiMarket 上架 | 登记非敏感配置(地址/协议/工具元数据)→ 创建 MCP_SERVER 产品 + meta(streamable_http)→ 发布 → 订阅 | 订阅 APPROVED;响应元数据不含上游密钥 | 04 篇已验证目录/订阅段 |
| 6 | 消费闭环 | 用 toTransportConfig() 返回的稳定端点 + Consumer 凭证发起调用;上游凭证由 Credential Broker 注入 | 经 Higress 完成“检索→回答带引用”;无凭证直连被拒 | 未完成(04 篇未装 Higress) |
| 7 | 记忆飞轮 | 起 mem0(Qdrant)+ mem0-mcp,经同一 MCP 出口调用 | 跨会话 add/search 可用;隔离与删除见 12 篇闸门 | 方案级,未实证 |
| 8 | 租户/文档隔离负向测试 | 见 7.2,至少 6 组 | 越权全部被拒且有审计记录 | 未执行 |
| 9 | 契约接缝抽查 | refresh-tools 拉工具清单;网关计量事件落到可查询存储 | 工具元数据同步;用量可对账 | 端点存在,未完成全链 |
7.2 生产前必须补的负向与质量证据
| 类别 | 用例 | 通过标准 |
|---|---|---|
| 租户隔离 | 租户 A 的 Consumer 调租户 B 的产品 / Dataset | 401/403;Broker 记录拒绝原因;无跨租户片段返回 |
| 同租户角色 | 同租户普通员工 vs 知识库管理员 | 管理员可见管理端点;普通员工访问管理端点被网关角色拦截 |
| 文档级 ACL | 同租户共享文档 vs 私有文档 | 私有文档不出现在非授权用户检索结果与引用中 |
| 参数伪造 | 请求体伪造 dataset_ids、tenant_id、user_id、owner | 自报字段不生效或被拒绝;以签名上下文为准 |
| 订阅撤销 | 撤销订阅后立即调用 | 数据面在约定 TTL 内拒绝;计量记录撤销后拒绝事件 |
| 旁路直连 | 绕过 Higress 直连 RAGFlow/内部 API | NetworkPolicy 拒绝;服务账号凭证不可从客户端获得 |
| 检索质量 | 黄金集 ≥100 问,含无答案/多跳/表格/扫描件 | 记录 recall@k、MRR、引用正确率、无答案拒答率;阈值由业务确认 |
| 删除传播 | 删除文档/撤销权限后再次检索 | 向量、缓存、引用快照均不可再召回;给出可验证完成状态 |
| 毒文档 | 注入含 Prompt Injection/冲突事实的文档 | 隔离或降权;不进入高可信回答;有告警 |
| 容量/HA | 并发压测、节点故障、索引恢复 | 达到 SLO;单节点故障不丢计量事件;恢复时间可测量 |
落地顺序:1→2→3(引擎与质量门)→ 4(MCP 面)→ 5→6(市场与数据面)→ 8(隔离)→ 9(计量/审计)→ 7(记忆)。步骤 6 才是 04 篇“⏳ MCP 端到端调用”的真正销项;仅订阅成功不算。
边界
- 本开题管"供给与市场化":知识底座提供解析/检索/记忆/MCP 供给;执行(Agent 编排、会话)在 agentscope-service 侧,按契约消费;
- 计量≠计费:知识检索用量事实由网关记录,价格/结算在企业计费系统(00 篇口径);
- 音视频解析、记忆观测/审计控制台为开源侧缺口,已如实标注(PX-4、MEM-2),不做臆造承诺;
- License 红线:选型只落 Apache-2.0/BSD-3 族;Dify/FastGPT 修改版 Apache(禁多租户 SaaS)与 MaxKB GPL-3.0 在知识底座主链路不采用,仅在应用编排类场景单独评估;
- 传输规范:远程 MCP 目标形态为 Streamable HTTP;RAGFlow
v1.0.0-rc2的实际传输与工具面未完成实测,SSE 只作兼容并需退出计划。 - 版本边界:RAGFlow 当前验证镜像为
v1.0.0-rc2,不是稳定版v1.0;升级前必须重跑 MCP、权限、检索质量与 HA 回归。 - SSRF 边界:RAGFlow 的出站访问限制是正确安全护栏,不得以修改代码“绕过”作为生产方案;受控内网 embedding 必须走显式允许清单、出站代理、NetworkPolicy 与 DNS 重绑定防护,详见 11 篇 §2.2。
- 不宣称项:本文不宣称 RAGFlow 已生产就绪、检索质量已达标、MCP 已端到端闭环或记忆层已实证;这些均以 05 篇闸门和第七章证据为准。