---
date: 2026-06-24
topic: portal-platform-evolution
---

# AgentKit 门户平台整体演进路线

## Summary

按优先级串行推进 AgentKit 门户平台演进：先建独立 RAG 平台对标 MaxKB 功能对等，再扩展多端接入与 MCP Server，最后生态替换降本（MCP/Celery/LiteLLM）。不设硬性时间，按完成度推进。

## Problem Frame

AgentKit 定位为企业级统一 AI Agent 门户平台，面向企业用户与开发者。对标 MaxKB（开源企业级智能体平台，GitHub 19k+ stars）后发现，当前能力堆栈在多个方向存在差距：

- **RAG 工业级管道**：AgentKit 现有 `memory/` 模块是开发者级组件库（基础分块 + pgvector 语义检索 + time_decay 重排），MaxKB 是工业级产品功能（双索引检索 + 智能分段 + 问题生成 + 术语表 + 命中处理模式）。RAG 是门户平台服务企业知识库场景的底线能力。
- **平台触达**：AgentKit 仅有飞书/Confluence/通用 HTTP 三种 RAG 适配器，MaxKB 原生支持企微/钉钉/飞书/Slack 多端接入。门户平台需要触达企业现有协作工具。
- **MCP Server**：AgentKit 已有 MCP Client（`mcp/client.py`）和 MCP Server（`mcp/server.py`）基础实现，但尚未将 Skill/专家团队发布为 MCP 工具。门户平台应完善 MCP Server 的 Skill/专家团队发布能力。
- **自研 vs 生态**：AgentKit 大量自研（Agent 引擎/LLM 网关/工作流画布/MCP 客户端/记忆系统/消息总线），commodity 层维护成本高。

本次演进为**预防性演进 + 必备功能补齐**，非救火式驱动。目标是补齐门户平台应有的能力，使 AgentKit 在企业级 AI Agent 平台赛道具备完整竞争力。

## Key Decisions

**串行演进策略（方案 A）。** 按优先级串行推进，每个方向充分交付后再进入下一个。理由：用户要求"对标 MaxKB 功能对等"，MVP 驱动难以一次达标；不设硬性时间契合串行节奏；预防性演进无紧急压力，可保障交付质量。

**RAG 平台并行独立。** 新建独立 RAG 平台模块，现有 `memory/` 保留给 Agent 记忆（WorkingMemory/EpisodicMemory/SemanticMemory）。理由：职责分离，避免 RAG 与 Agent 记忆耦合；RAG 平台作为门户平台基础设施服务于企业用户知识库场景，Agent 记忆服务于 Agent 运行时。

**开放引入生态依赖。** commodity 层优先用生态，降低维护成本。约束：需注意开源协议合规，且对已完成或进行中的特性保持向后兼容。差异化层（Agent 引擎/专家团队/自进化/终端安全）保持自研。

**保留现有工作流。** FlowCanvas 不替换为 LogicFlow，现有工作流画布保持自研。理由：避免破坏现有节点类型（SkillNode/ApprovalNode/ConditionNode/ParallelNode）和工作流。

**对标 MaxKB 功能对等。** RAG 工业级管道的成功标准是功能对等：双索引检索/智能分段/问题生成/术语表/命中处理模式/rerank 全部具备。

## Requirements

### RAG 工业级管道（优先级 1）

R1. 新建独立 RAG 平台模块，与现有 `memory/` 模块职责分离，现有 `memory/` 保留给 Agent 记忆使用。现有 `memory/local_rag.py` 的 `LocalRAGService`（pgvector + 分块 + 嵌入 + 语义检索）需明确迁移策略：吸收/扩展至新平台、提取至新模块、或新建并废弃 LocalRAGService。

R2. 支持双索引检索：pgvector 语义检索 + PostgreSQL 全文检索（`search_vector`），提供 `embedding`（语义）/ `keywords`（全文）/ `blend`（混合）三种检索模式。检索模式由企业用户按知识库配置默认值，Agent 运行时可按查询特征覆盖。

R3. 在 RAG 平台模块中实现智能分段与高级分段能力（可参考现有 `memory/chunking.py` 的分块基础），提供分段预览能力，企业用户可在向量化前查看分段结果。

R4. 支持问题自动生成：为文档段落自动生成相关问题/问法，提升检索召回率。

R5. 支持术语表（Termbase）：通过全文检索分词增强，提升中文场景检索准确率。

