节点手册:子工作流与计划任务

适用版本:ChengOS v0.1.0+ | 最后核对:2026-08-13 | 来源:crates/cheng-nodes/src/nodes/builtin/tools

tools/subflow 调用另一个工作流一次并等待结果 —— 它既是让大图保持可读的手段, 也是复用同一段逻辑的方式。tools/batch_subflow 是同样的调用在集合上的展开, 当条目数量由数据决定而不是画出来时,就该用它。 tools/schedule 管理定时任务:创建、暂停、恢复、取消,以及读回某次已完成运行的结果。

子工作流 — tools/subflow

作为子工作流调用另一个工作流(通过文件路径或工作流 ID)

输入

字段 类型 必填 默认值 说明
workflow_path string 工作流文件路径(JSON 格式)或工作流 UUID
async_execution boolean false 是否异步执行;true 启动后立即返回,false 等待完成. 控件:switch
input_data any null 传递给子工作流的输入数据(可选)。将后续 feedback 放在此对象内部,不要放在顶层。
child_context any null 早期子流程调用返回的上一个子流程上下文.当两者都设置时,优先使用此字段覆盖 input_data.context.
agent_context object null 上游 AgentContext(通常从路由节点连接)。序列化为子工作流的 context 输入。优先级:child_context > agent_context > input_data.context。
conversation_id string null 传递给子工作流的环境父级对话 ID
child_session_id string null 可选的稳定子会话 ID.复制到子执行元数据和诊断信息中.
response_path string null 可选的点路径,在启发式提取之前用于从组合结果中提取响应.
context_path string null 可选的点路径,在启发式提取之前用于从组合结果中提取子上下文.
return_child_context boolean true 是否在输出数据中返回子流程的更新上下文. 控件:switch
return_node_outputs boolean true 是否在结果输出中包含子节点输出. 控件:switch
child_context_max_bytes integer 100000 返回的内联子上下文最大序列化大小(字节).默认 100_000.超大型上下文会被摘要. 控件:number
call_stack array null 调用栈,用于检测递归调用(内部使用)
timeout_seconds integer 300 超时时间(秒). 控件:number
max_parallelism integer 10 最大并行节点数. 控件:number

输出

字段 类型 说明
status string 子工作流执行状态
agent_context object (端口) 子工作流输出数据(AgentContext). 连接端口,不是表单字段。
elapsed_ms integer 执行时间(毫秒)
error string 错误信息(执行失败时)
summary string 执行结果摘要

批量子工作流工具 — tools/batch_subflow

使用有界并发并行运行多个子工作流并聚合结果

输入

字段 类型 必填 默认值 说明
items array<object> 要并发运行的子工作流调用(结果按输入顺序返回)
max_concurrency integer 4 批次级并发(并发中的子工作流数).与每个子工作流的 max_parallelism 不同. 控件:number
timeout_seconds integer 300 每个子工作流的超时时间(秒). 控件:number
max_parallelism integer 10 每个子工作流内部的最大并行节点数(不是批次并发). 控件:number
return_child_context boolean true 是否每个项目都返回更新后的子上下文. 控件:switch
return_node_outputs boolean true 是否在 result.outputs 中包含子节点输出. 控件:switch
child_context_max_bytes integer 100000 每个项目返回的内联序列化子上下文最大字节数. 控件:number
call_stack array null 用于递归检测的继承调用栈(内部使用)

输出

字段 类型 说明
status string 汇总状态:completed / partial_failed / failed
results array<object> 结果列表
total integer 总数
succeeded integer 成功数
failed integer 失败数
elapsed_ms integer 批层墙钟总耗时(毫秒)
summary string 摘要

计划任务管理器 — tools/schedule

直接管理计划任务:列出,创建,更新,暂停,恢复,取消并查看任务详情.

输入

字段 类型 必填 默认值 说明
mode enum manual 执行模式:Manual=用户填写参数,Llm=LLM 自动填写参数. 控件:select. 取值:manual, llm
action string "" 操作类型:list_tasks / get_task / create_task / update_task / pause_task / resume_task / cancel_task. 控件:select. 取值:list_tasks (List Tasks), get_task (Get Task), get_execution_result (Get Execution Result), create_task (Create Task), update_task (Update Task), pause_task (Pause Task), resume_task (Resume Task), cancel_task (Cancel Task), delete_task (Delete Task)
id string null 计划任务 ID(数字)
workflow_id string null 工作流 UUID(创建任务必填,列表时可选过滤)
status string null 列表过滤状态:pending,running,completed,failed,cancelled,paused
limit integer 50 最大返回数量(默认 50,最大 500)
offset integer 0 分页偏移量(默认 0)
run_at string null 调度表达式。接受三种格式:(1) 相对延迟(运行一次)— ‘2m’, ’30m’, ‘1h’, ‘1d’;(2) cron 表达式(周期调度)— ‘0 9 * * ‘(每天 09:00)、’0 9 * 1’(周一 09:00)、’0 9 * * 0,6’(周末 09:00);(3) 本地挂钟时间(运行一次)— ‘2026-06-30T09:00’ 或 ‘2026-06-30T09:00:00’(无时区/偏移;节点应用服务器时区)。一次性日期时间必须是未来时间 — 不要猜测当前日期;验证错误会说明当前服务器时间,请读取后修正 run_at。timezone 留空使用服务器系统时区(推荐)。
frequency string null 执行频率:once,every_minute,hourly,daily,weekly,monthly,custom
custom_cron string null 自定义 cron 表达式(仅 frequency=custom 时使用)
timezone string null 解释 run_at 的 IANA 时区。留空使用服务器系统时区(推荐)。
task_text string null 调度运行的工作流输入,纯文本。对于 chat/input 前端工作流,这会成为其 raw_input。将实际运行内容放在这里(或用 params)。不要放在 label 中。
target_node_id string null 配合 task_text 使用,将 raw_input 路由到指定节点.
params any null 显式工作流输入参数对象,如 {“raw_input”: “hello”}。即工作流入口节点接收的内容。使用此或 task_text 提供输入 — 不要用 label
priority integer null 执行优先级(默认 0)
max_retries integer null 最大重试次数(默认 3)
label string null 任务可读标签

输出

字段 类型 说明
status string 操作状态:ok / not_found / error / llm_config
data any 查询或操作结果
count integer 当前页结果数量
total integer 总数(分页前)
error string 错误信息

下一步

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容