用途:将一段自由讨论中已足够成形的素材,综合成 flow-next 规格文件 .flow/specs/<spec-id>.md,避免上下文随会话结束而丢失。它不是独立程序:宿主智能体(Claude Code、Codex、Droid)本身即 LLM,直接完成综合,没有 Python 合成器或子进程。flowctl 只提供薄封装:spec create、spec set-plan、可选的 spec set-branch,以及用于重复检测的 memory search,未新增子命令。
主要能力与用法:
- 模式检测:解析
$ARGUMENTS中的mode:autofix与--rewrite <spec-id>、--from-compacted-ok、--yes、--override-strategy,其余内容作为自由文本忽略(输入是对话本身)。 - 交互模式(默认):Phase 0 询问重复检测,Phase 3 询问必问歧义,Phase 4 用阻塞式提问工具做读回,只有批准后才写入。
- 自动修复模式:不问任何问题;重复或压缩检测直接报错退出 2(除非显式传入覆盖参数);必问情形同样退出 2;Phase 4 仅打印草稿,必须加
--yes才提交。 - 执行顺序:重复与压缩检测、幂等检查 → 先构建逐字
## Conversation Evidence证据块 → 按行标注 [user]/[paraphrase]/[inferred] 起草各章节 → 必问情形 → 强制读回(含 R-ID 列表与 [inferred] 计数,8 条以上验收标准时提示是否拆分,由用户决定)→ 通过 flowctl 写入 → 输出后续/flow-next:plan、/flow-next:interview提示。
限制:Ralph 模式下(检测到 REVIEW_RECEIPT_PATH 或 FLOW_RALPH=1)直接退出 2,不兼容;禁止设 context: fork,阻塞式提问工具须保持可达;禁止写入用户未声明的技术栈、文件路径或代码片段,这些留给 /flow-next:plan;禁止未经 --rewrite 静默覆盖既有规格;提交时只暂存 JSON sidecar 与规格文件(及变更的 .flow/meta.json),不使用 git add -A。
使用:flowctl 随插件打包而非全局安装,which flowctl 会失败属预期,应使用 FLOWCTL="${DROID_PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT}}/scripts/flowctl"。详细分阶段执行见 workflow.md,必问情形、来源标签分类与禁用行为见 phases.md。若 .flow/meta.json 的 setup_version 落后于插件版本,会给出非阻塞提示。关于收费、价格或运行效果,资料未提供。