R6. 支持命中处理模式：模型优化模式（LLM 基于检索结果生成回答）与直接回答模式（直接返回匹配段落），按知识库配置默认模式，企业用户在知识库设置中选择，Agent 可按查询场景覆盖。

R7. 支持 rerank 重排：检索结果经 rerank 模型重排后返回，提升相关性排序。

R8. 扩展现有 `KnowledgeBaseView`/`DocumentUpload`/`SearchTest` 组件，提供可视化文档管理：文档上传/分段预览/检索测试，企业用户可通过前端界面管理知识库。知识库必须实施 per-KB 访问控制（owner/authorized-users），Agent 检索必须限定于调用用户授权的知识库。文档上传必须验证文件类型（白名单）、强制大小限制、并在索引前净化解析内容（markdown sanitize、PDF 解析安全）。

### 平台触达扩展（优先级 2）

R9. 支持多端消息接入：企微/钉钉/飞书/Slack 消息适配器，企业用户可通过现有协作工具使用 AgentKit。各平台适配器必须验证平台提供的请求签名/token（飞书 encrypt_key、钉钉 token、企微信 EncodingAESKey）后处理消息，拒绝未认证请求。所有第三方平台凭证必须存储于 secrets store（非明文配置），定义轮换策略与访问审计。

R10. 完善现有 MCP Server（`mcp/server.py`）：支持将 Skill/专家团队发布为 MCP 工具，供外部 AI 系统调用。MCP 工具调用必须要求认证与授权（复用现有 JWT+RBAC 或 API Key 机制），发布 Skill/专家团队为 MCP 工具需管理员级授权。

### 生态替换降本（优先级 3）

**目标**：将 commodity 层（MCP 客户端/异步任务/LLM Provider 适配）迁移至生态方案，降低自研维护成本，使团队聚焦差异化能力。成功标准：替换后现有功能行为不变，维护代码量减少。

R11. MCP 客户端替换为 `langchain-mcp-adapters`：跟进行业协议演进，降低自研 3 传输层（Stdio/HTTP/SSE）的维护成本。

R12. 引入 Celery 异步任务：与现有 asyncio 原生共存，承接文档向量化/批量任务（利用现有 Redis 作为 broker，不引入新基础设施），提供任务持久化/重试/调度能力。提供异步任务可视化：进度展示、失败通知与重试、任务历史。

R13. LLM Provider 底层替换为 LiteLLM：上层网关逻辑（fallback/缓存/用量追踪）保留自研，底层 provider 适配走 LiteLLM 统一接口。

## Actors

A1. **企业用户** — 通过前端界面管理知识库（上传文档/配置分段/测试检索）、配置多端接入、发布 MCP 工具。

A2. **开发者** — 通过 API/MCP Server 集成 AgentKit 能力到外部系统。

A3. **Agent** — 运行时调用 RAG 平台检索知识库内容，支撑问答与决策。

## Key Flows

F1. RAG 文档处理流程
- **Trigger:** 企业用户上传文档到知识库。
- **Actors:** A1, A3
- **Steps:** 文档解析 → 分段（智能/高级）→ 分段预览 → 向量化 → 全文索引建立 → 问题自动生成 → 可用。
- **Outcome:** 文档进入知识库，可被 Agent 检索。

F2. RAG 检索流程
- **Trigger:** Agent 需要检索知识库回答用户问题。
- **Actors:** A3
- **Steps:** 查询接收 → 检索模式选择（embedding/keywords/blend）→ 双索引检索 → rerank 重排 → 命中处理（模型优化/直接回答）→ 返回结果。
- **Outcome:** Agent 获得相关知识库内容。

F3. 多端消息接入流程
- **Trigger:** 企业用户通过企微/钉钉/飞书/Slack 发送消息。
- **Actors:** A1, A3
- **Steps:** 消息适配器接收 → 转换为 AgentKit 标准格式 → Agent 处理 → 响应转换为目标平台格式 → 返回。
- **Outcome:** 企业用户通过协作工具获得 Agent 响应。

F4. MCP Server 发布流程
- **Trigger:** 企业用户或开发者将 Skill/专家团队发布为 MCP 工具。
- **Actors:** A1, A2
- **Steps:** 选择 Skill/专家团队 → 配置 MCP endpoint → 发布 → 外部 AI 系统可通过 MCP 协议调用。
- **Outcome:** AgentKit 能力通过 MCP 协议对外输出。

## Scope Boundaries

### Deferred for later

- 本地模型支持（Ollama）——后续迭代，服务企业私有化部署场景。
- 现有 `memory/` 模块重构——保留给 Agent 记忆用，不在本次演进范围。

