--- doc_id: DDS-202606-002 feature_id: FEAT-202606-002-fastgpt-integration type: detailed-design title: 医梦 AI 中台接入 FastGPT 设计与技术方案 status: reviewing owner: 医梦研发团队 created_at: 2026-06-13 updated_at: 2026-06-13 reviewers: [] related_docs: - ODS-202606-001 related_modules: - emoon-openplatform - emoon-ai-agent - emoon-ai-mcp - emoon-ai-file tags: - FastGPT - Agent Adapter - MCP Gateway - 知识库 --- # 医梦 AI 中台接入 FastGPT 设计与技术方案 | 项目 | 内容 | | --- | --- | | 文档定位 | 公司评审版设计 + 技术方案 | | 适用范围 | 医梦 AI 开放平台、AI Agent、FastGPT Adapter、MCP Gateway、Card Runtime、File Service、知识库运行副本、计量审计 | | 目标读者 | 公司管理层、商务谈判团队、架构评审人员、后端开发、初级工程师 | | FastGPT 源码基线 | `/Users/destiny/dev/emoon/projects/FastGPT`,本地 checkout `ga6885b339`(基于 `v4.15.0-beta`,上游 `Latest` 稳定 release 为 `v4.14.24`;另有 `v4.15.0-beta4` 预发布) | | emoon 工程基线 | Java 17 / Spring Boot 3 / Maven 多模块,AI 能力按 `emoon-ai-*` 分层模块落位 | | 版本 | v2.0 | | 更新时间 | 2026-06-13 | ## 0. 阅读结论 本方案的核心结论是: ```text FastGPT 可以作为医梦 AIAgent 的实现层之一接入, 但不能替代医梦 AI 中台,也不能成为医院业务系统的入口。 ``` 正确架构是: ```text 外部入口 / 终端 / 医生端 / 患者端 / 医院系统 ↓ 医梦 OpenPlatform + 医疗智能体应用控制层 ↓ 医梦 FastGPT Adapter ↓ FastGPT AI 能力层 ``` 错误架构是: ```text 外部入口 / 医生端 / 患者端 / HIS / LIS / EMR / 设备 ↓ FastGPT ``` FastGPT 在本项目中的定位是“后方 AI 能力底座”,主要承接: - LLM 生成; - Workflow 子流程; - RAG 检索; - OCR / 多模态理解; - Embedding / Rerank; - 知识库运行副本; - AI 调用日志和资源消耗数据。 医梦必须保留并强化: - 外部入口和统一鉴权; - 医疗场景路由; - 任务状态机; - 卡片运行时; - 医梦 MCP Gateway; - HIS / LIS / EMR / PACS / 支付 / 叫号等医院系统适配; - 文件源资产和敏感数据控制; - 医生反馈闭环; - 知识库源资产管理; - 计量、账本、审计、合同和运营闭环。 ## 1. 本文修正 Claude 初稿的关键点 Claude 初稿提供了有价值的方向,但有几处需要在公司评审前修正。 | 初稿说法 | 本文修正 | 原因 | | --- | --- | --- | | FastGPT 版本口径混用 | 本地 checkout `ga6885b339`,基于 `v4.15.0-beta`;上游 `Latest` 稳定 release 为 `v4.14.24`,另有 `v4.15.0-beta4` 预发布 | 文档必须同时标注本地源码基线、稳定版能力和 beta 能力差异 | | `~/dev/emoon/project/FastGPT` | `/Users/destiny/dev/emoon/projects/FastGPT` | 实际目录为 `projects`,不是 `project` | | Dify 尚未进入代码,切换成本极低 | emoon 已存在 `DifyAgentEngine`、`DifyKnowledgeEngine`、Dify 意图识别和多处 `dify` 硬编码 | 切换不是零成本,需要双引擎并存和逐步迁移 | | FastGPT OpenAI-compatible,可直接复用 DirectLLM 协议 | 只能复用部分请求/流式解析思想,不能完全当作 OpenAI API | FastGPT `model/temperature` 等参数由编排决定,API 参数不按 OpenAI 语义生效 | | FastGPT `usage` 可直接用于计量 | 不可信任默认 `usage` | v1 接口默认 `usage` 为占位值,需要 `detail=true.responseData` 或日志归集 | | FastGPT 社区版能力完整 | 必须区分社区版、商业版、云服务版 | 运行日志看板、应用评测、内容审核、SSO、多租户等能力与商业版相关 | | 很多 emoon 模块无需修改 | 对外入口不改,但知识库、意图识别、引擎配置、计量归集、健康探活都需要适配 | 当前代码存在 Dify 语义绑定 | ## 2. 背景与决策问题 ### 2.1 业务背景 甲方本周明确提出希望底层 AI 中台替换为 FastGPT。考虑到 FastGPT 与 Dify 都提供通用 AI 应用构建、Workflow、RAG、工具调用和模型编排能力,医梦不能把二期和三期规划整体推倒重来。 更合理的理解是: ```text Dify / FastGPT / DirectLLM / Mock 都是 AgentEngine 的实现层。 医梦 AI 中台的医疗业务控制层不能被替换。 ``` ### 2.2 评审要回答的问题 本方案需要回答四类问题: 1. FastGPT 现有能力是什么,哪些能力可用,哪些能力有版本或商业限制; 2. Dify 与 FastGPT 在产品、工程接入、医疗业务闭环上的差异; 3. 相比原 Dify 规划,接入 FastGPT 会产生哪些限制和新问题; 4. emoon 应如何分阶段接入 FastGPT,并控制风险、边界和工程复杂度。 ### 2.3 总体建议 建议采用“FastGPT 主接入 + Dify 过渡保留”的策略: - 新增 `engineType=fastgpt`,不要删除 `engineType=dify`; - 新项目优先验证 FastGPT; - 已经跑通的 Dify 链路不立即强拆; - 管理后台、Agent 配置、知识库配置、意图识别配置逐步从硬编码 `dify` 改为可配置引擎; - 计量、审计、卡片、文件和 MCP 网关坚持由 emoon 控制。 ## 3. FastGPT 能力全景 本节基于本地 FastGPT 源码和文档目录校准,不默认把商业版能力算入 P0。 ### 3.1 产品定位 FastGPT 是一个 AI 应用构建平台,核心能力包括: - 应用编排; - 智能体对话; - Workflow; - 知识库; - MCP 工具集; - HTTP 工具集; - OpenAPI 调用; - 分享和嵌入; - 模型配置; - 部署运维。 技术栈: - Node.js / TypeScript; - Next.js; - MongoDB; - Docker / Sealos 部署体系。 ### 3.2 应用类型 本地源码中 `AppTypeEnum` 关键值如下: | 类型 | 源码枚举值 | 说明 | emoon 用法 | | --- | --- | --- | --- | | 简易对话 | `simple` | FAQ、普通问答 | P0 可用 | | 对话智能体 | `chatAgent` | 带工具和上下文的对话 | P0 可用 | | Workflow | `advanced` | 高级编排 | P0/P1 主能力 | | Workflow Tool | `plugin` | 可复用插件流程 | P1 可用 | | MCP ToolSet | `toolSet` | MCP 工具集 | P1 重点验证 | | HTTP ToolSet | `httpToolSet` | HTTP 工具集 | P1/P2 可选 | | 文件夹 | `folder` / `toolFolder` | 管理组织结构 | 管理后台可见 | 初级工程师注意: ```text FastGPT 的 workflow 类型在源码枚举中叫 advanced。 不要只看 UI 文案写死字符串。 ``` ### 3.3 对话能力 核心接口: ```text POST /api/v1/chat/completions POST /api/v2/chat/completions POST /api/v2/chat/stop ``` 本文 P0 建议先接 `v1`,原因是现有文档和源码中的兼容性说明更充分。后续可在 P1 评估 v2。 `v1` 请求关键字段: ```json { "chatId": "emoon-conversation-id", "stream": true, "detail": true, "responseChatItemId": "emoon-message-id", "variables": { "traceId": "trace_xxx", "sceneCode": "OUTPATIENT_TRIAGE" }, "messages": [ { "role": "user", "content": "我头疼应该挂什么科" } ] } ``` 重要差异: | 点 | 说明 | emoon 影响 | | --- | --- | --- | | `model` | FastGPT v1 文档说明 `model` 等参数无效,实际应用由鉴权和编排决定 | 不要用 `model` 表达 FastGPT App ID 的唯一来源 | | `temperature` | 由 FastGPT 编排配置决定 | emoon 不应在运行时假设可覆盖 | | `chatId` | 不传时不使用 FastGPT 上下文;传入时 FastGPT 会按 chatId 取历史 | emoon 应传自己的会话 ID 或映射 ID | | `detail` | 返回节点执行过程和 responseData | 计量、审计、调试建议开启或按环境开启 | | `usage` | v1 默认响应里可能是占位值 | 不能直接入账 | ### 3.4 流式 SSE 能力 FastGPT `stream=true` 时返回 SSE。普通增量类似: ```text data: {"choices":[{"delta":{"content":"您"},"finish_reason":null}]} data: {"choices":[{"delta":{"content":"好"},"finish_reason":null}]} data: [DONE] ``` 当 `detail=true` 时,还会出现流程节点结果事件。emoon 需要做两层归一化: 1. FastGPT SSE → `AgentResponse`; 2. `AgentResponse` → OpenPlatform 对外 SSE 事件。 emoon 对外仍保持: ```text message_delta message_completed journey_updated task_updated card_created completed error ``` FastGPT 原始 SSE 事件不能直接暴露给终端厂商。 ### 3.5 知识库能力 FastGPT 知识库能力包括: - 创建知识库; - 查询知识库列表和详情; - 文件集合管理; - 文档导入; - 分段管理; - 检索测试; - 训练订单; - 图片和多模态相关增强能力。 需要区分版本: | 能力 | 社区版 | 商业版/云服务版 | emoon 建议 | | --- | --- | --- | --- | | 基础知识库 | 支持 | 支持 | P1 可接 | | 文档导入 | 支持 | 支持 | P1 可接 | | 知识库索引增强 | 受限 | 支持 | 不作为 P0 承诺 | | Web 站点同步 | 受限 | 支持 | 不作为 P0 承诺 | | 第三方知识库同步 | 受限 | 支持 | 商务确认后再排期 | | 图片知识库 | 受限 | 支持 | 医疗影像/舌象不能直接依赖 | 医梦的原则: ```text emoon 保存知识库源资产。 FastGPT 保存运行副本。 医生反馈先进入 emoon,再决定是否更新 FastGPT 知识库。 ``` ### 3.6 MCP 能力 FastGPT 源码中 `packages/service/core/app/mcp.ts` 使用: - `@modelcontextprotocol/sdk`; - `StreamableHTTPClientTransport`; - `SSEClientTransport`; - `listTools`; - `callTool`; - 工具调用超时约 300 秒; - `isInternalAddress()` 内网地址防护; - JSON Schema `$ref` 解析时禁用 file/http,降低 SSRF 风险。 这是 FastGPT 相比 Dify 的重要优势,但也带来边界风险。 医梦规定: ```text FastGPT MCP Client 只能连 emoon MCP Gateway。 FastGPT 不能直接连 HIS / LIS / EMR / PACS / 支付 / 叫号 / 设备平台。 ``` ### 3.7 版本能力 FastGPT 源码存在: ```text /api/core/app/version/list /api/core/app/version/publish /api/core/app/version/detail /api/core/app/version/latest /api/core/app/version/update ``` 能力可用于版本列表、发布、详情、最新版本和更新。但 emoon 不应完全依赖 FastGPT 作为医疗场景版本事实源。 emoon 需要额外保存: - `agentId`; - `fastgptAppId`; - `fastgptVersionId`; - FastGPT App 快照; - emoon 输出 Schema 版本; - 生效状态; - 灰度策略; - 回滚指针。 ### 3.8 运营和日志能力 FastGPT 可提供应用运行数据和模型调用数据,但公司评审要注意: | 能力 | 风险 | | --- | --- | | 运行日志看板 | 商业版能力,不应默认进入 P0 | | 应用评测 | 商业版/云服务版能力更完整 | | 内容审核 | 商业版能力,不应替代 emoon 医疗安全规则 | | 模型日志 | 可用于辅助对账,但不能替代 emoon 计量账本 | | 用户反馈 | 可用作辅助标注,但医生反馈主链路必须在 emoon | ### 3.9 emoon 主调用 FastGPT API 清单 完整 FastGPT route 明细见 [附录 A](#附录-a-fastgpt-当前源码-api-明细)。正文只保留 emoon 需要纳入架构评审、接口设计和工程排期的主调用接口族;这些接口必须经由 `FastGPT Adapter` 封装,业务模块不得直接散落调用 FastGPT。 | 功能域 | 接口 | 主要功能介绍 | emoon 是否需要对接 | 当前系统环境是否需要对接 | |--------|------|--------------|--------------------|--------------------------| | 对话运行 | `POST /api/v1/chat/completions` | FastGPT OpenAI 风格主对话入口,支持同步/流式输出、`chatId`、`variables`、`detail` 等运行参数 | 是,P0 | 是,作为 `FastGptAgentEngine` 主入口 | | 对话运行 | `POST /api/v2/chat/completions` | v2 对话入口,能力随 FastGPT 版本演进,适合后续评估替换 v1 | 暂不 P0 | 否,先以 v1 稳定接入为准 | | 对话运行 | `POST /api/v2/chat/stop` | 停止运行中的会话任务,用于前端取消生成或超时熔断 | 是,P1 | 需要,SSE/长任务体验完善后接入 | | 对话详情 | `POST /api/core/chat/getResData` | 获取运行详情、节点响应、引用数据等,用于弥补默认 `usage` 占位问题 | 是,P0 | 是,计量、审计、问题排查必须使用 | | 对话详情 | `POST /api/core/chat/record/getResData` | 按历史记录查询单次响应明细 | 是,P1 | 需要,用于医生反馈回放和审计抽查 | | 对话记录 | `POST /api/core/chat/getPaginationRecords` | 查询会话分页记录 | 可选 | 当前不作为事实源,仅用于排查 | | 对话记录 | `POST /api/core/chat/record/getPaginationRecords` | 查询记录级分页列表 | 可选 | 当前不作为事实源,仅用于后台诊断 | | 对话恢复 | `POST /api/core/chat/resume` | 恢复中断的对话运行 | 可选 | 仅在 FastGPT 工作流存在人工中断/恢复场景时接入 | | 文件上传 | `POST /api/core/chat/file/presignChatFilePostUrl` | 获取聊天文件上传预签名地址 | 谨慎对接 | 仅允许 emoon File Service 代办,医生端/患者端不得直传 FastGPT | | 文件下载 | `POST /api/core/chat/file/presignChatFileGetUrl` | 获取聊天文件下载预签名地址 | 谨慎对接 | 仅用于受控回放和审计,不作为长期文件地址 | | 反馈 | `POST /api/core/chat/feedback/updateUserFeedback` | 写入用户反馈、点赞点踩或纠错信息 | 是,P1 | 需要,但医生反馈仍须先落 emoon 反馈表 | | 应用详情 | `POST /api/core/app/detail` | 获取 FastGPT 应用完整配置详情 | 是,P0 | 是,用于配置校验和版本映射 | | 应用信息 | `POST /api/core/app/getBasicInfo` | 获取应用基础信息 | 是,P0 | 是,用于健康检查和后台展示 | | 应用权限 | `POST /api/core/app/getPermission` | 查询应用访问权限 | 是,P1 | 需要,用于发布前校验 | | 应用列表 | `GET /api/core/app/list` | 查询应用列表 | 可选 | 管理后台可用,运行链路不依赖 | | 应用版本 | `GET /api/core/app/version/list` | 查询应用版本列表 | 是,P0 | 是,支撑 emoon 版本映射和回滚 | | 应用版本 | `GET /api/core/app/version/detail` | 查询指定应用版本详情 | 是,P0 | 是,发布审计和差异比对需要 | | 应用版本 | `GET /api/core/app/version/latest` | 查询最新版本 | 是,P0 | 是,但不能自动替换 emoon 生效版本 | | 应用发布 | `POST /api/core/app/version/publish` | 发布 FastGPT 应用版本 | 谨慎对接 | 仅允许 emoon 管理后台受控触发,不允许运营直接绕过版本映射 | | 应用日志 | `POST /api/core/app/logs/list` | 查询应用运行日志 | 是,P1 | 需要,用于联调、灰度和线上问题定位 | | 应用日志 | `POST /api/core/app/logs/exportLogs` | 导出应用日志 | 可选 | 审计导出场景需要,默认不进入 P0 | | MCP 工具 | `POST /api/core/app/mcpTools/getTools` | 查询应用可用 MCP 工具 | 是,P1 | 需要,用于验证 FastGPT 只能看到 emoon MCP Gateway 暴露的工具 | | MCP 工具 | `POST /api/core/app/mcpTools/getChildren` | 查询 MCP 工具子级/明细 | 是,P1 | 需要,用于工具权限巡检 | | MCP 工具 | `POST /api/core/app/mcpTools/create` | 在 FastGPT 内创建 MCP ToolSet 应用,绑定远端 MCP Server URL、请求头密钥和工具列表 | 是,P1 | 需要,但只能注册 emoon MCP Gateway 或其受控代理地址 | | MCP 工具 | `POST /api/core/app/mcpTools/update` | 更新 FastGPT MCP ToolSet 的 URL、密钥和工具列表 | 是,P1 | 需要,必须由 emoon 发布流程触发并记录版本 | | MCP 工具 | `POST /api/core/app/mcpTools/runTool` | 通过 FastGPT 临时调用远端 MCP 工具,常用于配置验证和调试 | 谨慎对接 | 当前只用于验收测试,不进入生产业务主链路 | | MCP Server | `GET /api/support/mcp/list` | 查询 FastGPT 对外暴露的 MCP Server 配置 | 可选,P2 | 当前不作为医梦医疗工具入口,只用于评估 FastGPT 应用被外部调用 | | MCP Server | `POST /api/support/mcp/create` | 将若干 FastGPT 应用包装成 MCP Server 工具对外暴露 | 可选,P2 | 非 P0;不能替代 emoon 医疗工具网关 | | MCP Server | `PUT /api/support/mcp/update` | 更新 FastGPT MCP Server 名称和绑定应用列表 | 可选,P2 | 非 P0;如使用必须纳入版本审计 | | MCP Server | `DELETE /api/support/mcp/delete` | 删除 FastGPT MCP Server 配置 | 可选,P2 | 非 P0 | | MCP Server | `POST /api/mcp/app/[key]/mcp` | FastGPT 提供的 MCP 协议端点,外部 MCP Client 可通过 key 调用被绑定的 FastGPT 应用工具 | 可选,P2 | 只适合把 FastGPT 应用暴露给 emoon 或内部工具,不面向医院系统 | | OpenAPI Key | `POST /api/support/openapi/create` | 创建 FastGPT OpenAPI Key | 谨慎对接 | 建议由部署/运维初始化,生产运行不频繁调用 | | OpenAPI Key | `GET /api/support/openapi/list` | 查询 OpenAPI Key 列表 | 是,P1 | 需要,用于配置巡检和密钥轮换检查 | | 健康探活 | `GET /api/support/openapi/health` | OpenAPI 健康检查 | 是,P0 | 是,作为 Adapter 健康探活基础接口 | | 知识库 | `GET /api/core/dataset/list` | 查询知识库列表 | 是,P0 | 是,用于运行副本映射和配置校验 | | 知识库 | `POST /api/core/dataset/create` | 创建知识库 | 是,P1 | 需要,限管理后台/交付工具调用 | | 知识库 | `GET /api/core/dataset/detail` | 查询知识库详情 | 是,P0 | 是,用于副本状态核验 | | 知识库 | `POST /api/core/dataset/update` | 更新知识库配置 | 是,P1 | 需要,但必须由 emoon 知识资产发布流程触发 | | 知识检索 | `POST /api/core/dataset/searchTest` | 对知识库执行检索测试 | 是,P1 | 需要,用于验收、召回质量评测和排障 | | 知识集合 | `POST /api/core/dataset/collection/create/fileId` | 基于已上传文件创建知识集合 | 是,P1 | 需要,前提是文件先进入 emoon File Service 并完成脱敏/审计 | | 知识集合 | `POST /api/core/dataset/collection/list` | 查询知识集合列表 | 是,P1 | 需要,用于同步状态和问题排查 | | 知识分段 | `POST /api/core/dataset/data/list` | 查询知识分段数据 | 是,P1 | 需要,用于抽检、医生纠错和知识治理 | | 训练队列 | `GET /api/core/dataset/training/getDatasetTrainingQueue` | 查询知识库训练队列 | 是,P1 | 需要,用于发布进度展示和失败重试 | | 训练错误 | `GET /api/core/dataset/training/getTrainingError` | 查询训练错误 | 是,P1 | 需要,用于运维告警和交付排障 | | 模型配置 | `GET /api/core/ai/model/list` | 查询 FastGPT 可用模型 | 是,P1 | 需要,用于环境验收,不作为业务模型事实源 | | 模型测试 | `POST /api/core/ai/model/test` | 测试模型连通性 | 是,P1 | 需要,用于部署验收和健康诊断 | 对正文主调用接口的结论:P0 只覆盖对话主链路、应用版本映射、健康探活和知识库状态核验;P1 再补充文件受控流转、日志、反馈、训练队列、MCP ToolSet 注册、MCP 工具巡检和模型验收;FastGPT 自身的 MCP Server 暴露能力不进入医疗工具 P0,附录中大量用户、团队、市场、插件、初始化、迁移、商业版管理接口不应由 emoon 业务运行链路直接依赖。 ### 3.10 emoon 调用 FastGPT 的功能价值评估 | 功能域 | emoon 是否调用 | 优先级 | 调用价值 | 边界与注意事项 | | --- | --- | --- | --- | --- | | 对话生成 `/v1/chat/completions` | 是 | P0 | 替代 Dify 承接 Agent 推理和 Workflow 子流程 | 只由 `FastGptAgentEngine` 调用,不暴露给终端 | | SSE 流式 | 是 | P0 | 支撑统一入口客户端实时反馈 | 必须归一成 emoon SSE 事件 | | `detail=true.responseData` | 是 | P0 | 获取节点级用量和调试信息 | 默认 usage 不可信,需二次归集 | | 应用详情/探活 | 是 | P0/P1 | 验证 FastGPT App 和 API Key 可用 | 不作为业务配置事实源 | | 应用版本 | 是 | P1 | 支撑灰度、回滚、审计 | emoon 仍保存版本映射和快照 | | 应用日志 | 可选 | P1 | traceId 排障和计量对账辅助 | 不能替代 emoon 审计 | | 知识库 CRUD | 是 | P1 | 同步知识库运行副本 | emoon 保存源资产,FastGPT 只运行检索副本 | | 知识库检索测试 | 是 | P1 | 验证 RAG 效果 | 不直接面向医院用户 | | MCP 工具集 | 可选 | P1 | 验证 FastGPT 能调用 emoon MCP Gateway | 不允许连接医院原始系统 | | OpenAPI Key 管理 | 可选 | P1 | 交付和运维时创建/检查 Key | 生产运行建议用预置密钥和 emoon 配置管理 | | 用户/团队 | 否 | - | FastGPT 平台内部能力 | emoon 自己维护医院项目和授权 | | 外链发布 | 否 | - | FastGPT 自有发布渠道 | 医生端、患者端、终端入口必须走 emoon | | 插件市场 | 否 | P2/P3 | 远期模板参考 | 医疗工具必须经 emoon 安全审查 | | 沙箱/Skill | 否 | P2/P3 | 开发增强 | 不承载医疗生产业务代码 | | FastGPT 文件接口 | 谨慎 | P1/P2 | 只用于 FastGPT 内部临时文件 | 医疗敏感文件必须先入 emoon File Service | ### 3.11 emoon 模块依赖 FastGPT 接口族架构图 下面的图只表达接口依赖关系,不表示所有接口都会进入 P0。实线是运行主链路,虚线是管理、运维、验证或后续增强链路。 ```mermaid flowchart TB Open["emoon-openplatform\n外部 API / SSE / 鉴权"] Agent["emoon-ai-agent\nFastGptAgentEngine / OutputNormalizer"] System["emoon-system / emoon-admin\n引擎配置 / 管理后台"] File["emoon-ai-file\n文件事实源 / 短期 URL"] Card["emoon-ai-card\nCard Runtime / Card Action"] Mcp["emoon-ai-mcp\nMCP Gateway / HIS Adapter"] Meter["emoon-ai-meter / billing\nUsage 归集 / 账本"] Audit["Audit / Operation\n审计 / 运营分析"] ChatApi["FastGPT 对话接口\n/v1/chat/completions"] ChatRead["FastGPT 会话/记录接口\n/core/chat/*"] AppApi["FastGPT 应用/版本/日志接口\n/core/app/*"] DatasetApi["FastGPT 知识库接口\n/core/dataset/*"] McpApi["FastGPT MCP/OpenAPI 接口\n/support/mcp/* /support/openapi/*"] PlatformApi["FastGPT 平台接口\nuser/team/outLink/plugin/admin/common/system"] Open --> Agent Agent --> ChatApi Agent -.断线恢复/排障.-> ChatRead System -.配置校验/版本映射.-> AppApi Agent -.应用版本/日志辅助.-> AppApi System -.知识库运行副本管理.-> DatasetApi Agent -.RAG 效果验证.-> DatasetApi File -.短期 URL / 脱敏摘要.-> Agent Agent --> Card Card --> Mcp ChatApi -.工具调用只能经网关.-> Mcp System -.OpenAPI Key / MCP 配置验证.-> McpApi McpApi -.只允许指向.-> Mcp Agent --> Meter ChatApi -.responseData / usage 明细.-> Meter Agent --> Audit AppApi -.运行日志辅助对账.-> Audit PlatformApi -.默认不接入医梦生产链路.-> System ``` 模块依赖结论: - `emoon-ai-agent` 是运行时唯一直接调用 FastGPT 对话接口的模块; - `emoon-system / emoon-admin` 只做配置、探活、版本映射和知识库运行副本管理; - `emoon-ai-file` 不调用 FastGPT,只给 Agent 提供可控文件引用; - `emoon-ai-card` 不调用 FastGPT,只消费 Agent 归一后的卡片建议; - `emoon-ai-mcp` 是 FastGPT 工具调用唯一可达的医院系统网关; - `emoon-ai-meter / billing` 不读取 FastGPT 默认 usage 扣费,只消费 Adapter 提取后的节点用量和 emoon 自身事件; - FastGPT 用户、团队、外链、插件市场、初始化迁移接口不进入当前医梦医疗生产链路。 ## 4. Dify vs FastGPT 对比 ### 4.1 产品能力对比 | 能力 | Dify | FastGPT | 结论 | | --- | --- | --- | --- | | Workflow | 成熟,生态大 | 支持 advanced Workflow | 基本对等 | | Agent | 支持 | 支持 chatAgent | 基本对等 | | RAG | 成熟 | 成熟,中文文档友好 | 基本对等 | | MCP | 非原生或需适配 | 原生 MCP ToolSet | FastGPT 优势 | | HTTP 工具 | 支持 | 支持 httpToolSet | 基本对等 | | OpenAPI 调用 | 自有协议 | OpenAI-like | FastGPT 工程接入更接近标准 | | 版本管理 | 发布/回滚语义较完整 | 有版本 API,但需校准 | Dify 更成熟 | | 社区生态 | 更大 | 国内中文生态较强 | 取决于客户偏好 | | 部署 | 依赖更多组件 | MongoDB 为主,部署相对轻 | FastGPT 部署较轻 | | 开源协议 | Apache 2.0 | Apache 2.0 + 附加条件 | Dify 更宽松 | ### 4.2 工程接入对比 | 维度 | Dify 接入 | FastGPT 接入 | emoon 决策 | | --- | --- | --- | --- | | 对话请求 | `/v1/chat-messages` | `/api/v1/chat/completions` | 新增 `FastGptAgentEngine` | | 输入变量 | `inputs` | `variables` | `AgentRequest.inputs` 映射到 `variables` | | 会话 ID | Dify `conversation_id` | FastGPT `chatId` | emoon conversationId 仍为事实源 | | 流式格式 | Dify 自有事件 | OpenAI-like SSE + detail 事件 | 统一由 Adapter 归一 | | 用量 | metadata.usage | v1 usage 默认占位 | FastGPT 需特殊归集 | | 知识库 API | 已有 `DifyKnowledgeEngine` | 需新增 `FastGptKnowledgeEngine` | P1 做 | | 健康探活 | `/parameters` 可探 | 无统一稳定 health 端点 | 用最小对话或应用详情探活 | | 意图识别 | 已有 `DifyIntentClient` | 需抽象成可配置 Intent Client | P1 做 | ### 4.3 医疗业务影响对比 | 医梦能力 | 使用 Dify | 使用 FastGPT | 是否改变 emoon 责任 | | --- | --- | --- | --- | | OpenPlatform 鉴权 | emoon 控制 | emoon 控制 | 不变 | | 设备场景 | emoon 控制 | emoon 控制 | 不变 | | TaskState | emoon 控制 | emoon 控制 | 不变 | | Card Runtime | emoon 控制 | emoon 控制 | 不变 | | MCP Gateway | emoon 控制 | emoon 控制 | 不变 | | 计量账本 | emoon 控制 | emoon 控制 | 不变,但 FastGPT usage 解析更复杂 | | 医生反馈 | emoon 控制 | emoon 控制 | 不变 | | 知识库源资产 | emoon 控制 | emoon 控制 | 不变 | | Workflow 子流程 | Dify 执行 | FastGPT 执行 | 实现层改变 | ## 5. emoon 当前 Dify 接入现状 ### 5.1 已存在的 Dify 代码 当前工程已经不是“尚未接入 Dify”的状态。已发现的关键点: | 类型 | 位置 | 说明 | | --- | --- | --- | | 对话引擎 | `emoon-ai-agent` 中 `DifyAgentEngine` | 已实现同步和 SSE | | 知识库引擎 | `emoon-ai-agent` 中 `DifyKnowledgeEngine` | 已实现知识库、文档、分段、检索等大量 API | | 意图识别 | `DifyIntentClient` | AgentRouter 可调用 Dify 意图智能体 | | 管理后台连通性 | `AiEngineConnectivityClient` | 当前支持 `mock` 和 `dify` | | OpenPlatform 旧客户端 | `emoon-openplatform/dify/*` | 仍有 DifyApiClient 和领域对象 | | 知识库调用 | `KnowledgeBaseServiceImpl` / `KnowledgeBaseController` | 多处硬编码 `dify` | | 应用对话服务 | `AgentChatApplicationServiceImpl` | 存在固定 Dify Agent ID 和 `getEngine("dify")` | ### 5.2 当前切换成本判断 切换成本不是零,但仍可控。 低成本部分: - `AgentEngine` 已是可插拔接口; - `AgentRequest` / `AgentResponse` 可以复用; - `AgentEngineFactory` 可自动收集新实现; - Card Runtime、Device、MCP、Meter 的目标边界已经存在; - Maven 模块分层已为新实现预留位置。 中等成本部分: - 知识库接口大量 Dify 语义需要抽象; - 意图识别需要从 `DifyIntentClient` 泛化; - 连通性测试和配置脱敏需要支持 FastGPT; - OpenPlatform 中固定 Dify 逻辑需要迁移到领域层或配置层; - FastGPT usage 不能直接入账。 高风险部分: - 如果让 FastGPT 直接连接医院系统,会破坏医梦中台边界; - 如果把 FastGPT Workflow 当作医疗主状态机,会导致审计、计量、回滚、人工确认不可控; - 如果直接删除 Dify,会影响已有联调链路。 ## 6. 目标架构与边界 ### 6.1 五层架构 ```mermaid flowchart TB Entry["外部入口层\n小程序 / 医生端 / 终端 / 医院门户 / 第三方系统"] Open["医梦 OpenPlatform\n鉴权 / 限流 / 签名 / SSE / 对外契约"] Control["医梦医疗智能体应用控制层\n路由 / TaskState / Card / File / Meter / Audit"] Adapter["FastGPT Adapter\n输入裁剪 / API 调用 / SSE 归一 / 输出校验"] FastGPT["FastGPT AI 能力层\nLLM / Workflow / RAG / OCR / MCP Client"] Mcp["医梦 MCP Gateway\nHIS / LIS / EMR / PACS / 支付 / 叫号适配"] Hospital["医院业务系统\nHIS / LIS / EMR / PACS / 支付 / 叫号 / 物联平台"] Entry --> Open Open --> Control Control --> Adapter Adapter --> FastGPT Control --> Mcp FastGPT -.仅允许调用.-> Mcp Mcp --> Hospital ``` ### 6.2 正确职责划分 | 层级 | 归属 | 职责 | | --- | --- | --- | | 外部入口 | emoon / 医院入口接 emoon | 用户入口、终端入口、医生端入口 | | OpenPlatform | emoon | 鉴权、签名、SSE、幂等、traceId、对外接口 | | 医疗控制层 | emoon | 场景、任务、卡片、文件、工具、计量、审计 | | FastGPT Adapter | emoon | 适配 FastGPT API,控制输入输出 | | AI 能力层 | FastGPT / 深信服 | Workflow、RAG、OCR、模型调用 | | 医院系统层 | 医院 / 厂商,经 emoon 接入 | HIS、LIS、EMR、支付、叫号等 | ### 6.3 禁止事项 以下行为禁止: - 终端、医生端、患者端直接调用 FastGPT; - FastGPT 直接调用 HIS / LIS / EMR / PACS / 支付 / 叫号; - FastGPT 直接持有医院系统密钥; - FastGPT Workflow 直接执行挂号、支付、签到、写 EMR 等高风险动作; - 将医疗主状态只保存在 FastGPT; - 将完整病历、身份证、舌象原图等敏感数据无控制地传给 FastGPT; - 用 FastGPT 默认 `usage` 直接扣费; - 在 `emoon-openplatform` 新增 FastGPT 业务实现逻辑。 ### 6.4 emoon-backend 内部系统与 FastGPT 调用关系 FastGPT 在 emoon-backend 中只有一个直接调用入口: ```text emoon-ai-agent / FastGPT Adapter ``` 其他模块通过 emoon 内部 API、Facade、领域服务与 `emoon-ai-agent` 协作,不直接调用 FastGPT。 ```mermaid flowchart LR subgraph Entry["入口模块"] Open["emoon-openplatform\nOpenAPI / SSE / 鉴权 / 幂等"] Admin["emoon-admin\n管理后台入口"] end subgraph Api["API 契约层"] AgentApi["emoon-ai-agent-api\nAgentRequest / AgentResponse"] CardApi["emoon-ai-card-api"] DeviceApi["emoon-ai-device-api"] FileApi["emoon-ai-file-api"] MeterApi["emoon-ai-meter-api"] McpApi["emoon-ai-mcp-api"] SystemApi["emoon-system-api\nAiAgentEngineConfig"] end subgraph Domain["医梦 AI 领域实现层"] Agent["emoon-ai-agent\nAgentRouter / TaskState / FastGptAgentEngine"] FastAdapter["FastGPT Adapter\n输入裁剪 / SSE 归一 / 输出校验 / Usage 提取"] Card["emoon-ai-card\nCard Runtime / Card Action"] Device["emoon-ai-device\nDevice Registry / Scene Profile"] File["emoon-ai-file\n文件元数据 / 短期 URL / 审计"] Meter["emoon-ai-meter\nMeterEvent / Usage 归集"] Billing["emoon-ai-billing\n账单 / 能力值"] Audit["审计日志\ntraceId / 输入输出摘要"] Mcp["emoon-ai-mcp\nMCP Gateway / HIS Adapter"] System["emoon-system\n引擎配置 / 管理后台 CRUD"] end FastGPT["FastGPT\nWorkflow / RAG / OCR / LLM / MCP Client"] Hospital["医院系统\nHIS / LIS / EMR / PACS / 支付 / 叫号 / 物联"] Open --> AgentApi --> Agent Admin --> SystemApi --> System System --> Agent Agent --> FastAdapter --> FastGPT Agent --> CardApi --> Card Agent --> DeviceApi --> Device Agent --> FileApi --> File Agent --> MeterApi --> Meter Meter --> Billing Agent --> Audit Card --> McpApi --> Mcp FastGPT -.仅允许工具调用.-> Mcp Mcp --> Hospital File -.短期受控 URL / 脱敏摘要.-> FastAdapter FastAdapter -.节点 usage / responseData.-> Meter ``` 调用顺序按一次终端对话请求拆解如下: | 顺序 | 发起方 | 接收方 | 调用内容 | 说明 | | --- | --- | --- | --- | --- | | 1 | 终端 / 医生端 / 患者端 | `emoon-openplatform` | `/agent/chat/stream` 等 P0 接口 | 外部只接 emoon,不接 FastGPT | | 2 | `emoon-openplatform` | `emoon-ai-agent-api` | 统一 Agent 命令 | 入口层只做鉴权、签名、SSE、幂等 | | 3 | `emoon-ai-agent` | `emoon-ai-device` | 查询设备场景和允许能力 | 限定 allowedAgents / allowedCards | | 4 | `emoon-ai-agent` | `emoon-ai-file` | 获取短期文件 URL 或脱敏摘要 | FastGPT 不接收文件事实源 | | 5 | `emoon-ai-agent` | `FastGPT Adapter` | 组装 FastGPT 请求 | 裁剪输入,注入 traceId、任务、动线、设备上下文 | | 6 | `FastGPT Adapter` | FastGPT | `/api/v1/chat/completions` | 唯一直接调用 FastGPT 的运行链路 | | 7 | FastGPT | `emoon-ai-mcp` | MCP 工具调用,可选 | 只能调用 emoon MCP Gateway | | 8 | `emoon-ai-mcp` | 医院系统 | HIS/LIS/EMR/PACS/支付/叫号适配 | 医院系统不感知 FastGPT | | 9 | FastGPT | `FastGPT Adapter` | SSE / JSON / responseData | Adapter 做输出校验和 usage 提取 | | 10 | `emoon-ai-agent` | `emoon-ai-card` | 创建卡片实例 | FastGPT 只返回卡片建议 | | 11 | `emoon-ai-agent` | `emoon-ai-meter` / Audit | 写计量事件和审计摘要 | 不使用 FastGPT 默认 usage 直接扣费 | | 12 | `emoon-openplatform` | 外部终端 | `message_delta` / `card_created` / `completed` | 对外事件格式保持 emoon 稳定契约 | 各内部系统与 FastGPT 的关系: | emoon 内部系统 | 是否直接调用 FastGPT | 与 FastGPT 的关系 | 关键注意事项 | | --- | --- | --- | --- | | `emoon-openplatform` | 否 | 入口层通过 Agent API 间接触发 | 不写 FastGPT HTTP 客户端,不保存 FastGPT 业务状态 | | `emoon-admin` | 否 | 管理后台配置引擎、Agent、知识库映射 | 只调用 emoon 管理服务,不绕过领域层 | | `emoon-system` | 有限 | 可做 FastGPT 配置校验、App/版本元数据读取 | 只做管理面,不进入运行主链路 | | `emoon-ai-agent` | 是 | 唯一运行时直接调用 FastGPT 的领域模块 | 放置 `FastGptAgentEngine`、输出归一、usage 提取 | | `emoon-ai-card` | 否 | 消费 FastGPT 归一后的卡片建议 | 卡片实例和动作状态仍在 emoon | | `emoon-ai-device` | 否 | 提供设备和场景上下文给 Agent | 不把设备配置同步给 FastGPT 做事实源 | | `emoon-ai-file` | 否 | 提供短期 URL 或脱敏摘要 | 医疗敏感文件事实源在 emoon | | `emoon-ai-mcp` | 被 FastGPT 间接调用 | 作为 FastGPT MCP Client 唯一可连工具网关 | 工具风险分级、鉴权、幂等、审计必须在此层 | | `emoon-ai-meter` | 否 | 消费 FastGPT 节点用量和 emoon 调用事件 | 默认 usage 不可信,账本以 emoon 归集为准 | | `emoon-ai-billing` | 否 | 基于 Meter 事件生成账单 | 不读取 FastGPT 账单作为事实源 | | `emoon-ai-operation` | 否 | 运营统计可引用 FastGPT 日志摘要 | 指标口径以 emoon 事件为准 | ## 7. 模块级接入设计 ### 7.1 模块归属 遵循 `AI中台工程约束.md`: | 能力 | 落位模块 | 说明 | | --- | --- | --- | | FastGPT 对话引擎 | `emoon-ai-agent` | 新增 `FastGptAgentEngine` | | FastGPT 输出归一 | `emoon-ai-agent` | 新增 `FastGptOutputNormalizer` | | FastGPT 知识库运行副本 | `emoon-ai-agent` 或后续独立知识库适配 | 新增 `FastGptKnowledgeEngine` | | FastGPT 配置管理 | `emoon-system` + API 契约 | 扩展 `AiAgentEngineConfig` 语义 | | Card Runtime | `emoon-ai-card` | 不放到 FastGPT | | MCP Gateway | `emoon-ai-mcp` | 医院系统唯一工具网关 | | 文件事实源 | `emoon-ai-file` | 敏感文件先入 emoon | | 计量账本 | `emoon-ai-meter` / `billing` | 不信任 FastGPT 默认 usage | | 对外入口 | `emoon-openplatform` | 只做入口适配,不写 FastGPT 业务逻辑 | ### 7.2 新增 `engineType=fastgpt` `ai_agent_engine_config.engine_type` 增加: ```text fastgpt ``` 建议配置结构: ```json { "baseUrl": "http://fastgpt:3000", "apiKey": "fastgpt-xxxx", "appId": "fastgpt-app-id", "detailMode": "metering", "timeout": { "connectMs": 10000, "readMs": 120000, "sseIdleMs": 300000 }, "fallbackPolicy": { "onTimeout": "preset_reply", "onError": "preset_reply", "presetReply": "AI 服务暂时不可用,请稍后再试" }, "outputSchemaVersion": "emoon-card-output-v1" } ``` 字段说明: | 字段 | 必填 | 说明 | | --- | --- | --- | | `baseUrl` | 是 | FastGPT 服务地址,不含末尾 `/` | | `apiKey` | 是 | FastGPT 应用级 API Key | | `appId` | 建议 | 用于 emoon 侧映射和审计;实际调用可能由 API Key 鉴权决定 | | `detailMode` | 是 | `off` / `debug` / `metering`,控制是否请求 `detail=true` | | `timeout` | 是 | 连接、读取、SSE 空闲超时 | | `fallbackPolicy` | 是 | 超时或异常时的降级策略 | | `outputSchemaVersion` | 是 | FastGPT 输出必须满足的 emoon Schema | ### 7.3 `FastGptAgentEngine` 新增实现: ```text emoon-infra/emoon-modules/emoon-ai/emoon-ai-agent └── src/main/java/com/emoon/ai/agent/infrastructure/fastgpt/ ├── FastGptAgentEngine.java ├── FastGptApiClient.java ├── FastGptEngineConfig.java ├── FastGptOutputNormalizer.java └── FastGptUsageExtractor.java ``` 职责: - 实现 `AgentEngine`; - `getEngineType()` 返回 `fastgpt`; - 同步对话调用 `/api/v1/chat/completions`; - 流式对话解析 FastGPT SSE; - `AgentRequest.inputs` 映射到 FastGPT `variables`; - `conversationId` 映射到 FastGPT `chatId`; - 将 FastGPT 输出归一成 `AgentResponse`; - 将节点用量写入 metadata,供计量层消费。 不要做: - 不在 Engine 内创建卡片实例; - 不在 Engine 内直接调 MCP; - 不在 Engine 内写计量账本; - 不在 Engine 内操作 HIS; - 不把 FastGPT 原始异常直接暴露给终端。 ### 7.4 请求映射 `AgentRequest` 到 FastGPT 请求映射: | `AgentRequest` | FastGPT 字段 | 说明 | | --- | --- | --- | | `agentId` | metadata / variables | 用于追踪,不直接依赖 `model` | | `conversationId` | `chatId` | emoon 会话 ID 或外部映射 ID | | `query` | `messages[-1].content` | 用户输入 | | `userId` | `customUid` / variables | 视 FastGPT 鉴权方式决定 | | `inputs` | `variables` | 场景、设备、任务、动线、traceId 等 | | `files` | message content 中的 `image_url` / `file_url` | 只能传 emoon File Service 生成的受控 URL | 示例请求: ```json { "chatId": "conv_20260613_0001", "stream": true, "detail": true, "responseChatItemId": "msg_20260613_0001", "variables": { "traceId": "trace_20260613_0001", "projectId": "1", "deviceType": "kiosk", "sceneCode": "OUTPATIENT_TRIAGE", "taskType": "TRIAGE", "journeyStage": "WAITING_CHECKIN" }, "messages": [ { "role": "user", "content": "我头疼、发烧,应该挂什么科?" } ] } ``` ### 7.5 输出 Schema FastGPT Workflow 最终输出必须满足 emoon 输出 Schema。建议 P0 使用: ```json { "reply": "建议您优先挂发热门诊或全科门诊,由医生进一步判断。", "cards": [ { "cardKey": "department-selection", "cardData": { "departments": [ { "deptId": "dept_fever", "name": "发热门诊", "reason": "存在发热症状" } ] } } ], "riskLevel": "MEDICAL_ADVICE", "scenarioCode": "OUTPATIENT_TRIAGE" } ``` 归一化规则: - 如果输出是纯文本,全部作为 `reply`; - 如果输出是 JSON,必须校验 `reply/cards/riskLevel/scenarioCode`; - `cardKey` 必须在 emoon 卡片定义中存在; - `cardData` 必须通过卡片 Schema 校验; - `riskLevel` 为高风险时,必须触发人工确认或降级; - 输出中不得包含未脱敏身份证、手机号、完整病历原文、接口密钥。 ## 8. 数据、文件与隐私设计 ### 8.1 数据最小化 FastGPT 只接收完成当前 AI 子任务所需的最小上下文。 错误示例: ```json { "patientName": "张三", "idCard": "4403...", "phone": "138...", "fullEmrText": "完整病历原文..." } ``` 正确示例: ```json { "age": 45, "gender": "FEMALE", "chiefComplaint": "头痛伴发热 1 天", "abnormalItems": [ { "code": "WBC", "name": "白细胞计数", "value": "12.3", "flag": "HIGH" } ] } ``` ### 8.2 文件处理原则 所有医疗敏感文件必须先进入 emoon File Service。 ```text 终端 / 医生端 / 患者端 ↓ emoon /files/upload ↓ emoon 文件元数据、审计、脱敏、访问控制 ↓ 短期受控 URL 或脱敏摘要 ↓ FastGPT ``` 原因: - 文件上传需要幂等; - 文件删除需要审计; - 舌象、面诊、报告、身份证等属于敏感数据; - FastGPT 不能成为文件源资产; - 后续医生反馈和知识库更新需要引用 emoon 文件 ID。 ### 8.3 FastGPT 文件 URL 注意事项 FastGPT 对话文档示例支持 `image_url` 和 `file_url`,但这不代表可以直接传长期公网 URL。 要求: - URL 必须短期有效; - URL 必须可审计; - URL 不应暴露真实 OSS bucket 结构; - URL 不应包含永久 token; - URL 最好绑定 traceId / fileId / projectId; - 高敏文件应优先传结构化摘要,不传原文件。 ## 9. 知识库设计 ### 9.1 源资产与运行副本 医梦知识库分两层: | 层级 | 事实源 | 职责 | | --- | --- | --- | | 知识库源资产 | emoon | 原始文件、医生反馈、审核状态、版本、发布记录 | | 知识库运行副本 | FastGPT | 向量化、RAG 检索、Workflow 引用 | 原则: ```text 医生反馈不能直接写入 FastGPT 知识库。 必须先进入 emoon 审核,再同步到 FastGPT 运行副本。 ``` ### 9.2 新增 `FastGptKnowledgeEngine` 当前已有 `DifyKnowledgeEngine`,FastGPT 接入需要新增: - list datasets; - get dataset; - create dataset; - update dataset; - upload document; - update document; - delete document; - list segments; - create / update / delete segments; - retrieve / searchTest; - indexing status。 ### 9.3 迁移策略 不要一次性把所有知识库从 Dify 迁移到 FastGPT。 建议步骤: 1. 选一个非生产知识库验证创建、上传、检索; 2. 建立 emoon 本地知识库 ID 与 FastGPT datasetId 的映射; 3. 只同步已审核文档; 4. 验证同一问题在 Dify 和 FastGPT 中的检索效果; 5. 再切换单个 Agent 的知识库运行副本; 6. 保留 Dify 副本一段时间,支持回退。 ## 10. MCP 与医院系统设计 ### 10.1 总原则 你的总体设计思路是合理的,并且应作为本文档的正式边界: ```text FastGPT 负责“AI 怎么调用工具”。 医梦负责“工具到底是什么、能不能调、调哪些数据、是否需要医生确认、调用结果如何进入医疗业务闭环”。 ``` FastGPT 的 MCP 能力是优势,但必须被医梦约束。无论深信服交付的 FastGPT 版本是否包含完整 MCP Server 构建能力,医院系统都不能直接暴露给 FastGPT。医梦必须统一对接各家医院,把 HIS、LIS、EMR、PACS、慢病平台、物联平台、支付、叫号等系统封装成标准化、可鉴权、可审计、可限流、可脱敏、可幂等的医疗工具 API。 允许: ```text FastGPT Workflow / Agent ↓ FastGPT MCP ToolSet / HTTP ToolSet ↓ emoon MCP Gateway / Tool Server ↓ HIS / LIS / EMR / PACS / 慢病平台 / 物联平台 / 支付 / 叫号 ``` 禁止: ```text FastGPT → HIS / LIS / EMR / PACS FastGPT → 支付 / 挂号 / 叫号原始接口 FastGPT → 设备平台原始接口 ``` ### 10.2 FastGPT 当前 MCP 能力 基于本地源码 `/Users/destiny/dev/emoon/projects/FastGPT`,当前 FastGPT MCP 能力需要分成两类理解。 | 能力 | 本地源码证据 | 作用 | 对医梦的意义 | 是否进入 P0 | | --- | --- | --- | --- | --- | | MCP Client / MCP ToolSet | `packages/service/core/app/mcp.ts`、`/api/core/app/mcpTools/*` | FastGPT 作为 MCP Client 连接外部 MCP Server,执行 `listTools` 和 `callTool` | 可把 emoon MCP Gateway 注册成 FastGPT 工具集,让 Workflow/Agent 调用受控医疗工具 | 是,作为工具调用主方案 | | Streamable HTTP + SSE 兼容 | `MCPClient` 先尝试 `StreamableHTTPClientTransport`,失败后回退 `SSEClientTransport` | 支持两类 MCP 传输方式 | emoon MCP Gateway 应优先实现 Streamable HTTP,同时可提供 SSE 兼容端点 | 是,联调需验证 | | 工具列表读取 | `/api/core/app/mcpTools/getTools` | 按 URL 和 headerSecret 拉取远端 MCP 工具 schema | emoon 可用于注册前校验 FastGPT 看到的工具是否被裁剪 | 是,P1 | | MCP ToolSet 创建/更新 | `/api/core/app/mcpTools/create`、`/api/core/app/mcpTools/update` | 在 FastGPT 内创建或更新 MCP ToolSet 应用 | emoon 管理后台可受控注册项目级工具集 | 是,P1 | | MCP 工具试运行 | `/api/core/app/mcpTools/runTool` | 直接通过 FastGPT 调用远端 MCP 工具 | 只适合联调验收,不应成为生产业务调用入口 | 否,生产不走 | | Workflow/Agent 工具调用 | `dispatch/child/runTool.ts`、`dispatch/ai/agent/sub/tool/*` | FastGPT Workflow/Agent 在运行中调用已绑定 MCP 工具 | AI 编排层可决定何时调用工具,但不能绕过 emoon 权限 | 是 | | 私网地址防护 | `assertMCPUrlNotInternal(url)` | 阻止 MCP URL 指向内网地址 | emoon Gateway 需要提供 FastGPT 可访问且受控的域名,或由部署方案明确放行代理 | 是,部署风险 | | FastGPT MCP Server | `/api/support/mcp/*`、`/api/mcp/app/[key]/mcp` | 把 FastGPT 应用包装成 MCP Server,对外暴露为工具 | 可供 emoon 或内部平台调用 FastGPT 应用,但不能替代医疗工具网关 | 否,P2 | | MCP Server 绑定限制 | `McpAppsBodySchema` 最多 50 个应用,创建端限制每团队最多 100 个 MCP 服务 | 限制 FastGPT 对外暴露工具规模 | 不适合承载医院全量工具目录 | 否,P2 | 结论: - FastGPT 具备“调用外部 MCP Server”的能力,这正好适合调用 emoon MCP Gateway。 - FastGPT 也具备“把自身应用暴露成 MCP Server”的能力,但它暴露的是 FastGPT 应用,不是医院业务系统适配层。 - 医疗工具 API 的定义、授权、脱敏、幂等、审计、确认和业务闭环必须在医梦完成。 - 如果深信服交付版本裁剪掉 MCP ToolSet,则医梦仍提供 Tool Server,FastGPT 通过 HTTP ToolSet 调用;如果连 HTTP ToolSet 也不可用,则工具动作退化为 FastGPT 输出结构化意图,由 emoon Card Runtime 执行。 ### 10.3 推荐架构 ```mermaid flowchart TD Doctor["医生端 / 患者端 / 终端设备"] --> Open["emoon-openplatform\n统一入口 / 鉴权 / SSE"] Open --> Control["医疗智能体应用控制层\n场景路由 / 会话 / 卡片 / 任务状态"] Control --> Adapter["FastGPT Adapter\nengineType=fastgpt"] Adapter --> FastGPT["FastGPT\nAgent / Workflow / RAG / MCP ToolSet"] FastGPT -->|"listTools / callTool\n只允许访问受控地址"| Mcp["emoon MCP Gateway / Tool Server\n工具目录 / 鉴权 / 脱敏 / 限流 / 审计 / 幂等"] Mcp --> His["HIS"] Mcp --> Lis["LIS"] Mcp --> Emr["EMR"] Mcp --> Pacs["PACS"] Mcp --> Chronic["慢病平台"] Mcp --> Iot["物联平台"] Mcp --> Pay["支付 / 叫号"] FastGPT -.禁止.-> His FastGPT -.禁止.-> Lis FastGPT -.禁止.-> Emr FastGPT -.禁止.-> Iot Mcp --> Audit["emoon Audit / Meter / Tool Ledger"] Mcp --> Card["Card Runtime\n人工确认 / 业务闭环"] ``` 这张图表达三个事实: 1. FastGPT 可以编排工具,但不能拥有医院接口主权。 2. 医梦 MCP Gateway 是医院系统唯一可达的 AI 工具网关。 3. L3 以上写动作必须回到 Card Runtime 或医生确认流程,不能由模型直接提交。 ### 10.4 三种交付模式 | 模式 | 前提 | 调用方式 | 医梦职责 | FastGPT 职责 | 适用优先级 | | --- | --- | --- | --- | --- | --- | | A. FastGPT MCP ToolSet 主方案 | 深信服交付版本保留 `/core/app/mcpTools/*` 和 Workflow MCP 工具调用 | FastGPT MCP Client → emoon MCP Gateway | 提供 MCP Server、工具目录、权限、审计、脱敏、幂等、确认策略 | 注册 MCP ToolSet,在 Workflow/Agent 中选择工具 | P0/P1 主方案 | | B. HTTP ToolSet 兜底 | FastGPT 无 MCP ToolSet,但保留 HTTP ToolSet | FastGPT HTTP ToolSet → emoon Tool Server REST API | 提供 REST Tool Server,接口能力与 MCP 工具一致 | 在 Workflow 中配置 HTTP 工具调用 | P1 兜底 | | C. 结构化意图兜底 | FastGPT 无 MCP/HTTP 工具能力或医院环境不允许 FastGPT 主动访问工具 | FastGPT 输出 JSON 意图 → emoon 解析 → Card Action/Tool Executor | 执行全部工具动作和闭环 | 只生成建议、参数和解释 | P0 安全兜底 | 公司评审应以 A 为目标、B 为技术兜底、C 为安全兜底。不能因为 FastGPT 支持 MCP,就把医院接口直接交给 FastGPT 配置。 ### 10.5 医梦 MCP Gateway 职责 emoon MCP Gateway 需要提供: | 能力 | 说明 | | --- | --- | | 工具目录 | 按租户、医院、项目、科室、设备、Agent 场景返回可见工具 | | 工具 schema | 为 FastGPT 提供稳定的 inputSchema、description、枚举、必填项、示例 | | 鉴权 | 校验 FastGPT Adapter 签发的 token、租户、项目、Agent、会话、设备、医生或患者身份 | | 授权 | 决定当前场景能否看到工具、能否调用工具、是否需要人工确认 | | 限流 | 按租户、项目、工具、设备、会话限流,防止模型循环调用 | | 脱敏 | 请求进入医院系统前做最小化,响应返回 FastGPT 前去除非必要敏感字段 | | 幂等 | 对写动作要求 `idempotencyKey`,防重复签到、重复挂号、重复支付 | | 审计 | 记录 traceId、requestId、conversationId、agentVersion、toolName、参数摘要、结果摘要、耗时、调用人、确认人 | | 错误归一 | 把 HIS/LIS/EMR/PACS 等异构错误转成统一错误码和可解释文本 | | 降级 | 医院系统不可用时返回可恢复错误,不让 FastGPT 编造结果 | | 确认编排 | 对 L3 以上动作返回 `requiresConfirmation=true`,交由 Card Runtime 创建确认卡片 | MCP Gateway 的工具命名建议使用稳定业务语义,不暴露医院厂商或表结构: ```text hospital.schedule.search hospital.queue.status.get patient.report.summary.get patient.emr.summary.get appointment.intent.prepare appointment.confirmed.create device.vital.latest.get chronic.followup.plan.suggest ``` ### 10.6 工具风险分级 | 风险等级 | 示例 | FastGPT 是否可直接调用 | 控制方式 | | --- | --- | --- | --- | | L0 公共查询 | 科室介绍、楼层位置 | 可通过 emoon Gateway | 审计 + 限流 | | L1 普通业务查询 | 排班、候诊状态 | 可通过 emoon Gateway | 项目授权 + 脱敏 | | L2 敏感查询 | 报告、病历摘要 | 谨慎开放 | 身份授权 + 最小化 | | L3 业务写入 | 签到、锁号、挂号 | 不允许模型直接执行 | Card Action 人工确认 | | L4 财务动作 | 支付、退款 | P0 不开放 | 专项风控 | | L5 医疗正式写入 | EMR、处方、诊断 | 不开放自动写 | 医生确认 + 审计 | 补充约束: - L0/L1 可以让 FastGPT 在 Workflow 中直接调用,但结果仍要进入 emoon 审计。 - L2 必须最小化返回,优先返回摘要、结论、引用 ID,不返回完整病历或完整报告原文。 - L3 不能由模型直接完成,FastGPT 最多生成“待确认动作建议”,由 Card Runtime 创建确认卡片。 - L4/L5 默认不开放;确需开放时必须单独 ADR、安全评审、医院书面确认和专项风控。 ### 10.7 FastGPT MCP 配置规则 FastGPT 侧只能注册医梦提供的 MCP/Tool 地址: ```text 允许: https://ai-gateway.{hospital-domain}/mcp/{tenant}/{project} https://ai-gateway.{hospital-domain}/tools/http/{tenant}/{project} 禁止: http://his.internal.local http://lis.xxx.hospital http://emr-service:8080 http://device-platform.private ``` 配置要求: | 配置项 | 要求 | | --- | --- | | URL | 只能是 emoon MCP Gateway 或 emoon Tool Server 的受控域名;如果 FastGPT 私网地址防护阻断,需要通过受控公网/专线代理解决,不允许关闭边界控制后直连 HIS | | Header Secret | 由 emoon 管理后台生成短期或可轮换 token,不能手工散落在 FastGPT 多个应用中 | | ToolList | 由 emoon 生成项目级裁剪结果,再写入 FastGPT MCP ToolSet | | Workflow 使用 | FastGPT Workflow 可以选择工具,但不能新增未授权工具 | | 版本映射 | MCP ToolSet 配置必须纳入 emoon agentVersion / FastGPT appVersion 映射 | | 漂移检测 | 定期比对 FastGPT ToolSet 中的 URL、toolName、schema 与 emoon 发布快照 | ### 10.8 标准调用流程 查询类工具: ```mermaid sequenceDiagram participant FG as FastGPT Workflow participant MCP as emoon MCP Gateway participant Auth as emoon Auth/Policy participant HIS as Hospital System participant Audit as Audit/Meter FG->>MCP: callTool(toolName, params, trace headers) MCP->>Auth: 校验租户/项目/Agent/会话/身份/工具风险 Auth-->>MCP: allow + dataScope MCP->>HIS: 调用医院系统适配器 HIS-->>MCP: 原始结果 MCP->>MCP: 脱敏 / 摘要 / 错误归一 MCP->>Audit: 写工具调用审计 MCP-->>FG: 返回受控结果 ``` 写入类工具: ```mermaid sequenceDiagram participant FG as FastGPT Workflow participant MCP as emoon MCP Gateway participant Card as Card Runtime participant User as 医生/患者 participant HIS as Hospital System participant Audit as Audit/Meter FG->>MCP: callTool(appointment.intent.prepare, params) MCP-->>FG: requiresConfirmation=true + cardSuggestion FG-->>Card: 输出卡片建议 Card->>User: 展示确认卡片 User->>Card: 确认 Card->>MCP: confirmed action + idempotencyKey MCP->>HIS: 执行业务写入 HIS-->>MCP: 写入结果 MCP->>Audit: 写确认人、幂等键、结果 MCP-->>Card: 业务闭环结果 ``` ### 10.9 医梦 MCP 工具 API 契约 所有医疗工具都必须具备统一元数据: | 字段 | 说明 | | --- | --- | | `toolName` | 稳定工具名,例如 `hospital.queue.status.get` | | `riskLevel` | L0-L5 风险等级 | | `tenantId/projectId/hospitalId` | 多租户和医院边界 | | `agentId/agentVersion` | AI 应用版本 | | `conversationId/requestId/traceId` | 全链路追踪 | | `operatorType/operatorId` | 医生、患者、设备、系统任务 | | `idempotencyKey` | L3 以上写动作必填 | | `dataScope` | 数据授权范围 | | `requiresConfirmation` | 是否需要卡片确认 | | `expiresAt` | 工具调用上下文过期时间 | 工具返回值必须避免把医院原始响应直接交给模型: ```json { "success": true, "toolName": "patient.report.summary.get", "riskLevel": "L2", "traceId": "trace-xxx", "data": { "summary": "血常规提示白细胞略高,需结合症状判断。", "references": [ { "type": "report", "refId": "report-123", "displayName": "血常规", "sensitive": false } ] }, "requiresConfirmation": false, "auditId": "audit-xxx" } ``` ### 10.10 FastGPT MCP Server 能力的边界 FastGPT 的 `/support/mcp/*` 和 `/mcp/app/[key]/mcp` 可以把 FastGPT 应用包装成 MCP Server。这个能力的定位是: - 让 emoon 或内部平台把某个 FastGPT 应用当作 AI 工具调用; - 让多个 FastGPT 应用之间复用“AI 应用工具”; - 为非医疗生产链路提供 AI 能力封装。 它不能承担: - 医院 HIS/LIS/EMR/PACS 的统一适配; - 医疗工具的最终鉴权和审计; - 医生确认和业务写入闭环; - 多医院接口差异治理; - 医疗数据脱敏与最小化授权。 因此,即使 FastGPT 有 MCP Server 构建能力,医梦仍要建设 MCP Gateway / Tool Server。FastGPT MCP Server 只作为“AI 应用对外工具化”的可选能力,不作为“医院工具网关”的实现。 ## 11. 卡片与任务状态设计 ### 11.1 FastGPT 不创建卡片实例 FastGPT 只返回卡片建议: ```json { "cardKey": "department-selection", "cardData": { "departments": [] } } ``` 真正创建卡片实例的是 emoon Card Runtime: ```text FastGPT 输出卡片建议 ↓ FastGPTOutputNormalizer 校验 ↓ Card Runtime 创建 ai_card_instance ↓ OpenPlatform SSE 发送 card_created ↓ 终端执行 Card Action ↓ emoon 执行业务动作 ``` ### 11.2 FastGPT 不维护医疗主状态 医疗任务状态保存在 emoon: - `conversationId`; - `taskId`; - `taskType`; - `currentStep`; - `journeyState`; - `cardInstanceId`; - `traceId`; - `toolInvokeId`; - `auditId`。 FastGPT 可辅助判断下一步,但不能成为状态事实源。 ## 12. 计量、账本与审计设计 ### 12.1 不能信任默认 usage FastGPT v1 响应 Schema 中 `usage` 可能固定为: ```json { "prompt_tokens": 1, "completion_tokens": 1, "total_tokens": 1 } ``` 这只是占位值,不能进入能力值扣费。 ### 12.2 FastGPT 用量归集策略 P0 建议: - 对需要计量的请求设置 `detail=true`; - 从 `responseData` 中提取各节点 `tokens`、`price`、`model`、`moduleName`; - 归一成 emoon `MeterEvent`; - 同时记录 FastGPT 原始 `responseData` 摘要,便于排障; - 计费仍由 emoon 账本决定。 P1 增强: - 对接 FastGPT 应用日志或模型日志; - 建立 traceId 对账; - 增加差异告警; - 形成项目、设备、智能体、场景维度统计。 ### 12.3 审计字段 每次 FastGPT 调用至少记录: | 字段 | 说明 | | --- | --- | | `traceId` | 全链路追踪 ID | | `projectId` | 项目 | | `tenantId` | 租户 | | `agentId` | emoon 智能体 ID | | `engineType` | `fastgpt` | | `fastgptAppId` | FastGPT 应用 ID | | `fastgptVersionId` | FastGPT 版本 ID | | `conversationId` | emoon 会话 ID | | `fastgptChatId` | FastGPT chatId | | `messageId` | emoon 消息 ID | | `fastgptResponseItemId` | FastGPT 响应 ID | | `inputSummary` | 脱敏输入摘要 | | `outputSummary` | 脱敏输出摘要 | | `usageDetail` | 节点用量摘要 | | `errorCode` | 错误码 | | `durationMs` | 耗时 | ## 13. 版本、灰度与回滚 ### 13.1 版本事实源 FastGPT 有版本能力,但 emoon 必须维护医疗场景发布事实。 建议新增或扩展映射数据: ```text agentId engineType fastgptAppId fastgptVersionId emoonOutputSchemaVersion snapshotJson status grayPolicy publishedBy publishedAt rollbackFrom ``` ### 13.2 发布流程 ```text 1. FastGPT 中完成 Workflow 调整 2. FastGPT 发布版本 3. emoon 拉取版本详情或保存快照 4. emoon 执行测试问题集 5. 输出 Schema 校验 6. 工具权限校验 7. 计量字段校验 8. 灰度到指定项目/设备/Agent 9. 监控错误率与人工反馈 10. 全量切换或回滚 ``` ### 13.3 回滚策略 优先级: 1. 切回上一 FastGPT versionId; 2. 切回上一 emoon AgentEngine 配置; 3. 切回 Dify; 4. 切回 Mock / 模板回复; 5. 关闭高风险能力,只保留导诊 FAQ。 ## 14. 分阶段落地计划 ### 阶段 0:技术验证与商务边界确认 目标: - 确认 FastGPT 部署版本; - 确认社区版/商业版能力边界; - 确认许可证和 LOGO/版权要求; - 验证 `/api/v1/chat/completions`; - 验证 `detail=true` 的用量字段; - 验证 MCP 能否连接 emoon Gateway; - 验证知识库创建、上传、检索。 交付物: - FastGPT API 验证报告; - 社区版/商业版能力清单; - 接口样例; - 风险确认表。 ### 阶段 1:FastGptAgentEngine 目标: - 新增 `engineType=fastgpt`; - 打通同步对话; - 打通 SSE; - 支持 FastGPT 输出归一; - 支持卡片建议; - 支持基础异常降级; - 支持连通性测试。 验收: - `/agent/chat` 可通过 FastGPT 返回文本; - `/agent/chat/stream` 可返回 `message_delta` 和 `completed`; - FastGPT 返回卡片 JSON 后,emoon 创建卡片实例; - 异常时返回统一错误,不泄露 FastGPT 内部错误。 ### 阶段 2:FastGptKnowledgeEngine 目标: - 新增 FastGPT 知识库运行副本; - 建立 emoon 知识库 ID 与 FastGPT datasetId 映射; - 支持文档上传和检索; - 保持 emoon 为知识源资产。 验收: - 指定 Agent 可引用 FastGPT 知识库; - 同一问题可对比 Dify/FastGPT 检索效果; - 删除或回滚不丢失 emoon 源资产。 ### 阶段 3:MCP Gateway 接入 目标: - 建设 emoon MCP Gateway / Tool Server,封装 HIS、LIS、EMR、PACS、慢病平台、物联平台、支付、叫号等医院系统; - FastGPT MCP ToolSet 只注册 emoon MCP Gateway 或受控代理地址; - 如果深信服交付版本不支持 MCP ToolSet,则降级为 FastGPT HTTP ToolSet 调 emoon Tool Server; - 如果 MCP/HTTP 工具均不可用,则 FastGPT 只输出结构化工具意图,由 emoon Card Runtime / Tool Executor 执行; - 工具目录按租户、项目、医院、设备、Agent 场景和风险等级裁剪; - L0/L1 查询工具可跑通; - L2 工具只返回脱敏摘要和引用 ID; - L3 以上写工具必须通过 Card Action 和幂等键确认。 验收: - FastGPT 不能拿到医院原始系统地址; - FastGPT ToolSet 中只能看到 emoon 发布快照内的工具; - 未授权工具不可见且不可调用; - MCP ToolSet 的 URL、headerSecret、toolList 能被 emoon 巡检和漂移告警; - L3 以上动作不能由模型直接执行; - 工具调用有审计记录,并能关联 requestId、conversationId、agentVersion、toolName、riskLevel、operatorId、idempotencyKey。 ### 阶段 4:Dify/FastGPT 并存灰度 目标: - 同一 emoon Agent 可配置 Dify 或 FastGPT; - 按项目、设备、场景灰度; - 低风险场景先切; - 保留 Dify 回退路径; - 灰度期间并行埋点 usage、日志、版本映射和健康状态,精细计量不作为首批灰度切流的前置阻塞项。 验收: - 导诊 FAQ、轻分诊、报告解读入口至少一个场景完成灰度; - FastGPT 异常可切回 Dify 或模板; - 指标包括成功率、平均耗时、卡片创建率、人工接管率、用户反馈、计量差异; - 灰度过程不改变 emoon 会话、卡片、任务状态事实源。 ### 阶段 5:计量、审计、版本与健康探活补强 目标: - `detail=true.responseData` 用量归集; - FastGPT 调用审计; - 应用版本映射; - 回滚指针; - 健康探活; - 错误率监控; - 在扩大灰度范围前完成计量账本、审计报表和版本漂移告警闭环。 验收: - 不再使用 FastGPT 默认 usage 扣费; - 可按 traceId 回放输入、输出、卡片、工具、计量; - 版本切换可回滚; - FastGPT 不可用时可降级; - FastGPT 管理后台配置漂移能够被发现、告警并进入人工复核。 ### 阶段 6:公司评审、联调验收、上线准入 目标: - 公司内评审通过; - 商务边界确认; - 医院联调环境验证; - 上线准入清单完成。 验收: - 架构边界无争议; - P0 能力和非 P0 能力明确; - 合同/报价不默认包含商业版能力; - 初级工程师能按任务拆解执行。 ## 15. 风险矩阵 | 编号 | 风险 | 概率 | 影响 | 等级 | 应对 | | --- | --- | --- | --- | --- | --- | | R1 | FastGPT usage 为占位值导致错误扣费 | 高 | 高 | 高 | P0 禁止直接用默认 usage,必须从 detail 或日志归集 | | R2 | FastGPT 直连医院系统导致边界失控 | 中 | 高 | 高 | 只允许连接 emoon MCP Gateway,工具按风险分级 | | R3 | 商业版能力被误认为社区版能力 | 中 | 高 | 高 | 文档、报价、验收清单中明确版本边界 | | R4 | Dify 已有代码被直接删除导致回归 | 中 | 高 | 高 | 双引擎并存,灰度迁移 | | R5 | FastGPT Workflow 输出格式不稳定 | 中 | 中 | 中 | OutputNormalizer + JSON Schema + 降级 | | R6 | 文件 URL 泄露敏感数据 | 中 | 高 | 高 | File Service 生成短期受控 URL,优先传摘要 | | R7 | MongoDB 运维经验不足 | 中 | 中 | 中 | 部署前补备份、监控、恢复演练 | | R8 | MCP 内网地址被 FastGPT SSRF 防护阻断 | 中 | 中 | 中 | 用服务名、网关域名或明确放行策略 | | R9 | FastGPT 版本升级 API 不兼容 | 中 | 中 | 中 | 锁版本,建立兼容测试 | | R10 | 医疗主状态落入 FastGPT | 低 | 高 | 高 | TaskState、Card、Audit 均以 emoon 为事实源 | | R11 | 运营人员绕过 emoon 版本映射直接修改 FastGPT 应用或 Workflow | 中 | 高 | 高 | FastGPT 管理后台只允许交付/运维角色操作;生产发布必须回写 emoon 版本映射和快照;定期比对 FastGPT versionId/snapshot 与 emoon 生效配置,发现漂移自动告警 | ## 16. 初级工程师实现指南 ### 16.1 为什么不能让 FastGPT 直连 HIS 因为 HIS 调用不是普通工具调用。它涉及: - 医院接口密钥; - 患者身份; - 业务状态; - 写操作幂等; - 审计; - 失败补偿; - 医疗风险; - 商业计量。 FastGPT 只能做 AI 推理和工具编排,不能成为医院系统网关。 ### 16.2 为什么不能相信 FastGPT 默认 usage FastGPT v1 接口默认 `usage` 可能固定为 1。这个值只是 OpenAI-compatible 响应格式的占位,不代表真实 token 或成本。 正确做法: - 开启 `detail=true`; - 解析 `responseData`; - 提取节点级 tokens / price / model; - 由 emoon 计量模块归集; - 由 emoon 账本扣费。 ### 16.3 为什么文件必须先进入 emoon File Service 医疗文件属于敏感数据。emoon File Service 提供: - 上传幂等; - 文件元数据; - 删除审计; - 保留策略; - 权限控制; - traceId; - 短期访问 URL; - 后续医生反馈引用。 FastGPT 只能拿到运行所需的短期 URL 或脱敏摘要。 ### 16.4 为什么卡片动作必须由 emoon 执行 卡片动作通常是确定性业务动作,例如: - 挂号; - 签到; - 建档; - 支付引导; - 报告确认; - 医生审核。 这些动作需要: - 用户确认; - 幂等键; - 状态机; - 审计; - 失败处理; - 权限校验。 FastGPT 可以建议创建卡片,不能执行卡片动作。 ### 16.5 为什么 Dify 和 FastGPT 要先并存 因为当前工程已有 Dify 代码和配置: - 对话引擎; - 知识库引擎; - 意图识别; - 管理后台连通性; - OpenPlatform 历史客户端; - 知识库 Controller 硬编码。 直接删除 Dify 会造成不可控回归。正确做法是: ```text 新增 fastgpt → 小场景验证 → 灰度切换 → 保留回滚 → 稳定后再清理旧链路 ``` ## 17. 公司评审问题清单 评审前需要明确以下问题。 ### 17.1 商务与合作边界 - 深信服提供的是 FastGPT 平台、模型、算力和运维,还是还包括医疗场景实施? - 社区版、商业版、云服务版分别进入报价的哪些部分? - 是否允许私有化商用? - 多租户 SaaS 场景是否需要 FastGPT 商业授权? - FastGPT 控制台 LOGO 和版权信息是否能保留或修改? ### 17.2 产品与交付范围 - P0 是否只承诺对话、SSE、卡片输出和基础 RAG? - 图片知识库、Web 同步、应用评测、内容审核是否属于 P1/P2? - 医生端反馈闭环是否由 emoon 完整承接? - FastGPT 是否只作为运行副本,不保存医梦知识源资产? ### 17.3 技术与安全边界 - FastGPT 是否部署在医院内网、深信服环境还是医梦环境? - FastGPT 如何访问 emoon MCP Gateway? - 是否允许 FastGPT 访问内网服务名? - 文件 URL 有效期和访问审计如何做? - FastGPT 日志中是否会保存敏感输入输出? ### 17.4 运维与上线 - MongoDB 谁负责备份、监控、恢复? - FastGPT 版本谁负责升级? - API 不兼容时谁负责修复? - FastGPT 不可用时是否允许切回 Dify? - 上线前是否完成压测和断线恢复测试? ## 18. 后续 ADR 建议 建议后续新增 ADR: | ADR | 决策 | | --- | --- | | ADR-014 | FastGPT 作为 AIAgent 实现层接入,而非替代医梦 AI 中台 | | ADR-015 | FastGPT Adapter 落位 `emoon-ai-agent`,OpenPlatform 不沉淀实现逻辑 | | ADR-016 | FastGPT MCP 只能连接 emoon MCP Gateway | | ADR-017 | FastGPT usage 不直接用于扣费,计量由 emoon 归集 | | ADR-018 | 知识库源资产在 emoon,FastGPT 只保存运行副本 | | ADR-019 | Dify 与 FastGPT 过渡期并存,按 Agent/项目灰度 | ## 19. 最终结论 FastGPT 接入是可行的,而且在中文生态、MCP 原生支持、私有化部署轻量化方面有优势。但公司评审必须坚持以下底线: 1. FastGPT 是 AI 能力层,不是医疗业务控制层; 2. 医梦继续掌握入口、状态、卡片、工具、文件、反馈、计量和审计; 3. 医院业务系统只接医梦 MCP Gateway; 4. 医疗敏感文件和知识源资产不交给 FastGPT 做事实源; 5. FastGPT 默认 usage 不能用于计费; 6. 社区版与商业版能力要在合同和验收中分清; 7. Dify 不立即删除,先与 FastGPT 并存灰度。 按这个边界推进,FastGPT 可以成为医梦 AI 中台的可插拔 AgentEngine,实现甲方偏好的同时,不牺牲医梦在医疗业务闭环中的核心控制权。 ## 附录 A FastGPT 当前源码 API 明细 本节接口清单来自本地源码: ```text /Users/destiny/dev/emoon/projects/FastGPT/projects/app/src/pages/api ``` 说明: - 下表按 Next.js API route 路径枚举,路径中的 `[token]`、`[key]`、`[...path]` 表示动态参数; - 本节不展开参数和返回值,只说明主要功能、emoon 是否需要对接、当前系统环境是否需要对接; - “emoon 是否需要对接”表示长期方案是否有接入价值; - “当前系统环境是否需要对接”表示在现阶段 FastGPT 接入、二三期中台建设和公司评审范围内是否应进入实施计划; - 对 FastGPT 用户、团队、外链、插件市场、初始化迁移等平台内部接口,默认不进入医梦医疗生产链路。 ### A.1 对话、语音与会话 | 接口 | 主要功能介绍 | emoon 是否需要对接 | 当前系统环境是否需要对接 | | --- | --- | --- | --- | | `/core/chat/chatTest` | 测试对话 FastGPT 会话。 | 否,P2 | 当前不接 | | `/core/chat/clearHistories` | 清空历史 FastGPT 会话。 | 可选,P1 | 当前优先 emoon 会话事实源,必要时用于补偿查询 | | `/core/chat/delHistory` | 删除历史 FastGPT 会话。 | 可选,P1 | 当前优先 emoon 会话事实源,必要时用于补偿查询 | | `/core/chat/feedback/adminUpdate` | 管理员更新 FastGPT 对话反馈,用于点赞、差评、管理员标记或反馈闭环。 | 可选,P1/P2 | 当前不作为事实源,只做反馈副本评估 | | `/core/chat/feedback/closeCustom` | 关闭自定义反馈 FastGPT 对话反馈,用于点赞、差评、管理员标记或反馈闭环。 | 可选,P1/P2 | 当前不作为事实源,只做反馈副本评估 | | `/core/chat/feedback/getFeedbackRecordIds` | 查询反馈记录 ID FastGPT 对话反馈,用于点赞、差评、管理员标记或反馈闭环。 | 可选,P1/P2 | 当前不作为事实源,只做反馈副本评估 | | `/core/chat/feedback/updateFeedbackReadStatus` | 更新反馈已读状态 FastGPT 对话反馈,用于点赞、差评、管理员标记或反馈闭环。 | 可选,P1/P2 | 当前不作为事实源,只做反馈副本评估 | | `/core/chat/feedback/updateUserFeedback` | 提交用户反馈 FastGPT 对话反馈,用于点赞、差评、管理员标记或反馈闭环。 | 可选,P1/P2 | 当前不作为事实源,只做反馈副本评估 | | `/core/chat/file/presignChatFileGetUrl` | 生成对话文件读取预签名 URL FastGPT 对话侧文件临时访问。 | 谨慎,P1/P2 | 当前不直接用于医疗文件,优先 emoon File Service | | `/core/chat/file/presignChatFilePostUrl` | 生成对话文件上传预签名 URL FastGPT 对话侧文件临时访问。 | 谨慎,P1/P2 | 当前不直接用于医疗文件,优先 emoon File Service | | `/core/chat/getHistories` | 查询历史列表 FastGPT 会话。 | 可选,P1 | 当前优先 emoon 会话事实源,必要时用于补偿查询 | | `/core/chat/getPaginationRecords` | 分页查询记录 FastGPT 会话。 | 可选,P1 | 当前可作为排障/断线恢复储备 | | `/core/chat/getResData` | 查询响应详情 FastGPT 会话。 | 可选,P1 | 当前可作为排障/断线恢复储备 | | `/core/chat/helperBot/completions` | 发起对话 FastGPT 辅助机器人数据。 | 否,P2 | 当前不接 | | `/core/chat/helperBot/deleteRecord` | 删除记录 FastGPT 辅助机器人数据。 | 否,P2 | 当前不接 | | `/core/chat/helperBot/getFilePresign` | 获取文件预签名 FastGPT 辅助机器人数据。 | 否,P2 | 当前不接 | | `/core/chat/helperBot/getFilePreviewUrl` | 获取文件预览 URL FastGPT 辅助机器人数据。 | 否,P2 | 当前不接 | | `/core/chat/helperBot/getRecords` | 处理 FastGPT 辅助机器人数据。 | 否,P2 | 当前不接 | | `/core/chat/history/batchDelete` | 批量删除 FastGPT 会话历史。 | 可选,P1 | 当前优先 emoon 会话事实源,必要时用于补偿查询 | | `/core/chat/history/clearHistories` | 清空历史 FastGPT 会话历史。 | 可选,P1 | 当前优先 emoon 会话事实源,必要时用于补偿查询 | | `/core/chat/history/delHistory` | 删除历史 FastGPT 会话历史。 | 可选,P1 | 当前优先 emoon 会话事实源,必要时用于补偿查询 | | `/core/chat/history/getHistories` | 查询历史列表 FastGPT 会话历史。 | 可选,P1 | 当前优先 emoon 会话事实源,必要时用于补偿查询 | | `/core/chat/history/getHistoryStatus` | 查询历史状态 FastGPT 会话历史。 | 可选,P1 | 当前优先 emoon 会话事实源,必要时用于补偿查询 | | `/core/chat/history/markRead` | 标记已读 FastGPT 会话历史。 | 可选,P1 | 当前优先 emoon 会话事实源,必要时用于补偿查询 | | `/core/chat/history/updateHistory` | 更新历史 FastGPT 会话历史。 | 可选,P1 | 当前优先 emoon 会话事实源,必要时用于补偿查询 | | `/core/chat/init` | 初始化 FastGPT 会话。 | 可选,P1 | 当前优先 emoon 会话事实源,必要时用于补偿查询 | | `/core/chat/inputGuide/countTotal` | 统计总数 FastGPT 输入引导。 | 否,P2 | 当前不接 | | `/core/chat/inputGuide/create` | 创建 FastGPT 输入引导。 | 否,P2 | 当前不接 | | `/core/chat/inputGuide/delete` | 删除 FastGPT 输入引导。 | 否,P2 | 当前不接 | | `/core/chat/inputGuide/deleteAll` | 删除全部 FastGPT 输入引导。 | 否,P2 | 当前不接 | | `/core/chat/inputGuide/list` | 查询列表 FastGPT 输入引导。 | 否,P2 | 当前不接 | | `/core/chat/inputGuide/query` | 查询 FastGPT 输入引导。 | 否,P2 | 当前不接 | | `/core/chat/inputGuide/update` | 更新 FastGPT 输入引导。 | 否,P2 | 当前不接 | | `/core/chat/outLink/init` | 初始化 FastGPT 会话。 | 可选,P1 | 当前优先 emoon 会话事实源,必要时用于补偿查询 | | `/core/chat/recentlyUsed` | 查询最近使用 FastGPT 会话。 | 可选,P1 | 当前优先 emoon 会话事实源,必要时用于补偿查询 | | `/core/chat/record/delete` | 删除 FastGPT 对话记录、引用、响应详情或语音结果。 | 可选,P1 | 当前优先 emoon 会话事实源,必要时用于补偿查询 | | `/core/chat/record/getCollectionQuote` | 查询集合引用 FastGPT 对话记录、引用、响应详情或语音结果。 | 可选,P1 | 当前优先 emoon 会话事实源,必要时用于补偿查询 | | `/core/chat/record/getPaginationRecords` | 分页查询记录 FastGPT 对话记录、引用、响应详情或语音结果。 | 可选,P1 | 当前可作为排障/断线恢复储备 | | `/core/chat/record/getQuote` | 查询引用 FastGPT 对话记录、引用、响应详情或语音结果。 | 可选,P1 | 当前优先 emoon 会话事实源,必要时用于补偿查询 | | `/core/chat/record/getRecords_v2` | 查询新版记录 FastGPT 对话记录、引用、响应详情或语音结果。 | 可选,P1 | 当前优先 emoon 会话事实源,必要时用于补偿查询 | | `/core/chat/record/getResData` | 查询响应详情 FastGPT 对话记录、引用、响应详情或语音结果。 | 可选,P1 | 当前可作为排障/断线恢复储备 | | `/core/chat/record/getSpeech` | 查询语音结果 FastGPT 对话记录、引用、响应详情或语音结果。 | 可选,P1 | 当前优先 emoon 会话事实源,必要时用于补偿查询 | | `/core/chat/resume` | 恢复会话 FastGPT 会话。 | 可选,P1 | 当前可作为排障/断线恢复储备 | | `/core/chat/team/init` | 初始化 FastGPT 会话。 | 可选,P1 | 当前优先 emoon 会话事实源,必要时用于补偿查询 | | `/core/chat/updateHistory` | 更新历史 FastGPT 会话。 | 可选,P1 | 当前优先 emoon 会话事实源,必要时用于补偿查询 | | `/v1/audio/transcriptions` | 执行音频转文字,面向语音输入场景。 | 可选,P2 | 当前不接,终端语音能力后置 | | `/v1/chat/completions` | 发起 FastGPT v1 对话,触发应用编排、Workflow、RAG、模型生成和流式输出,是 emoon P0 主链路。 | 是,P0 | 当前必须规划并优先接入 | | `/v2/chat/completions` | 发起 FastGPT v2 对话,属于新版协议候选,需在 v1 稳定后评估。 | 后续评估 | 当前不接,待 v1 稳定后评估 | | `/v2/chat/stop` | 停止 v2 对话生成任务,用于中断长回答或异常生成。 | 后续评估 | 当前不接,待 v1 稳定后评估 | ### A.2 应用、Workflow 与版本 | 接口 | 主要功能介绍 | emoon 是否需要对接 | 当前系统环境是否需要对接 | | --- | --- | --- | --- | | `/core/app/copy` | 复制 FastGPT 应用配置、基础信息、权限或工作流。 | 可选,P2 | 当前不自动化管理 FastGPT 应用 | | `/core/app/create` | 创建 FastGPT 应用配置、基础信息、权限或工作流。 | 可选,P2 | 当前不自动化管理 FastGPT 应用 | | `/core/app/del` | 删除 FastGPT 应用配置、基础信息、权限或工作流。 | 可选,P2 | 当前不自动化管理 FastGPT 应用 | | `/core/app/detail` | 查询详情 FastGPT 应用配置、基础信息、权限或工作流。 | 可选,P0/P1 | 当前用于配置校验和探活评估 | | `/core/app/folder/create` | 创建 FastGPT 应用文件夹或路径。 | 可选,P2 | 当前不自动化管理 FastGPT 应用 | | `/core/app/folder/path` | 查询路径 FastGPT 应用文件夹或路径。 | 可选,P2 | 当前不自动化管理 FastGPT 应用 | | `/core/app/getBasicInfo` | 查询基础信息 FastGPT 应用配置、基础信息、权限或工作流。 | 可选,P0/P1 | 当前用于配置校验和探活评估 | | `/core/app/getPermission` | 查询权限 FastGPT 应用配置、基础信息、权限或工作流。 | 可选,P0/P1 | 当前用于配置校验和探活评估 | | `/core/app/httpTools/create` | 创建 FastGPT HTTP 工具集。 | 可选,P1 | 当前仅交付验证,不进入业务主链路 | | `/core/app/httpTools/getApiSchemaByUrl` | 按 URL 解析 API Schema FastGPT HTTP 工具集。 | 可选,P1 | 当前仅交付验证,不进入业务主链路 | | `/core/app/httpTools/runTool` | 运行工具 FastGPT HTTP 工具集。 | 可选,P1 | 当前仅交付验证,不进入业务主链路 | | `/core/app/httpTools/update` | 更新 FastGPT HTTP 工具集。 | 可选,P1 | 当前仅交付验证,不进入业务主链路 | | `/core/app/list` | 查询列表 FastGPT 应用配置、基础信息、权限或工作流。 | 可选,P0/P1 | 当前用于配置校验和探活评估 | | `/core/app/logs/exportLogs` | 处理 FastGPT 应用运行日志,用于排障、审计辅助和对账。 | 可选,P1 | 当前用于审计对账辅助评估 | | `/core/app/logs/getLogKeys` | 处理 FastGPT 应用运行日志,用于排障、审计辅助和对账。 | 可选,P1 | 当前用于审计对账辅助评估 | | `/core/app/logs/getUsers` | 处理 FastGPT 应用运行日志,用于排障、审计辅助和对账。 | 可选,P1 | 当前用于审计对账辅助评估 | | `/core/app/logs/list` | 查询列表 FastGPT 应用运行日志,用于排障、审计辅助和对账。 | 可选,P1 | 当前用于审计对账辅助评估 | | `/core/app/logs/updateLogKeys` | 处理 FastGPT 应用运行日志,用于排障、审计辅助和对账。 | 可选,P1 | 当前用于审计对账辅助评估 | | `/core/app/mcpTools/create` | 创建 FastGPT MCP 工具集。 | 可选,P1 | 当前仅交付验证,不进入业务主链路 | | `/core/app/mcpTools/getChildren` | 获取子工具 FastGPT MCP 工具集。 | 可选,P1 | 当前仅交付验证,不进入业务主链路 | | `/core/app/mcpTools/getTools` | 获取工具列表 FastGPT MCP 工具集。 | 可选,P1 | 当前仅交付验证,不进入业务主链路 | | `/core/app/mcpTools/runTool` | 运行工具 FastGPT MCP 工具集。 | 可选,P1 | 当前仅交付验证,不进入业务主链路 | | `/core/app/mcpTools/update` | 更新 FastGPT MCP 工具集。 | 可选,P1 | 当前仅交付验证,不进入业务主链路 | | `/core/app/resumeInheritPermission` | 恢复继承权限 FastGPT 应用配置、基础信息、权限或工作流。 | 可选,P2 | 当前不自动化管理 FastGPT 应用 | | `/core/app/template/detail` | 查询详情 FastGPT 应用模板。 | 可选,P2 | 当前不自动化管理 FastGPT 应用 | | `/core/app/template/list` | 查询列表 FastGPT 应用模板。 | 可选,P2 | 当前不自动化管理 FastGPT 应用 | | `/core/app/tool/getPreviewNode` | 获取预览节点 FastGPT 工具节点、系统工具模板或路径。 | 可选,P2 | 当前不自动化管理 FastGPT 应用 | | `/core/app/tool/getSystemToolTemplates` | 获取系统工具模板 FastGPT 工具节点、系统工具模板或路径。 | 可选,P2 | 当前不自动化管理 FastGPT 应用 | | `/core/app/tool/path` | 查询路径 FastGPT 工具节点、系统工具模板或路径。 | 可选,P2 | 当前不自动化管理 FastGPT 应用 | | `/core/app/transitionWorkflow` | 转换工作流 FastGPT 应用配置、基础信息、权限或工作流。 | 可选,P2 | 当前不自动化管理 FastGPT 应用 | | `/core/app/update` | 更新 FastGPT 应用配置、基础信息、权限或工作流。 | 可选,P2 | 当前不自动化管理 FastGPT 应用 | | `/core/app/version/detail` | 查询详情 FastGPT 应用版本,用于发布、回滚、灰度和版本映射。 | 是,P1 | 当前需要纳入版本映射设计 | | `/core/app/version/latest` | 查询最新版本 FastGPT 应用版本,用于发布、回滚、灰度和版本映射。 | 是,P1 | 当前需要纳入版本映射设计 | | `/core/app/version/list` | 查询列表 FastGPT 应用版本,用于发布、回滚、灰度和版本映射。 | 是,P1 | 当前需要纳入版本映射设计 | | `/core/app/version/publish` | 发布 FastGPT 应用版本,用于发布、回滚、灰度和版本映射。 | 是,P1 | 当前需要纳入版本映射设计 | | `/core/app/version/update` | 更新 FastGPT 应用版本,用于发布、回滚、灰度和版本映射。 | 是,P1 | 当前需要纳入版本映射设计 | | `/core/workflow/debug` | 调试 FastGPT Workflow。 | 可选,P2 | 当前不自动化管理 FastGPT 应用 | | `/core/workflow/getSandboxPackages` | 查询沙箱包 FastGPT Workflow。 | 可选,P2 | 当前不自动化管理 FastGPT 应用 | | `/core/workflow/optimizeCode` | 优化代码 FastGPT Workflow。 | 可选,P2 | 当前不自动化管理 FastGPT 应用 | ### A.3 知识库、集合、分段与训练 | 接口 | 主要功能介绍 | emoon 是否需要对接 | 当前系统环境是否需要对接 | | --- | --- | --- | --- | | `/core/dataset/apiDataset/getCatalog` | 查询目录 FastGPT API 知识库。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/apiDataset/getPathNames` | 查询路径名称 FastGPT API 知识库。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/apiDataset/list` | 查询列表 FastGPT API 知识库。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/apiDataset/listExistId` | 查询已存在 ID FastGPT API 知识库。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/collection/create` | 创建 FastGPT 知识库集合。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/collection/create/apiCollection` | 创建 API 集合 FastGPT 知识库集合。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/collection/create/apiCollectionV2` | 创建 API 集合 V2 FastGPT 知识库集合。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/collection/create/backup` | 创建备份集合 FastGPT 知识库集合。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/collection/create/fileId` | 按文件 ID 创建 FastGPT 知识库集合。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/collection/create/images` | 按图片创建 FastGPT 知识库集合。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/collection/create/link` | 按链接创建 FastGPT 知识库集合。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/collection/create/localFile` | 按本地文件创建 FastGPT 知识库集合。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/collection/create/reTrainingCollection` | 重训集合 FastGPT 知识库集合。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/collection/create/template` | 按模板创建 FastGPT 知识库集合。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/collection/create/text` | 按文本创建 FastGPT 知识库集合。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/collection/delete` | 删除 FastGPT 知识库集合。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/collection/detail` | 查询详情 FastGPT 知识库集合。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/collection/export` | 导出 FastGPT 知识库集合。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/collection/list` | 查询列表 FastGPT 知识库集合。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/collection/listV2` | 处理 FastGPT 知识库集合。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/collection/paths` | 查询路径 FastGPT 知识库集合。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/collection/read` | 读取 FastGPT 知识库集合。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/collection/scrollList` | 滚动查询列表 FastGPT 知识库集合。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/collection/sync` | 同步 FastGPT 知识库集合。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/collection/trainingDetail` | 查询训练详情 FastGPT 知识库集合。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/collection/update` | 更新 FastGPT 知识库集合。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/create` | 创建 FastGPT 知识库。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/createWithFiles` | 通过文件创建 FastGPT 知识库。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/data/delete` | 删除 FastGPT 知识库分段数据。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/data/detail` | 查询详情 FastGPT 知识库分段数据。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/data/getQuoteData` | 查询引用数据 FastGPT 知识库分段数据。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/data/index/create` | 创建 FastGPT 知识库分段索引。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/data/index/delete` | 删除 FastGPT 知识库分段索引。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/data/index/update` | 更新 FastGPT 知识库分段索引。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/data/insertData` | 插入数据 FastGPT 知识库分段数据。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/data/insertImages` | 插入图片数据 FastGPT 知识库分段数据。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/data/list` | 查询列表 FastGPT 知识库分段数据。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/data/pushData` | 推送数据 FastGPT 知识库分段数据。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/data/update` | 更新 FastGPT 知识库分段数据。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/data/v2/list` | 查询列表 FastGPT 知识库分段数据。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/delete` | 删除 FastGPT 知识库。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/detail` | 查询详情 FastGPT 知识库。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/exportAll` | 导出全部 FastGPT 知识库。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/file/getPreviewChunks` | 获取文件预览分块 FastGPT 知识库文件上传、预览或检索测试。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/file/getSearchTestImagePreviewUrls` | 获取检索测试图片预览 URL FastGPT 知识库文件上传、预览或检索测试。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/file/presignDatasetFilePostUrl` | 生成知识库文件上传预签名 URL FastGPT 知识库文件上传、预览或检索测试。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/file/presignSearchTestImage` | 生成检索测试图片预签名 URL FastGPT 知识库文件上传、预览或检索测试。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/folder/create` | 创建 FastGPT 知识库文件夹。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/getPermission` | 查询权限 FastGPT 知识库。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/list` | 查询列表 FastGPT 知识库。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/paths` | 查询路径 FastGPT 知识库。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/resumeInheritPermission` | 恢复继承权限 FastGPT 知识库。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/searchTest` | 检索测试 FastGPT 知识库。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/training/deleteTrainingData` | 删除训练数据 FastGPT 知识库训练任务。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/training/getDatasetTrainingQueue` | 查询训练队列 FastGPT 知识库训练任务。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/training/getTrainingDataDetail` | 查询训练数据详情 FastGPT 知识库训练任务。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/training/getTrainingError` | 查询训练错误 FastGPT 知识库训练任务。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/training/rebuildEmbedding` | 重建向量索引 FastGPT 知识库训练任务。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/training/updateTrainingData` | 更新训练数据 FastGPT 知识库训练任务。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/core/dataset/update` | 更新 FastGPT 知识库。 | 是,P1 | 当前需要用于知识库运行副本设计 | | `/support/wallet/usage/createTrainingUsage` | 创建训练用量订单 FastGPT 知识库训练成本归集。 | 可选,P1 | 当前仅用于训练成本对账参考 | ### A.4 AI 模型、Skill 与沙箱 | 接口 | 主要功能介绍 | emoon 是否需要对接 | 当前系统环境是否需要对接 | | --- | --- | --- | --- | | `/core/ai/agent/createQuestionGuide` | 生成问题引导 FastGPT 应用问题引导。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/agent/v2/createQuestionGuide` | 生成问题引导 FastGPT 应用问题引导。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/model/delete` | 删除 FastGPT 模型配置。 | 可选,P1 | 当前用于环境能力展示/连通性验证 | | `/core/ai/model/detail` | 查询详情 FastGPT 模型配置。 | 可选,P1 | 当前用于环境能力展示/连通性验证 | | `/core/ai/model/getConfigJson` | 查询配置 JSON FastGPT 模型配置。 | 可选,P1 | 当前用于环境能力展示/连通性验证 | | `/core/ai/model/getDefaultConfig` | 查询默认配置 FastGPT 模型配置。 | 可选,P1 | 当前用于环境能力展示/连通性验证 | | `/core/ai/model/getMyModels` | 查询我的模型 FastGPT 模型配置。 | 可选,P1 | 当前用于环境能力展示/连通性验证 | | `/core/ai/model/list` | 查询列表 FastGPT 模型配置。 | 可选,P1 | 当前用于环境能力展示/连通性验证 | | `/core/ai/model/test` | 测试 FastGPT 模型配置。 | 可选,P1 | 当前用于环境能力展示/连通性验证 | | `/core/ai/model/update` | 更新 FastGPT 模型配置。 | 可选,P1 | 当前用于环境能力展示/连通性验证 | | `/core/ai/model/updateDefault` | 更新默认配置 FastGPT 模型配置。 | 可选,P1 | 当前用于环境能力展示/连通性验证 | | `/core/ai/model/updateWithJson` | 用 JSON 更新 FastGPT 模型配置。 | 可选,P1 | 当前用于环境能力展示/连通性验证 | | `/core/ai/optimizePrompt` | 优化 Prompt FastGPT AI 辅助能力。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/record/getRecord` | 查询 AI 记录 FastGPT AI 调用记录。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/sandbox/checkExist` | 检查是否存在 FastGPT 沙箱资源。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/sandbox/download` | 下载 FastGPT 沙箱资源。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/sandbox/fileOp` | 执行文件操作 FastGPT 沙箱资源。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/sandbox/getHtmlPreviewLink` | 获取 HTML 预览链接 FastGPT 沙箱资源。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/sandbox/list` | 查询列表 FastGPT 沙箱资源。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/sandbox/listRecursive` | 处理 FastGPT 沙箱资源。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/sandbox/read` | 读取 FastGPT 沙箱资源。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/sandbox/write` | 写入 FastGPT 沙箱资源。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/skill/apps` | 查询 Skill 应用 FastGPT Skill 应用。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/skill/copy` | 复制 FastGPT Skill 应用。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/skill/create` | 创建 FastGPT Skill 应用。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/skill/debugChat` | 处理 FastGPT Skill 应用。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/skill/debugSession/chatItem/delete` | 删除 FastGPT Skill 调试会话。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/skill/debugSession/delete` | 删除 FastGPT Skill 调试会话。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/skill/debugSession/list` | 查询列表 FastGPT Skill 调试会话。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/skill/debugSession/records` | 处理 FastGPT Skill 调试会话。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/skill/debugSession/stop` | 停止 FastGPT Skill 调试会话。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/skill/delete` | 删除 FastGPT Skill 应用。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/skill/detail` | 查询详情 FastGPT Skill 应用。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/skill/edit` | 编辑 FastGPT Skill 应用。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/skill/export` | 导出 FastGPT Skill 应用。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/skill/folder/create` | 创建 FastGPT Skill 文件夹或路径。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/skill/folder/path` | 查询路径 FastGPT Skill 文件夹或路径。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/skill/import` | 导入 FastGPT Skill 应用。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/skill/list` | 查询列表 FastGPT Skill 应用。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/skill/resumeInheritPermission` | 恢复继承权限 FastGPT Skill 应用。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/skill/save-deploy` | 保存并部署 FastGPT Skill 应用。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/skill/update` | 更新 FastGPT Skill 应用。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/skill/version/list` | 查询列表 FastGPT Skill 版本。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/skill/version/switch` | 切换 FastGPT Skill 版本。 | 否,P2/P3 | 当前不进入医疗主链路 | | `/core/ai/skill/version/update` | 更新 FastGPT Skill 版本。 | 否,P2/P3 | 当前不进入医疗主链路 | ### A.5 插件、市场与模板 | 接口 | 主要功能介绍 | emoon 是否需要对接 | 当前系统环境是否需要对接 | | --- | --- | --- | --- | | `/core/plugin/admin/installWithUrl` | 通过 URL 安装 FastGPT 插件管理资源。 | 否,P2/P3 | 当前不接,医疗插件须经 emoon 审查 | | `/core/plugin/admin/pkg/confirm` | 确认 FastGPT 插件包。 | 否,P2/P3 | 当前不接,医疗插件须经 emoon 审查 | | `/core/plugin/admin/pkg/upload` | 上传 FastGPT 插件包。 | 否,P2/P3 | 当前不接,医疗插件须经 emoon 审查 | | `/core/plugin/admin/tool/app/create` | 创建 FastGPT 插件工具关联应用。 | 否,P2/P3 | 当前不接,医疗插件须经 emoon 审查 | | `/core/plugin/admin/tool/app/systemApps` | 查询系统应用 FastGPT 插件工具关联应用。 | 否,P2/P3 | 当前不接,医疗插件须经 emoon 审查 | | `/core/plugin/admin/tool/app/update` | 更新 FastGPT 插件工具关联应用。 | 否,P2/P3 | 当前不接,医疗插件须经 emoon 审查 | | `/core/plugin/admin/tool/delete` | 删除 FastGPT 插件工具。 | 否,P2/P3 | 当前不接,医疗插件须经 emoon 审查 | | `/core/plugin/admin/tool/detail` | 查询详情 FastGPT 插件工具。 | 否,P2/P3 | 当前不接,医疗插件须经 emoon 审查 | | `/core/plugin/admin/tool/list` | 查询列表 FastGPT 插件工具。 | 否,P2/P3 | 当前不接,医疗插件须经 emoon 审查 | | `/core/plugin/admin/tool/runtimeConfig/detail` | 查询详情 FastGPT 插件工具运行配置。 | 否,P2/P3 | 当前不接,医疗插件须经 emoon 审查 | | `/core/plugin/admin/tool/runtimeConfig/reset` | 重置 FastGPT 插件工具运行配置。 | 否,P2/P3 | 当前不接,医疗插件须经 emoon 审查 | | `/core/plugin/admin/tool/runtimeConfig/update` | 更新 FastGPT 插件工具运行配置。 | 否,P2/P3 | 当前不接,医疗插件须经 emoon 审查 | | `/core/plugin/admin/tool/tag/create` | 创建 FastGPT 插件工具标签。 | 否,P2/P3 | 当前不接,医疗插件须经 emoon 审查 | | `/core/plugin/admin/tool/tag/delete` | 删除 FastGPT 插件工具标签。 | 否,P2/P3 | 当前不接,医疗插件须经 emoon 审查 | | `/core/plugin/admin/tool/tag/update` | 更新 FastGPT 插件工具标签。 | 否,P2/P3 | 当前不接,医疗插件须经 emoon 审查 | | `/core/plugin/admin/tool/tag/updateOrder` | 更新排序 FastGPT 插件工具标签。 | 否,P2/P3 | 当前不接,医疗插件须经 emoon 审查 | | `/core/plugin/admin/tool/update` | 更新 FastGPT 插件工具。 | 否,P2/P3 | 当前不接,医疗插件须经 emoon 审查 | | `/core/plugin/admin/tool/updateOrder` | 更新排序 FastGPT 插件工具。 | 否,P2/P3 | 当前不接,医疗插件须经 emoon 审查 | | `/core/plugin/admin/tool/versions` | 查询版本 FastGPT 插件工具。 | 否,P2/P3 | 当前不接,医疗插件须经 emoon 审查 | | `/core/plugin/team/toggleInstall` | 切换安装状态 团队 FastGPT 插件工具。 | 否,P2/P3 | 当前不接,医疗插件须经 emoon 审查 | | `/core/plugin/team/tool/detail` | 查询详情 团队 FastGPT 插件工具。 | 否,P2/P3 | 当前不接,医疗插件须经 emoon 审查 | | `/core/plugin/team/tool/list` | 查询列表 团队 FastGPT 插件工具。 | 否,P2/P3 | 当前不接,医疗插件须经 emoon 审查 | | `/core/plugin/team/tool/versions` | 查询版本 团队 FastGPT 插件工具。 | 否,P2/P3 | 当前不接,医疗插件须经 emoon 审查 | | `/core/plugin/toolTag/list` | 查询列表 FastGPT 插件工具标签。 | 否,P2/P3 | 当前不接,医疗插件须经 emoon 审查 | | `/marketplace/[...path]` | 访问 FastGPT 市场资源代理。 | 否,P2/P3 | 当前不接,医疗插件须经 emoon 审查 | | `/support/marketing/fetchWorkflow` | 处理 FastGPT 市场工作流模板。 | 否,P2/P3 | 当前不接,医疗插件须经 emoon 审查 | ### A.6 MCP、OpenAPI Key 与外链发布 | 接口 | 主要功能介绍 | emoon 是否需要对接 | 当前系统环境是否需要对接 | | --- | --- | --- | --- | | `/mcp/app/[key]/mcp` | 提供 FastGPT MCP 协议访问端点。 | 可选,P2 | 仅用于把 FastGPT 应用暴露给 emoon 或内部平台,不作为医院工具网关 | | `/support/mcp/create` | 创建 FastGPT MCP Server 配置。 | 可选,P2 | 非医疗工具主链路;不能替代 emoon MCP Gateway | | `/support/mcp/delete` | 删除 FastGPT MCP Server 配置。 | 可选,P2 | 非医疗工具主链路;按需用于清理 FastGPT 应用工具暴露 | | `/support/mcp/list` | 查询列表 FastGPT MCP Server 配置。 | 可选,P2 | 非医疗工具主链路;按需用于配置巡检 | | `/support/mcp/server/toolCall` | 调用工具 FastGPT MCP Server 工具。 | 可选,P2 | 仅用于 FastGPT 应用工具暴露验证,不进入医院系统调用路径 | | `/support/mcp/server/toolList` | 查询工具列表 FastGPT MCP Server 工具。 | 可选,P2 | 仅用于 FastGPT 应用工具暴露验证,不进入医院系统调用路径 | | `/support/mcp/update` | 更新 FastGPT MCP Server 配置。 | 可选,P2 | 非医疗工具主链路;如启用必须纳入 emoon 版本审计 | | `/support/openapi/create` | 创建 FastGPT OpenAPI Key。 | 可选,P1 | 当前由运维/交付配置,不进运行链路 | | `/support/openapi/delete` | 删除 FastGPT OpenAPI Key。 | 可选,P1 | 当前由运维/交付配置,不进运行链路 | | `/support/openapi/health` | 健康检查 FastGPT OpenAPI Key。 | 可选,P1 | 当前可作为 OpenAPI Key 健康检查 | | `/support/openapi/list` | 查询列表 FastGPT OpenAPI Key。 | 可选,P1 | 当前由运维/交付配置,不进运行链路 | | `/support/openapi/update` | 更新 FastGPT OpenAPI Key。 | 可选,P1 | 当前由运维/交付配置,不进运行链路 | | `/support/outLink/create` | 创建 FastGPT 外链发布渠道。 | 否 | 当前不接,外部入口必须走 emoon | | `/support/outLink/delete` | 删除 FastGPT 外链发布渠道。 | 否 | 当前不接,外部入口必须走 emoon | | `/support/outLink/dingtalk/[token]` | 处理 FastGPT 外链发布渠道。 | 否 | 当前不接,外部入口必须走 emoon | | `/support/outLink/feishu/[token]` | 处理 FastGPT 外链发布渠道。 | 否 | 当前不接,外部入口必须走 emoon | | `/support/outLink/list` | 查询列表 FastGPT 外链发布渠道。 | 否 | 当前不接,外部入口必须走 emoon | | `/support/outLink/offiaccount/[token]` | 处理 FastGPT 外链发布渠道。 | 否 | 当前不接,外部入口必须走 emoon | | `/support/outLink/playground/config` | 处理 FastGPT 外链发布渠道。 | 否 | 当前不接,外部入口必须走 emoon | | `/support/outLink/playground/update` | 更新 FastGPT 外链发布渠道。 | 否 | 当前不接,外部入口必须走 emoon | | `/support/outLink/update` | 更新 FastGPT 外链发布渠道。 | 否 | 当前不接,外部入口必须走 emoon | | `/support/outLink/wechat/logout` | 处理 FastGPT 外链发布渠道。 | 否 | 当前不接,外部入口必须走 emoon | | `/support/outLink/wechat/qrcode/generate` | 处理 FastGPT 外链发布渠道。 | 否 | 当前不接,外部入口必须走 emoon | | `/support/outLink/wechat/qrcode/status` | 处理 FastGPT 外链发布渠道。 | 否 | 当前不接,外部入口必须走 emoon | | `/support/outLink/wecom/[token]` | 处理 FastGPT 外链发布渠道。 | 否 | 当前不接,外部入口必须走 emoon | ### A.7 用户、团队与额度 | 接口 | 主要功能介绍 | emoon 是否需要对接 | 当前系统环境是否需要对接 | | --- | --- | --- | --- | | `/support/user/account/checkPswExpired` | 检查密码过期 FastGPT 用户账号。 | 否 | 当前不接,emoon 自有用户/团队/文件体系 | | `/support/user/account/loginByPassword` | 密码登录 FastGPT 用户账号。 | 否 | 当前不接,emoon 自有用户/团队/文件体系 | | `/support/user/account/loginout` | 退出登录 FastGPT 用户账号。 | 否 | 当前不接,emoon 自有用户/团队/文件体系 | | `/support/user/account/preLogin` | 登录前检查 FastGPT 用户账号。 | 否 | 当前不接,emoon 自有用户/团队/文件体系 | | `/support/user/account/resetExpiredPsw` | 重置过期密码 FastGPT 用户账号。 | 否 | 当前不接,emoon 自有用户/团队/文件体系 | | `/support/user/account/tokenLogin` | Token 登录 FastGPT 用户账号。 | 否 | 当前不接,emoon 自有用户/团队/文件体系 | | `/support/user/account/update` | 更新 FastGPT 用户账号。 | 否 | 当前不接,emoon 自有用户/团队/文件体系 | | `/support/user/account/updatePasswordByOld` | 用旧密码改密 FastGPT 用户账号。 | 否 | 当前不接,emoon 自有用户/团队/文件体系 | | `/support/user/team/limit/datasetSizeLimit` | 查询知识库容量限制 FastGPT 团队、套餐、额度或第三方能力。 | 否 | 当前不接,emoon 自有用户/团队/文件体系 | | `/support/user/team/limit/exportDatasetLimit` | 查询知识库导出限制 FastGPT 团队、套餐、额度或第三方能力。 | 否 | 当前不接,emoon 自有用户/团队/文件体系 | | `/support/user/team/limit/webSyncLimit` | 查询 Web 同步限制 FastGPT 团队、套餐、额度或第三方能力。 | 否 | 当前不接,emoon 自有用户/团队/文件体系 | | `/support/user/team/plan/getTeamPlanStatus` | 查询团队套餐状态 FastGPT 团队、套餐、额度或第三方能力。 | 否 | 当前不接,emoon 自有用户/团队/文件体系 | | `/support/user/team/thirtdParty/checkUsage` | 检查使用量 FastGPT 团队、套餐、额度或第三方能力。 | 否 | 当前不接,emoon 自有用户/团队/文件体系 | | `/support/user/team/update` | 更新 FastGPT 团队、套餐、额度或第三方能力。 | 否 | 当前不接,emoon 自有用户/团队/文件体系 | ### A.8 文件、系统与通用资源 | 接口 | 主要功能介绍 | emoon 是否需要对接 | 当前系统环境是否需要对接 | | --- | --- | --- | --- | | `/common/file/presignAvatarPostUrl` | 生成头像上传预签名 URL FastGPT 通用文件资源。 | 否 | 当前不接,emoon 自有用户/团队/文件体系 | | `/common/file/presignTempFilePostUrl` | 生成临时文件上传预签名 URL FastGPT 通用文件资源。 | 否 | 当前不接,emoon 自有用户/团队/文件体系 | | `/common/file/read/[filename]` | 处理 FastGPT 通用文件资源。 | 否 | 当前不接,emoon 自有用户/团队/文件体系 | | `/common/system/getInitData` | 处理 FastGPT 通用系统任务。 | 否 | 当前不接,emoon 自有用户/团队/文件体系 | | `/common/system/unlockTask` | 解锁任务 FastGPT 通用系统任务。 | 否 | 当前不接,emoon 自有用户/团队/文件体系 | | `/common/tracks/push` | 上报埋点 FastGPT 埋点数据。 | 否 | 当前不接,emoon 自有用户/团队/文件体系 | | `/invoke/fileUpload` | 文件上传 FastGPT invoke 资源。 | 否 | 当前不接,emoon 自有用户/团队/文件体系 | | `/invoke/userInfo` | 查询用户信息 FastGPT invoke 资源。 | 否 | 当前不接,emoon 自有用户/团队/文件体系 | | `/system/file/[jwt]` | 处理 FastGPT 系统文件。 | 否 | 当前不接,emoon 自有用户/团队/文件体系 | | `/system/file/download/[token]` | 处理 FastGPT 系统文件。 | 否 | 当前不接,emoon 自有用户/团队/文件体系 | | `/system/file/upload/[token]` | 处理 FastGPT 系统文件。 | 否 | 当前不接,emoon 自有用户/团队/文件体系 | | `/system/img/[...id]` | 读取 FastGPT 系统图片资源。 | 否 | 当前不接,emoon 自有用户/团队/文件体系 | | `/system/plugin/[...path]` | 读取 FastGPT 插件静态资源。 | 否 | 当前不接,emoon 自有用户/团队/文件体系 | ### A.9 初始化、迁移与管理运维 | 接口 | 主要功能介绍 | emoon 是否需要对接 | 当前系统环境是否需要对接 | | --- | --- | --- | --- | | `/admin/clearInvalidData` | 清理无效数据 FastGPT 初始化、迁移或管理维护任务。 | 否 | 当前仅 FastGPT 运维升级使用 | | `/admin/initFeedbackFlags` | 初始化反馈标记 FastGPT 初始化、迁移或管理维护任务。 | 否 | 当前仅 FastGPT 运维升级使用 | | `/admin/initv4132` | 处理 FastGPT 初始化、迁移或管理维护任务。 | 否 | 当前仅 FastGPT 运维升级使用 | | `/admin/initv4140` | 处理 FastGPT 初始化、迁移或管理维护任务。 | 否 | 当前仅 FastGPT 运维升级使用 | | `/admin/initv4141` | 处理 FastGPT 初始化、迁移或管理维护任务。 | 否 | 当前仅 FastGPT 运维升级使用 | | `/admin/initv4143` | 处理 FastGPT 初始化、迁移或管理维护任务。 | 否 | 当前仅 FastGPT 运维升级使用 | | `/admin/initv4144` | 处理 FastGPT 初始化、迁移或管理维护任务。 | 否 | 当前仅 FastGPT 运维升级使用 | | `/admin/initv4145` | 处理 FastGPT 初始化、迁移或管理维护任务。 | 否 | 当前仅 FastGPT 运维升级使用 | | `/admin/initv41451` | 处理 FastGPT 初始化、迁移或管理维护任务。 | 否 | 当前仅 FastGPT 运维升级使用 | | `/admin/initv4147` | 处理 FastGPT 初始化、迁移或管理维护任务。 | 否 | 当前仅 FastGPT 运维升级使用 | | `/admin/support/appRegistration/create` | 创建 FastGPT 初始化、迁移或管理维护任务。 | 否 | 当前仅 FastGPT 运维升级使用 | ### A.10 代理、兼容与文档 | 接口 | 主要功能介绍 | emoon 是否需要对接 | 当前系统环境是否需要对接 | | --- | --- | --- | --- | | `/aiproxy/[...path]` | 处理 FastGPT AI Proxy 代理能力。 | 否 | 当前不进入医疗生产链路 | | `/aiproxy/api/createChannel` | 创建代理渠道 FastGPT AI Proxy 代理能力。 | 否 | 当前不进入医疗生产链路 | | `/devapidoc.json` | 导出 FastGPT 开发 API 文档描述。 | 否 | 当前不进入医疗生产链路 | | `/lafApi/[...path]` | FastGPT 兼容或专业版代理转发接口。 | 否 | 当前不进入医疗生产链路 | | `/openapi.json` | 导出 FastGPT OpenAPI 描述文件。 | 否 | 当前不进入医疗生产链路 | | `/proApi/[...path]` | FastGPT 兼容或专业版代理转发接口。 | 否 | 当前不进入医疗生产链路 |