节点编排实战
功能概述
用三条咨询主题串联代码、变量赋值、循环与子流程,再以 HTTP 示例说明外部接口的参数与响应映射。示例均使用变量输出,便于逐项核对处理结果。
前置条件
已完成并发布 流程编排 中的 DOCS_咨询受理流程,它在本页作为受理子流程。
1. 创建示例流程
新增 DOCS_咨询批量整理,依次连接:
开始 → 代码 → 变量赋值 → 循环 → 子流程 → 结束。
开始节点声明必填字符串 message,显示名为“咨询主题”。示例输入:
服务时间,资料清单,处理进度
可下载 完整流程定义。将子流程 config.appId 的占位值「咨询受理流程主键」替换为当前环境的实际主键,再通过 发布菜单 → 源码视图 粘贴并应用。以下步骤也可在节点面板逐项配置。
2. 代码:拆分咨询主题
代码节点命名“整理咨询主题”,节点标识为 code。
| 设置 | 值 |
|---|---|
输入参数 message | string,选择 开始 → 咨询主题 |
| 语言 | javascript |
输出 items | array |
输出 total | number |
输出 summary | string |
脚本填写:
function main(params) {
const items = params.message.split(/[,,]/).map(item => item.trim()).filter(Boolean);
return {
items: items,
total: items.length,
summary: "青禾咨询:" + items.length + "项"
};
}脚本从声明的 params.message 取值。返回对象的键与输出变量名称对应,items 保留数组供循环使用。

3. 变量赋值:更新下游摘要
赋值节点命名“更新咨询摘要”:
- 目标变量 选择 开始 → 咨询主题,对应
start.message。 - 取值方式选择 引用。
- 来源选择 整理咨询主题 → summary,对应
code.summary。
下游读取 start.message 时得到“青禾咨询:3项”。开始节点的运行记录保留原始输入,赋值节点记录此次更新。

引用与直写
引用保留来源值的类型;直写按文本模板渲染。复制流程定义时,引用值填写 code.summary,直写模板才使用 {{code.summary}}。
4. 循环:逐项生成记录
循环节点命名“逐项生成记录”,节点标识为 loop_batch。
| 设置 | 值 |
|---|---|
| 数据源 | 选择 整理咨询主题 → items |
| 最大轮数 | 10 |
| 提前退出 | 留空 |
点击 编辑循环体,加入一个模板节点“主题记录”。循环体无需开始和结束节点,模板填写:
{{loop.item}}(索引 {{loop.index}})变量选择器的“循环变量”提供 当前项、序号 与 已有结果。序号从 0 开始,每轮最后一个节点的输出汇入 results。


三项输入对应 count=3、total=3,结果为三个含 content 的对象。需要提前结束时填写返回布尔值的表达式,面板使用 vars.loop.item、vars.loop.index 和 vars.loop.results;该表达式在每轮开始前求值。
5. 子流程:复用受理回执
子流程节点命名“生成受理回执”,节点标识为 call_receipt。
- 选择已发布的
DOCS_咨询受理流程。 - 在其
message入参中选择 开始 → 咨询主题。此时传入的是赋值后的摘要。 - 核对输出列表出现
answer、完整result与tokens。
子流程有发布版本时读取发布快照,尚未发布时读取草稿。发布快照中的开始入参与父流程映射应一致。

6. 输出、调试与发布
结束节点选择 变量输出,配置:
| 输出名称 | 类型 | 取值 |
|---|---|---|
topics | array | {{loop_batch.results}} |
count | number | {{loop_batch.count}} |
message | string | {{start.message}} |
answer | string | {{call_receipt.answer}} |

点击 调试,输入前述三个主题并运行。检查六个主节点均成功,展开 topics,逐项核对:
{
"topics": [
{"content": "服务时间(索引 0)"},
{"content": "资料清单(索引 1)"},
{"content": "处理进度(索引 2)"}
],
"count": 3,
"message": "青禾咨询:3项",
"answer": "已收到您的咨询:\n青禾咨询:3项\n请补充使用场景、当前环境和预期结果,便于进一步处理。"
}
发布当前定义后,点击发布左侧 运行,使用同一输入运行。发布版本的六个主节点均成功,流程不调用模型。

查看参数配置、草稿调试与发布运行演示

7. HTTP:查询参数与响应映射
另建 DOCS_HTTP请求示例,连接 开始 → HTTP请求 → 结束。使用 Postman Echo 的公开回显端点,仅提交虚构咨询主题,不需要账号或密钥。
开始节点声明必填字符串 message。HTTP 节点命名“回显咨询参数”,节点标识为 http_echo:
| 设置 | 值 |
|---|---|
| 方法 | GET |
| 地址 | https://postman-echo.com/get |
| 内容类型 | application/json |
| 请求头 | X-Docs-Sample = qinghe |
| 查询参数 | topic = 开始 → 咨询主题 |
| 输出 | 保留默认 status、headers、body |

结束节点选择变量输出,status 引用 {{http_echo.status}},body 引用 {{http_echo.body}}。调试输入 DOCS_知识检索咨询,核对状态为 200,body.args.topic 与输入一致。

发布后点击发布左侧 运行,以同一输入运行,返回的主题与调试一致。完整定义见 HTTP 示例文件。

调用业务接口时,替换地址与参数。POST、PUT、PATCH 可携带请求体;JSON 原文填写在请求体区域,表单编码按表单项填写。默认仅接受 HTTP/HTTPS,内网访问由部署环境的 blade-ai.flow.http.allow-internal 控制。