### Outside this product's identity

- FlowCanvas→LogicFlow 替换——保留现有工作流，不替换。
- Agent 引擎（ReActEngine/ReWOO/Reflexion/PlanExec）——保持自研，是核心差异化能力。
- 专家团队编排（流水线 + 私董会）——保持自研，生态无对应方案。
- 自进化系统（16 组件）——保持自研，独有能力。
- 终端安全（6 层白名单）——保持自研，安全必须自主可控。

## Dependencies / Assumptions

- **开源协议合规**：生态替换涉及的依赖协议需宽松可商用。Celery (BSD-3)、LiteLLM (MIT)、langchain-mcp-adapters 需确认协议。（注：LogicFlow 已因保留 FlowCanvas 决策排除，非协议原因——Apache-2.0 本身可商用）
- **现有特性向后兼容**：生态替换（MCP 客户端/Celery/LiteLLM）不能破坏现有功能，需提供迁移路径。
- **pgvector 基础设施**：RAG 平台与现有 EpisodicMemory 共用 pgvector 基础设施，但数据模型独立。
- **前端组件复用**：现有 KnowledgeBaseView/DocumentUpload/SearchTest 组件可能需要重构以支撑 RAG 平台可视化文档管理。

## Outstanding Questions

### Resolve Before Planning

- **[P0 安全] MCP Server 端点缺少认证/授权决策**：R10 暴露 Skills/Expert Teams 为 MCP 工具，F4 描述发布流程但未提及认证、授权、限流或访问控制。未认证的 MCP 端点允许任何可达客户端调用 Skills、读取 Expert Team 输出，若工具具备文件系统或 shell 访问权限则构成远程代码执行面。需在规划前明确：认证方案（API Key / JWT 复用 / OAuth / mTLS）、授权模型（按 skill / team / tenant）、限流策略。（ce-doc-review 延期，security-lens，置信度 100）
- **[P0 安全] 多端消息适配器缺少输入验证**：R9 多平台消息接入（飞书/钉钉/企业微信），F3 未提及签名校验、来源认证或速率限制。外部平台消息为不可信输入边界，缺少验证允许伪造消息、注入恶意内容、触发未授权 Skill 执行。需在规划前明确：各平台签名机制（飞书 encrypt_key、钉钉 token、企微信 EncodingAESKey）、消息格式校验、重放攻击防护。（ce-doc-review 延期，security-lens，置信度 100）
- **[P0 安全] 文档上传缺少内容净化**：R1/R7 涉及用户上传文档（PDF/Word/Markdown/TXT），需求未提及内容净化、恶意文件检测或大小限制。上传文档可能包含恶意脚本（XSS via markdown）、超大文件导致 OOM、嵌入恶意宏。需在规划前明确：文件类型白名单、大小限制、内容扫描、markdown sanitize、PDF 解析安全。（ce-doc-review 延期，security-lens，置信度 100）

### Deferred to Planning

