```
flowchart TB
subgraph Layer1["1. 用户侧"]
UI["对话框"]
end
subgraph Layer2["2. 智能体编排层"]
Router@{ label: "意图识别与分发
(语义路由,小模型更好,选择题)" }
Planner["Agent 规划与调度 (ReAct)"]
LLM["大模型 (LLM)"]
end
subgraph Layer3["3. 工具检索引擎 (Tool-RAG) ⭐️"]
Embedding["Embedding 模型
(文本转向量)"]
VectorDB[("向量数据库
(Milvus / pgvector)
存储插件语义")]
RelationalDB[("关系型数据库
(MySQL)
存储接口物理配置")]
SchemaBuilder["Schema 组装器
(仅组装 Top-K 工具)"]
end
subgraph Layer4["4. 拦截与执行层"]
Interceptor["高危操作拦截器
(审批效果,这个需要和前端沟通方案)"]
HttpExecutor["通用 HTTP 执行器
(动态请求第三方组)"]
IBS["IBS / CDN / DNS 系统"]
end
UI -- "1. 输入: 查一下流量" --> Router
Router -- "2. 业务请求" --> Embedding
Embedding -- "3. 提取语义向量" --> VectorDB
VectorDB -- "4. 返回相似度 Top-3 的插件 ID" --> SchemaBuilder
RelationalDB -. "5. 根据 ID 拉取详细配置URL等" .-> SchemaBuilder
SchemaBuilder -- "6. 动态注入这 3 个工具说明" --> Planner
Planner <-- "7. 仅带 3 个工具进行交互
提取并完善参数" --> LLM
Planner -- "8. 决定调用某工具+参数" --> Interceptor
Interceptor -- "9. 放行/审批" --> HttpExecutor
HttpExecutor -- "10. 动态发起真实请求" --> IBS
Register["管理员注册新插件"] -. "A. 存入运行配置" .-> RelationalDB
Register -. "B. 向量化插件描述" .-> VectorDB
Router@{ shape: rect}
Embedding:::vector
VectorDB:::vector
RelationalDB:::plugin
SchemaBuilder:::vector
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:#ffebee,stroke:#c62828,stroke-width:2px
```