搜索文档
本文档详细介绍了 Workflow 的 Schema 结构。Workflow Schema 是定义工作流程的核心配置,描述了节点,以及边的配置。
一个完整的 Workflow Schema 包含以下主要部分:
interface WorkflowSchema { nodes: WorkflowNodeSchema[]; edges: WorkflowEdgeSchema[]; }
节点是工作流中的基本单元,每个节点都有其特定的类型和配置:
interface WorkflowNodeSchema<T = string, D = any> { id: string; // 节点唯一标识符 type: T; // 节点类型 meta: WorkflowNodeMetaSchema; // 节点元数据 data: D & { // 节点数据 title?: string; // 节点标题 inputsValues?: Record<string, IFlowValue>; // 输入值 inputs?: IJsonSchema; // 输入模式定义 outputs?: IJsonSchema; // 输出模式定义 [key: string]: any; // 其他自定义数据 }; blocks?: WorkflowNodeSchema[]; // 子节点(用于复合节点) edges?: WorkflowEdgeSchema[]; // 子节点之间的连接 }
interface WorkflowNodeMetaSchema { position: PositionSchema; // 节点在画布中的位置 }
边定义了节点之间的连接关系:
interface WorkflowEdgeSchema { sourceNodeID: string; // 源节点ID targetNodeID: string; // 目标节点ID sourcePortID?: string; // 源节点端口ID(可选) targetPortID?: string; // 目标节点端口ID(可选) }
Workflow 支持多种值类型:
enum WorkflowVariableType { String = 'string', // 字符串 Integer = 'integer', // 整数 Number = 'number', // 数字 Boolean = 'boolean', // 布尔值 Object = 'object', // 对象 Array = 'array', // 数组 Null = 'null' // 空值 }