SuperAPI AI 工具集

fleet-status

部署与运维

查看项目

更新于 10-23 23:07

技能介绍

用途

fleet-status 用于显示 CocoFleet 一次运行的当前执行状态。它会展示每个实例的状态、运行时长以及检查点结果。

主要能力

  • 在未提供 fleet-id 时,列出 .cocoplus/fleet/ 下所有包含 state.json 的 fleet 目录,并显示其 fleet 名称、模式和状态。
  • 读取 .cocoplus/fleet/[fleet-id]/state.json,输出 fleet 名称、fleet ID、启动时间、整体状态(running/complete/failed)。
  • 输出实例状态表,列为 Instance、Name、Status、PID、Runtime、Checkpoints,检查点以 ✓ 或 ✗ 表示是否满足。
  • 输出按角色分组的视图,将 planner、producer、critic 实例分别列出,包含 Role、Instance、Model Tier、Status、Last Heartbeat、Current Task(存在 current_task_summary 时显示)。
  • 显示 .cocoplus/fleet/[fleet-id]/comms.log 的最后 10 行作为 Recent Comms。
  • 对失败实例,显示其 output.log 的最后 3 行。

使用方式

命令格式:$fleet status [fleet-id]

执行前会验证 .cocoplus/ 是否存在。若不存在,则输出 "CocoPlus not initialized in this directory. Run $pod init to begin." 并停止。

对于状态为 running 的实例,会通过 Bash 工具执行跨平台 Node.js 单行命令检查 PID 是否仍然存活:

node -e "try{process.kill([pid],0);console.log('alive')}catch(e){console.log('dead')}"

对于旧版 fleet 状态文件(匹配 .cocoplus/fleet/[fleet-id]-state.json),仅作为回退读取,并提示该 fleet 应迁移到目录布局。

适用场景

  • 查看 CocoFleet 运行的整体状态与各实例状态。
  • 按角色查看 planner、producer、critic 的心跳与当前任务。
  • 排查失败实例,查看其日志尾部。
  • 查看最近的通信事件。

限制

  • 若 state.json 缺失,表示 fleet 从未启动,应输出明确错误,而不是将所有实例报告为 pending。
  • 对于 running 实例,必须重新检查 PID 存活状态,不能仅显示缓存状态,因为进程可能已死亡但 state.json 未更新。
  • 旧版状态文件仅作为回退,并应提示迁移。