agent-status 是做什么的?
当项目代理正在进行多步骤工作,且人类需要了解实际情况时,请使用此技能。
该技能并非仪表盘生成器。它生成一个由机器可读人工制品支持的真相展示层:
.plan-iterate/<campaign-id>/status/
status.json
events.jsonl
proof_manifest.json
STATUS.html
HTML 只渲染当前状态人工制品。它不得虚构进度、百分比或完成声明。
核心原则
状态人工制品优先 → HTML 渲染人工制品 → 人类可检查证据
绝不要这样做:
美化页面优先 → 模糊的绿色文字 → 人类猜测进度
首次视图必须回答的问题
生成的页面必须回答:
- 代理正试图完成什么?
- 我们当前确切的进度如何?
- 刚通过了什么?
- 什么尚未验证?
- 下一步行动是什么?
- 代理是正在运行、被阻塞、空闲,还是等待人类?
- 当前声明有什么证据支持?
- 代理下一步不应做什么?
状态模型
允许的状态:
not_startedrunningneeds_attentionblockedfailedpassed_scoped_gatedoneidle
重要区别:
passed_scoped_gate != done
仅当最终目标有明确的最终证据人工制品时,才使用 done。
常用命令
初始化一个项目阶段:
./run.sh init \
--campaign refactor-harness-e2e \
--goal "完成范围明确的 Refactor Harness E2E 验证"
标记一个关卡为运行中:
./run.sh update \
--campaign refactor-harness-e2e \
--state running \
--current-step "运行强化的并发 LLM + OpenCode 总结关卡"
记录一个通过的限定范围关卡:
./run.sh gate-passed \
--campaign refactor-harness-e2e \
--label "A01-A18 强化的并发 LLM + OpenCode 总结" \
--verdict PASS_SPEC \
--proof ".plan-iterate/refactor-harness-e2e/proof/refactor-concurrent-mixed.json" \
--next-action "启动审查者数据包 + 审查者扇入阶段" \
--not-proven "Transport Room B1 UI" \
--not-proven "build_review_packet 审查者扇入" \
--not-proven "完整的 OpenCode 消息传递"
请求人类做出决定:
./run.sh needs-human \
--campaign refactor-harness-e2e \
--question "代理应该运行下一个项目阶段?" \
--option "A=继续 Harness: 审查者数据包 + 审查者扇入" \
--option "B=Transport UI: 启动 Transport Room B1" \
--option "C=仅稳定:检查点并停止"
再次渲染状态页面:
./run.sh render --campaign refactor-harness-e2e
反仪表盘剧场规则
- 无百分比。
- 除非最终目标证据存在,否则不得使用绿色“完成”标签。
- 每个 PASS 必须指明其证据人工制品。
- 每个状态必须显示什么尚未验证。
- 每个空闲状态必须说明代理为何空闲。
- 每个等待人类的状态必须包含决策菜单。
- 每个被阻塞的状态必须指明缺失的人工制品、服务、关卡或决定。
- 仅当页面读取
status.json时,才允许自动刷新。 - 如果
status.json已过期,页面必须指明已过期。 - 审查者判定是收据,而非完成证明。
何时使用
用于以下场景:
/plan-iterate/orchestrate/review-design/review-code/debugger/ask deep-review/code-runner/subagent-runner- 任何持续时间超过一个集中命令的多步骤项目代理工作
人工制品预期
status.json 是真相源。
events.jsonl 仅追加,记录状态转换。
proof_manifest.json 列出状态声明中提及的证据人工制品。
STATUS.html 是生成、感知过期且可在浏览器中安全打开的页面。
完成标准
对于长时间运行的代理工作,最终答案应总结当前状态人工制品,并在可能的情况下链接或引用 STATUS.html 的路径。
除非满足以下条件,否则不得声称完成:
- 状态为
done; last_completed.proof_path指向最终的证据人工制品;not_proven为空或明确声明“范围外”;- 阻塞项为空。