Files
notes/work/移动杭研/AI 项目/图纸-IBS 智能体-v2-项目架构 原生 MCP.md
T
Docker7530 cef89547a6 1773109225
2026-03-10 10:20:27 +08:00

61 lines
2.6 KiB
Markdown

```
---
config:
layout: elk
---
flowchart TB
subgraph Layer1["1. 用户侧"]
UI["对话框"]
end
subgraph Layer2["2. 智能体编排层"]
Router["意图识别与分发<br>(语义路由,小模型判断最好,要快)"]
Planner["Agent 规划与调度 (ReAct)"]
LLM["大模型 (LLM)"]
RAGFlow["现有 RAGFlow<br>(知识库问答)"]
end
subgraph Layer3["3. 工具检索引擎 (Tool-RAG) ⭐️核心枢纽"]
Embedding["Embedding 模型<br>(文本转向量)"]
VectorDB[("向量数据库<br>存储插件语义<br>(按租户隔离)")]
RelationalDB@{ label: "关系型数据库<br>1. 接口物理配置<br style=\"--tw-scale-x:\">2. 角色权限表" }
SchemaBuilder["Schema 组装器<br>(仅组装 Top-K 工具)"]
end
subgraph Layer4["4. 拦截与执行层"]
Interceptor["高危操作拦截<br>(前端卡片审批流)"]
HttpExecutor["通用 HTTP 执行器<br>"]
MCPClient["MCP 协议网关<br>(标准化接入)"]
IBS["IBS / CDN / DNS 系统"]
MCPServer["MCP Server<br>"]
end
UI -- "1. 用户输入" --> Router
Router -- "2a. 查阅文档" --> RAGFlow
Router -- "2b. 业务请求/查数据" --> Embedding
Embedding -- "3. 提取语义向量" --> VectorDB
VectorDB -- "4. 返回相似度 Top-3 的插件 ID" --> SchemaBuilder
RelationalDB -. "5. 根据 ID 拉取详细配置URL等" .-> SchemaBuilder
SchemaBuilder -- "6. 动态注入这 3 个工具说明" --> Planner
Planner <-- "7. 带 3 个工具进行交互<br>提取并完善参数" --> LLM
Planner -- "8. 决定调用某工具+参数" --> Interceptor
Interceptor -- "9a. 放行/审批后走普通接口" --> HttpExecutor
HttpExecutor -- "10a. 动态发起 REST 请求" --> IBS
Interceptor -. "9b. 路由至原生 MCP" .-> MCPClient
MCPClient -. "10b. MCP 协议通信" .-> MCPServer
Register["admin 录入新插件"] -. "A. 存入运行配置" .-> RelationalDB
Register -. "B. 向量化插件描述" .-> VectorDB
Router@{ shape: rect}
RelationalDB@{ shape: cylinder}
Register@{ shape: rect}
RAGFlow:::highlight
Embedding:::vector
VectorDB:::vector
RelationalDB:::plugin
SchemaBuilder:::vector
MCPClient:::highlight
MCPServer:::external
classDef core fill:#e1f5fe,stroke:#01579b,stroke-width:2px
classDef plugin fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef vector fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px
classDef highlight fill:#fff9c4,stroke:#fbc02d,stroke-width:2px
classDef external fill:#f3e5f5,stroke:#8e24aa,stroke-width:1px,stroke-dasharray: 5 5
```