Skip to content

qcloop v0.6.0

Latest

Choose a tag to compare

@wutongci wutongci released this 10 May 12:19
· 1 commit to main since this release

qcloop v0.6.0

发布日期:2026-05-10

亮点

  • 不只补 P0:本版同时补齐 P1/P2 的实际闭环能力,包括单 item 重试/取消、队列指标、批次模板管理和 Web 可视化入口。
  • AI 托管路径更完整:Skill CLI / npm CLI 支持 job cancelitem retryitem cancelqueue metricstemplate 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 web
  • npm test --prefix packages/qcloop-skill-cli-npm
  • python3 -m py_compile skills/qcloop/scripts/qcloop_cli.py
  • git diff --check

已知限制

  • 单 item retry 不递增批次级 run_no,而是保留在同一批次轮次内追加历史 attempt / qc round;批次级“重试未成功项 / 重跑全部”仍会递增 run_no
  • Web 模板面板提供保存、套用、删除的轻量入口;完整模板更新流程优先交给 Skill CLI / HTTP API,符合“人下发意图,AI 托管执行”的主路径。