# Workflow 编排模块设计 ## 1. 核心模型 | 对象 | 说明 | |------|------| | Studio 项目 | 聚合多个 Workflow、Agent 和发布配置 | | Workflow 定义 | 可编辑流程主数据 | | Workflow 版本 | 发布或草稿快照,保存 `graph_json` | | Workflow 运行 | 一次测试或正式运行 | | Workflow 步骤 | 单个节点的输入、输出、耗时和错误 | ## 2. 图模型 `workflow_version.graph_json` 保存节点与边: - 节点:`id`、`type`、`label`、`config`、`position` - 边:`from`、`to`、`condition` 图模型由后端做最小结构校验,复杂交互由前端画布负责。 ## 3. 运行链路 ```mermaid flowchart LR Start["Start"] --> Retrieve["Knowledge Retrieval"] Retrieve --> LLM["LLM"] LLM --> Tool["MCP Tool"] Tool --> Skill["Skill"] Skill --> Answer["Answer"] ``` ## 4. 状态设计 - Workflow 定义状态:草稿、启用、停用、归档。 - 发布状态:草稿、已发布、已归档。 - 运行状态:排队中、运行中、成功、失败、取消。 - 节点状态:等待、运行中、成功、失败、跳过。 ## 5. 依赖关系 - Knowledge Retrieval 节点依赖知识资产模块。 - LLM 节点依赖模型与路由模块。 - MCP Tool 节点依赖 MCP 模块。 - Skill 节点依赖 Skill 模块。 - 运行记录被运行观测模块消费。