扣子工作流字段函数说明
·
📚 工作流 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 | 否 | 子画布位置(仅 loop 和 batch 节点支持):• canvasPosition.x(number,选填)• canvasPosition.y(number,选填) |
parameters |
object | 是 | 节点的具体配置,包含: • node_inputs(输入参数)• node_outputs(输出参数,部分节点)• batch(批处理配置,可选)• settingOnError(异常处理,可选) |
🔗
node_inputs、node_outputs、settingOnError子字段说明见后续部分。
三、node_inputs 字段(节点输入参数)
用于定义节点的输入变量结构:
| 字段名 | 数据类型 | 是否必填 | 说明 |
|---|---|---|---|
$key |
string | 是 | 输入参数的名称(如 url、input)。 |
$value |
object | 是 | 参数值的结构描述。 |
→ type |
string | 是 | 数据类型(见 第六部分:数据类型说明)。 |
→ required |
boolean | 是 | 是否必填。 |
→ items |
object | 否 | 若 type 为 array,用于定义数组元素的结构。 |
四、settingOnError 字段(异常处理配置)
| 字段名 | 数据类型 | 是否必填 | 说明 |
|---|---|---|---|
switch |
boolean | 否 | 是否开启异常处理。 |
processType |
integer | 否 | 异常处理方式: • 1:中断流程• 2:返回设定内容• 3:执行异常流程 |
timeoutMs |
integer | 否 | 超时时间(毫秒)。 |
retryTimes |
integer | 否 | 重试次数。 |
五、node_outputs 字段(节点输出参数)
定义节点输出的数据结构:
| 字段名 | 数据类型 | 是否必填 | 说明 |
|---|---|---|---|
type |
string | 是 | 输出值的主数据类型(如 object、string)。 |
properties |
object | 否 | 若 type 为 object,定义其属性:• $key:属性名→ type:属性数据类型→ required:是否必填 |
items |
object | 否 | 若 type 为 array,定义数组元素的结构(同 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_node 和 path 引用其他节点的输出,YAML 中不显示类型,导入平台后自动补全。
示例 1:引用字段
name: i5
input:
value:
ref_node: '100001'
path: 'input'
示例 2:引用嵌套对象属性
name: data
input:
value:
ref_node: '100001'
path: 'input.name.a'
更多推荐


所有评论(0)