- 飞书消息接入适配器与现有飞书 RAG 适配器（`memory/adapters/feishu.py`）的复用程度——后续确认。
- RAG 平台数据模型（Knowledge/Document/Paragraph/Problem/Embedding）的具体设计——ce-plan 决策。
- Celery 与现有 asyncio 原生的共存策略——ce-plan 决策。
- LiteLLM 与现有自研 Provider 的迁移路径——ce-plan 决策。
- **[P1 战略] 对标 MaxKB ≠ 竞争力**：功能对等是底线而非差异化。需明确 AgentKit 相对 MaxKB 的差异化定位（专家团队/自进化/终端安全等独有能力如何与 RAG 平台协同）。（ce-doc-review 延期，product-lens，置信度 75）
- **[P1 前提] 演进前提缺少用户痛点证据**：文档以"对标 MaxKB 发现差距"为前提，但未提供用户痛点证据（用户反馈/流失原因/竞品丢失原因）。需确认：是否有用户因缺少 RAG/多端/MCP Server 而流失或抱怨？（ce-doc-review 延期，product-lens，置信度 75，ROOT）
- **[P1 前提] 未评估"不做"基线**：未评估不执行此演进计划的后果。需确认：若不演进，AgentKit 的实际损失是什么？（ce-doc-review 延期，adversarial，置信度 75，DEPENDENT）
- **[P1 战略] 同质化追赶 vs 差异化构建**：RAG/多端/MCP Server 是 commodity 能力，MaxKB 已有。需确认：投入大量资源追赶 commodity 是否优于强化差异化能力？（ce-doc-review 延期，product-lens，置信度 75）
- **[P1 战略] 重建 MaxKB 缺乏正当性论证**：RAG 平台并行独立意味着重建 MaxKB 已有的工业级管道。需确认：为何不直接集成 MaxKB 或 fork？（ce-doc-review 延期，adversarial，置信度 75，ROOT）
- **[P1 基础设施] 并行 RAG 平台导致基础设施翻倍**：独立 RAG 平台与现有 `memory/` 共用 pgvector 但数据模型独立，可能导致维护两套 RAG 基础设施。需确认：长期是否合并？（ce-doc-review 延期，product-lens，置信度 75，DEPENDENT）
- **[P1 设计] RAG 平台信息架构未定义**：RAG 平台的前端信息架构（知识库列表/文档管理/检索测试/配置页）未定义。归 ce-plan 设计。（ce-doc-review 延期，design-lens，置信度 75）
- **[P1 设计] 多端配置流程缺失**：R9 多端消息接入缺少配置流程（如何添加平台/配置凭证/测试连通性）。归 ce-plan 设计。（ce-doc-review 延期，design-lens，置信度 75）
- **[P1 安全] 知识库访问控制未指定**：R8 可视化文档管理未指定访问控制（谁可查看/编辑/删除知识库）。需明确 RBAC 模型。（ce-doc-review 延期，security-lens，置信度 75）
- **[P1 安全] 适配器凭证管理未定义**：R9 多端适配器需要管理各平台 API 凭证（app_id/app_secret/token），需求未提及凭证存储与轮换。归 ce-plan 设计。（ce-doc-review 延期，security-lens，置信度 75）
- **[P1 安全] MCP 发布授权未指定**：R10 MCP Server 发布流程未指定谁有权发布 MCP 工具。需明确发布权限模型。（ce-doc-review 延期，security-lens，置信度 75）
- **[P1 技术] PG 全文检索对中文不适用**：R2 依赖 PostgreSQL 全文检索，但 PG 原生全文检索对中文支持差（缺中文分词）。需确认：是否使用 pg_jieba/zhparser 扩展或外部搜索引擎？（ce-doc-review 延期，feasibility，置信度 75）
- **[P1 优先级] R12 优先级阻断 P1 交付**：R12（Celery）在 P3，但 R1-R8（RAG 管道）的文档向量化需要异步任务能力。需确认：P1 是否依赖 R12？（ce-doc-review 延期，scope-guardian，置信度 75）
- **[P2 证据] Celery 替换缺少必要性证据**：R12 引入 Celery 但未提供 asyncio 原生不足的证据（具体场景/性能瓶颈/故障案例）。需补充必要性论证。（ce-doc-review 延期，feasibility，置信度 75）
- **[P2 量化] LiteLLM 节省未量化**：R13 引入 LiteLLM 但未量化节省（维护代码量/开发效率/兼容 provider 数）。需补充量化数据。（ce-doc-review 延期，feasibility，置信度 75）
- **[P2 设计] MCP 配置流程未指定**：R10 MCP Server 发布流程缺少配置细节（endpoint 路径/工具命名/参数定义）。归 ce-plan 设计。（ce-doc-review 延期，design-lens，置信度 75）
- **[P2 设计] 分块预览未定义**：R3 分段预览的交互模式未定义（预览界面/编辑能力/重新分段）。归 ce-plan 设计。（ce-doc-review 延期，design-lens，置信度 75）
- **[P2 技术] 消息总线替换未处理**：现有 `bus/`（MemoryBus/RedisBus）在生态替换中未提及。需确认：是否保留自研？（ce-doc-review 延期，feasibility，置信度 75）
- **[P2 技术] Rerank 模型未处理**：R7 rerank 未指定模型（本地/API/开源）。归 ce-plan 决策。（ce-doc-review 延期，feasibility，置信度 75）
- **[P1 战略] MaxKB 对等框架解决错误问题**：MaxKB 是 RAG 知识库产品，AgentKit 是 Agent 平台。对标不同产品类别的功能对等可能构建不服务于实际用户的能力。需重构为用户结果导向的成功标准。（ce-doc-review 第 2 轮延期，product-lens+adversarial，置信度 100）
- **[P1 战略] 串行策略饿死差异化投入**：串行执行意味着差异化能力（Agent 引擎/专家团队/自进化）在 P1/P2 完成前零投入。需考虑预留差异化并行轨道。（ce-doc-review 第 2 轮延期，product-lens，置信度 75）
- **[P1 战略] Build-vs-buy 未评估**：R1-R8 从零构建工业级 RAG 管道，未评估集成 MaxKB 或采用 RAG 框架（LlamaIndex/Haystack）。需补充 build-vs-buy 评估。（ce-doc-review 第 2 轮延期，product-lens+adversarial，置信度 100）
- **[P1 前提] 核心替换向后兼容性是假设非验证**：R11/R12/R13 替换三个核心组件但假设"现有功能行为不变"。现有 LLM 网关有 6 provider + fallback + 语义缓存 + RemoteLLMProvider 代理。需将向后兼容从假设转为验证前提。（ce-doc-review 第 2 轮延期，adversarial，置信度 75）
- **[P1 设计] 文档处理失败状态缺失**：F1 未定义解析失败/不支持格式/向量化错误的用户可见状态。归 ce-plan 设计。（ce-doc-review 第 2 轮延期，design-lens，置信度 75）
- **[P1 设计] 分段预览交互模式未定义**：R3 "查看分段结果"是只读还是可编辑（合并/拆分/重新分段）未定义。归 ce-plan 设计。（ce-doc-review 第 2 轮延期，design-lens，置信度 75）
- **[P1 设计] 多端配置与认证流程缺失**：F3 缺少多端 onboarding 流程（webhook 配置/OAuth/app 凭证/连通性测试）。归 ce-plan 设计。（ce-doc-review 第 2 轮延期，design-lens，置信度 75）
- **[P2 战略] 维护成本痛点延期至 P3**：Problem Frame 声明"commodity 层维护成本高"但解决方案在最低优先级 P3。需考虑将高杠杆替换（如 LiteLLM）提前并行。（ce-doc-review 第 2 轮延期，product-lens，置信度 75）
- **[P2 战略] R11-R13 是技术债非产品需求**：R11-R13 成功标准是"现有功能行为不变"（零用户可见影响），无 Actor 受益。需考虑移至独立工程债轨道。（ce-doc-review 第 2 轮延期，product-lens，置信度 75）
- **[P2 战略] 门户触达(P2)反转门户价值主张**：门户平台的核心价值是触达，但多端接入在 P2。需考虑在 P1 并行交付至少一个高价值渠道。（ce-doc-review 第 2 轮延期，product-lens，置信度 75）
- **[P2 技术] Celery 缺乏必要性论证**：R12 引入 Celery 但未论证 asyncio 不足。文档向量化是 CPU-bound（可用 ProcessPoolExecutor），批量任务是 I/O-bound（asyncio 强项）。需补充具体场景。（ce-doc-review 第 2 轮延期，scope-guardian+adversarial，置信度 75）
- **[P2 技术] LiteLLM 替换覆盖缺口**：R13 未评估 LiteLLM 对 6 个现有 provider（尤其 Doubao/Wenxin/Yuanbao）的覆盖，以及语义缓存/用量追踪/RemoteLLMProvider 代理等网关特性。需补充 feature-gap 分析。（ce-doc-review 第 2 轮延期，scope-guardian+adversarial，置信度 75）
- **[P2 战略] 串行策略阻断 MCP Server**：R10 完善现有 MCP 基础设施，无依赖 RAG 或多端。串行策略将其阻断在两个无关工作流之后。需考虑解耦 R10。（ce-doc-review 第 2 轮延期，adversarial，置信度 75）
- **[P2 设计] MCP 发布配置细节未定义**：F4 "配置 MCP endpoint"未定义配置字段（工具名称/描述/输入 schema/鉴权方式/发布前测试）。归 ce-plan 设计。（ce-doc-review 第 2 轮延期，design-lens，置信度 75）
- **[P2 设计] 新 RAG 平台门户 IA 未定义**：R1 新建独立 RAG 平台模块，但未定义其在门户导航中的位置（顶级 section 还是扩展现有知识库管理区）。归 ce-plan 设计。（ce-doc-review 第 2 轮延期，design-lens，置信度 75）

## Sources / Research

- MaxKB 系统架构：https://maxkb.cn/docs/v1/system_arch/
- MaxKB 技术解析：https://juejin.cn/post/7650428235188420651
- MaxKB GitHub：https://github.com/1Panel-dev/MaxKB
- AgentKit 代码库：`memory/`（RAG 基础组件）、`server/routes/`（22 路由模块）、`src/agentkit/server/frontend/src/components/`（前端组件）
- AgentKit 项目规则：`AGENTS.md`、`CLAUDE.md`
