Files
obsidian-notes/InBox/OpenFlow-OpenSpec+Superpowers工作流编排器.md
Build Bot f7310caea0 同步
2026-05-18 01:20:38 +08:00

3.9 KiB
Raw Blame History

OpenSpec + Superpowers workflow orchestratorOpenFlow连接需求与工程的工作流编排器

来源: 微信公众号 - 幽人 作者: 幽人 日期: 2026年5月15日 11:12 标签: #OpenFlow #OpenSpec #Superpowers #工作流编排 #AI编码


核心定位

OpenSpec + Superpowers workflow orchestrator — bridging requirements specs and engineering execution, eliminating the format gap.

OpenFlow 是连接需求规格与工程执行的工作流编排器,消除两者之间的格式鸿沟。它是一个 npm 全局包(@lininn/openflow),纯粹作为一个独立的编排层,不嵌入 OpenSpec 或 Superpowers 的代码。

GitHub: lininn/openflow

解决的问题

  • 需求模糊:用户说"做一个贪吃蛇游戏"AI 需要自行猜测技术栈、复杂度、边界条件
  • 规格缺失:没有结构化的设计文档,代码写到一半发现需求变了
  • 进度不明:做到哪里了?哪些功能已完成?哪些待验证?
  • 验收困难:如何确认代码实现了设计?设计变更是否同步到代码?

核心架构

  • 技术栈TypeScript98.6%npm 全局包
  • 核心依赖OpenSpec结构化规格生成+ Superpowers实现规划与执行
  • 目录结构CLI 优先 + 模板驱动 + 平台兼容(.claude/ 技能 + .omc/ 会话存储)

双层依赖检测机制

优雅降级策略 — 不强制依赖 OpenSpec 或 Superpowers

  • Init 时检测:检测缺失 → 引导安装,但技能文件仍然生成
  • 运行时检测Build 阶段发现缺失时自动降级为手动步骤执行

核心理念:让工具先能用,再逐步完善。


五阶段工作流

命令 阶段 描述
/openflow proposal proposal 轻量需求捕获 — 3-5 个问题快速收敛需求
/openflow brainstorming brainstorming 深度设计 — 多轮权衡探索
/openflow spec spec 生成规格 + 自动翻译为 plan-ready.md
/openflow build build 执行实现(调用 Superpowers
/openflow close close 验证一致性 + 归档

Proposal 阶段:需求的起点

用最少的提问3-5 个),把用户脑子里的需求变成可执行的变更描述:

  1. 做什么 — 想实现什么功能/变更?
  2. 为什么 — 解决什么问题?给谁用的?
  3. 成功标准 — 怎样算做完了?验收条件?
  4. 边界 — 什么不在范围内?
  5. 现有约束 — 技术栈、兼容性、时间上的限制?

输出格式proposal.md

Spec 阶段:从 proposal 到可执行规格

将 proposal 升级为完整的规格文档包含详细的功能描述、数据结构、API 设计、组件树等。最终产出包括:

  • design.md — 完整设计文档
  • specs/ 目录 — 规格细节(包含详细的 spec 和 plan-ready.md
  • tasks.md — 任务清单(含依赖关系和验收标准)

Build 阶段:自动执行实现

关键概念是任务沙箱task sandbox

  1. 每个 task 从 tasks.md 中被抽取到一个独立的 .snapshot/ 沙箱
  2. 沙箱内包含:任务描述、相关规格、类/方法骨架、依赖说明
  3. 为每个 task 生成独立的 contextLLM 上下文隔离,避免信息过载)

Close 阶段:验证与归档

  • verify 子命令:对照 tasks.md 验证每个任务的实现状态和格式一致性
  • close 归档:将 changes 目录中的内容归档到当前项目的 changes/

编排 vs 工具绑定

OpenFlow 与其他方案的区别:

  • 不是将 Cursor/Claude Code/Codex 等工具与工作流深度绑定
  • 而是在每个阶段生成描述性的 prompt 和产出,让各阶段的 AI Agent 可以看懂指令并产出对接产物
  • 文件格式(统一的 markdown 规范)打通各阶段,而不是靠 API 集成