📚 工作流 DSL 字段说明(结构化版)


一、基础字段(工作流根层级)

字段名 数据类型 是否必填 说明
schema_version String 当前语法的版本,固定为 1.0.0,请勿修改。
name String 工作流的名称。
description String 工作流的描述。
mode String 工作流的类型(如 workflow)。
icon String 工作流的图标路径,请勿修改。
nodes Array 工作流节点列表。
edges Array 工作流节点之间的连线。

🔗 edges 子字段说明见 第五部分:edges 字段


二、nodes 字段(节点列表)

每个节点是一个对象,包含以下基础字段:

字段名 数据类型 是否必填 说明
id string 工作流节点唯一 ID。
type string 节点类型,可选值包括:
start:开始节点
end:结束节点
llm:大模型节点
plugin:插件节点
subflow:子工作流节点
code:代码节点
intent:意图识别节点
condition:选择器节点
loop:循环节点
batch:批处理节点
variable_merge:变量聚合节点
Input / output:输入/输出节点
database 相关:select_database, update_database, insert_database, delete_database
ltm 相关:ltm, ltm_write, ltm_read
dataset 相关:dataset_write, dataset_delete, knowledge
• 多媒体节点:image_generate, video_generation, video_audio_extractor, video_frame_extractor
• 工具节点:text, question, to_json, from_json, http
• 会话管理节点:conversation_*, message_*
drawing_board:画板节点
title string 节点在画布上显示的标题。
icon String 节点图标 URL。
description string 节点功能描述。
position object 节点在画布中的位置:
position.x(number,必填):X 轴坐标
position.y(number,必填):Y 轴坐标
📌 原点为初始画布虚拟区域(1512×644 px)左上角,X 向右为正,Y 向下为正。
canvasPosition object 子画布位置(仅 loopbatch 节点支持):
canvasPosition.x(number,选填)
canvasPosition.y(number,选填)
parameters object 节点的具体配置,包含:
node_inputs(输入参数)
node_outputs(输出参数,部分节点)
batch(批处理配置,可选)
settingOnError(异常处理,可选)

🔗 node_inputsnode_outputssettingOnError 子字段说明见后续部分。


三、node_inputs 字段(节点输入参数)

用于定义节点的输入变量结构:

字段名 数据类型 是否必填 说明
$key string 输入参数的名称(如 urlinput)。
$value object 参数值的结构描述。
  → type string 数据类型(见 第六部分:数据类型说明)。
  → required boolean 是否必填。
  → items object typearray,用于定义数组元素的结构。

四、settingOnError 字段(异常处理配置)

字段名 数据类型 是否必填 说明
switch boolean 是否开启异常处理。
processType integer 异常处理方式:
1:中断流程
2:返回设定内容
3:执行异常流程
timeoutMs integer 超时时间(毫秒)。
retryTimes integer 重试次数。

五、node_outputs 字段(节点输出参数)

定义节点输出的数据结构:

字段名 数据类型 是否必填 说明
type string 输出值的主数据类型(如 objectstring)。
properties object typeobject,定义其属性:
$key:属性名
  → type:属性数据类型
  → required:是否必填
items object typearray,定义数组元素的结构(同 node_inputs.items)。

六、数据类型说明

关键字 名称
string 字符串
integer 整数
number 数字
boolean 布尔
time 时间
object 对象
array 数组
file 文件
image 图片
svg SVG
audio 音频
video 视频
voice 音色
doc 文档
ppt PPT
excel 表格
txt 文本
code 代码
zip 压缩包

七、edges 字段(节点连线)

定义节点之间的数据流向:

字段名 数据类型 是否必填 说明
source_node String 起始节点的 ID。
target_node String 目标节点的 ID。
source_port String 起始节点的分支 ID(用于条件/选择器等多出口节点)。

八、输入参数配置方式

节点输入参数支持两种配置方式:

1. 配置为固定值

必须显式声明数据类型。

示例 1:整数

name: modelType
input:
  type: integer
  value: '1737521813'

示例 2:字符串数组

name: data
input:
  type: list
  items:
    type: string
  value: '[]'

示例 3:对象

name: data
input:
  type: object
  properties:
    f1:
      type: string
      value: 'f1'
    f2:
      type: integer
      value: 10

2. 引用变量(动态值)

通过 ref_nodepath 引用其他节点的输出,YAML 中不显示类型,导入平台后自动补全。

示例 1:引用字段

name: i5
input:
  value:
    ref_node: '100001'
    path: 'input'

示例 2:引用嵌套对象属性

name: data
input:
  value:
    ref_node: '100001'
    path: 'input.name.a'

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