qcloop v0.6.0
发布日期:2026-05-10
亮点
- 不只补 P0:本版同时补齐 P1/P2 的实际闭环能力,包括单 item 重试/取消、队列指标、批次模板管理和 Web 可视化入口。
- AI 托管路径更完整:Skill CLI / npm CLI 支持
job cancel、item retry、item cancel、queue metrics、template list/show/create/update/delete。 - 队列更可靠:
max_executor_retries独立处理本机 AI CLI 启动/进程类错误,不消耗质检轮次。 - 质检更可追踪:verifier prompt 支持
{{qc_history}}/{{issue_ledger}},未显式使用时也会自动注入历史质检反馈。 - Web 面板补上队列指标、模板面板、保存模板、套用模板、单 item 重试/取消和取消状态统计。
API / CLI
- 新增
POST /api/items/retry:保留历史记录,重置单个 item 当前计数并重新入队。 - 新增
POST /api/items/cancel:取消运行中 / 待执行 / 待确认的单个 item,并阻止 runner 把它重新排队。 - 新增
GET /api/queue/metrics:输出 worker 数、活跃 job/item、pending/running/awaiting/stale/canceled 等指标。 - 新增
/api/templates与/api/templates/{id}:支持批次模板的创建、读取、更新、删除。 qcloop-skill同步暴露上述能力,并保持 JSON envelope 输出,方便 AI agent 自动决策下一步。
修复
- 修复 API 运行入口误把
completed/failed终态批次拦截的问题;完成或失败的批次仍可按retry_unfinished/rerun_all重新执行。 - 取消批次前会拒绝已完成 / 已失败 / 已取消的终态批次,避免状态倒退。
- 取消 running item 时先取消活跃上下文,再写入
canceled状态,避免被 runner 竞态改回pending/success。 - Web 的“未全部通过”统计纳入
canceled,避免数量和状态解释不一致。
验证
go test ./...npm run build --prefix webnpm test --prefix packages/qcloop-skill-cli-npmpython3 -m py_compile skills/qcloop/scripts/qcloop_cli.pygit diff --check
已知限制
- 单 item retry 不递增批次级
run_no,而是保留在同一批次轮次内追加历史 attempt / qc round;批次级“重试未成功项 / 重跑全部”仍会递增run_no。 - Web 模板面板提供保存、套用、删除的轻量入口;完整模板更新流程优先交给 Skill CLI / HTTP API,符合“人下发意图,AI 托管执行”的主路径。