用途
flow-status 用于显示 CocoFlow 流水线的当前执行状态。它面向需要了解流水线整体进度、各阶段运行情况以及失败详情的开发者,帮助快速判断流水线是否完成、是否暂停、下一步该执行哪个阶段。
主要能力
- 读取 .cocoplus/flow.json,按状态统计阶段数量:总阶段数,以及 completed、running、failed、exited、skipped、pending(无 status 字段也计为 pending)。
- 读取 runtime.concurrency_mode(未设置时默认为 normal),并显示最近一次模式切换的触发事件(如有)。
- 读取 runtime.harvest_id,用于在 harvest/ 中定位双文件状态文件。
- 使用统一的状态词汇表:running、paused、completed、exited、failed、idle、retired。其中 completed、exited、failed 会分别渲染;exited 表示结构性停止,而非流水线错误。
- 输出整体完成百分比(completed 数量 / 总数)。
- 输出状态表,列为:Stage、Name、Persona、HITL、Status、Started、Duration,每个阶段一行。
- 检查 .cocoplus/flow.pause 标志,显示是否暂停。
- 给出 Next action:下一个待运行的 pending 阶段名称,或“All complete”,或“Stopped — manual intervention required”。
- 对失败阶段,输出 Failures 小节,包含阶段 ID、阶段名称、检查点失败模式、on_failure: stop,以及所需操作(修复问题并运行
$flow run [stage-id])。 - 对任何 type 为 parallel 的阶段,基于 .cocoplus/pod-status.json 输出每个 Pod 的完成表,列为 Pod、Status、Findings、Skipped Checks,并将 PARTIAL 与 COMPLETE 明确区分渲染,绝不将 PARTIAL 合并或显示为 COMPLETE。
使用方式
运行前需确认 .cocoplus/ 目录存在。若不存在,输出“CocoPlus not initialized in this directory. Run $pod init to begin.”并停止。
随后读取 .cocoplus/flow.json 进行统计与渲染,输出格式包括:
- 标题:# Pipeline Status: [pipeline name]
- Overall: [completed count]/[total] complete ([%])
- Concurrency Mode: [normal|caution|single-track] — [触发最近一次切换的事件,如有]
- 阶段状态表
- Paused: [yes/no]
- Next action: [下一阶段名称 / All complete / Stopped — manual intervention required]
失败阶段附加 Failures 小节;并行阶段附加 Parallel Step 小节及 Pod 完成表。
适用场景
- 需要快速查看 CocoFlow 流水线整体进度与各阶段状态时。
- 流水线出现失败阶段,需要查看检查点失败详情与重试命令时。
- 需要确认流水线是否暂停、下一步该执行什么时。
- 并行阶段需要查看各 Pod 完成情况,尤其是区分 PARTIAL 与 COMPLETE 时。
限制
- 必须在已初始化 CocoPlus 的目录中使用,即 .cocoplus/ 存在。
- 依赖 .cocoplus/flow.json 与 .cocoplus/pod-status.json 等状态文件;若检查点文件被删除,flow.json 中标记为 completed 的阶段可能并不真实,需要独立验证。
- 即使所有阶段完成,也必须输出 Next action 行(“All complete”),这是必要输出。
- exited 阶段应显示为结构性停止并给出重跑/恢复指引,而非失败。
- 关于收费、价格、平台支持范围等信息,资料中暂未提供。