Appearance
Task Flow
Task Flow 是位于后台任务之上的流程编排层。它管理带独立状态、修订追踪和同步语义的持久多步骤流程,而各个任务仍然是分离工作的基本单元。
什么时候用 Task Flow
当工作跨越多个顺序或分支步骤,且需要在 gateway 重启后保持持久进度追踪时,使用 Task Flow。单个后台操作用普通任务就足够了。
| 场景 | 推荐方案 |
|---|---|
| 单个后台任务 | 普通任务 |
| 多步骤流水线(A 然后 B 然后 C) | Task Flow(托管) |
| 观察外部创建的任务 | Task Flow(镜像) |
| 一次性提醒 | Cron 任务 |
同步模式
托管模式
Task Flow 端到端拥有生命周期。它创建任务作为流程步骤,驱动它们到完成,并自动推进流程状态。
示例:每周报告流程,(1)收集数据,(2)生成报告,(3)投递。Task Flow 将每个步骤创建为后台任务,等待完成后进入下一步。
Flow: weekly-report
Step 1: gather-data → 任务已创建 → 成功
Step 2: generate-report → 任务已创建 → 成功
Step 3: deliver → 任务已创建 → 运行中镜像模式
Task Flow 观察外部创建的任务并保持流程状态同步,而不拥有任务创建权。当任务来自 cron 任务、CLI 命令或其他来源,而你想要统一查看它们的进度时非常有用——把它当成"龙虾的任务大屏"。
示例:三个独立的 cron 任务共同构成"早间运维"例程。镜像流程追踪它们的集体进度,而不控制何时或如何运行。
持久状态与修订追踪
每个流程持久化自己的状态并追踪修订,以便进度在 gateway 重启后保持。修订追踪支持冲突检测,当多个来源尝试同时推进同一流程时使用。
取消行为
openclaw tasks flow cancel 在流程上设置粘性取消意图。流程内的活跃任务被取消,不再启动新步骤。取消意图在重启后持久化,因此已取消的流程即使在所有子任务终止前 gateway 重启也会保持取消状态。
CLI 命令
bash
# 列出活跃和最近的流程
openclaw tasks flow list
# 显示特定流程的详情
openclaw tasks flow show <lookup>
# 取消运行中的流程及其活跃任务
openclaw tasks flow cancel <lookup>| 命令 | 说明 |
|---|---|
openclaw tasks flow list | 显示带状态和同步模式的已追踪流程 |
openclaw tasks flow show <id> | 按流程 id 或查找键检查单个流程 |
openclaw tasks flow cancel <id> | 取消运行中的流程及其活跃任务 |
流程与任务的关系
流程协调任务,而非替代任务。一个流程在其生命周期内可能驱动多个后台任务。用 openclaw tasks 检查单个任务记录,用 openclaw tasks flow 检查编排流程。