OpenSpec 规格驱动开发
OpenSpec 是一个规格驱动开发(Spec-Driven Development)框架,为 AI 编程助手提供结构化的规格层。它解决了一个核心问题:当需求只存在于聊天记录中时,AI 的输出是不可预测的。OpenSpec 让人和 AI 在写代码之前先"对齐要构建什么"。
为什么需要 OpenSpec
直接告诉 Claude Code "帮我做一个功能",可能会遇到:
- AI 理解的需求和你的意图有偏差
- 缺少明确的验收标准,改完不知道对不对
- 需求变更时,之前的上下文已经丢失
- 多人协作时,没有共享的需求文档
OpenSpec 通过规格文档解决这些问题——每个变更都有独立的文件夹,包含提案、规格、设计和任务清单,所有内容都提交到 Git,成为持久化的上下文。
安装
系统要求
- Node.js 20.19.0 或更高版本
- Claude Code — 必须已安装
安装 OpenSpec
也支持其他包管理器:
初始化项目
在项目目录中运行:
初始化会创建以下结构:
openspec init 会自动检测已安装的 AI 工具并生成对应的命令文件。对于 Claude Code,会创建 .claude/commands/opsx/ 目录。
通过 CC-Switch 安装
如果你已安装 CC-Switch,可以通过 Skills 市场发现 OpenSpec 相关的社区 Skills:
- 打开 CC-Switch Desktop
- 进入 Skills 市场
- 搜索 "openspec"
- 选择需要的 Skills 安装到 Claude Code
OpenSpec 的核心安装需要运行 openspec init 来初始化项目结构和命令文件。CC-Switch 主要用于发现和管理 OpenSpec 发布到 skills.sh 的独立 Skills。
核心工作流
OpenSpec 的核心是三步工作流:
第一步:Propose(提案)
在 Claude Code 中运行:
OpenSpec 会创建一个变更文件夹,包含:
每个文件都是结构化的 Markdown,AI 会根据你的描述自动生成初稿,你可以逐个审阅和修改。
proposal.md 是变更的入口——它定义了意图、范围和方法。所有后续文件都基于提案生成。
第二步:Apply(实现)
审阅完规格后,让 Claude Code 按照任务清单实现:
Claude Code 会:
- 读取
tasks.md中的任务清单 - 逐个实现每个任务
- 完成后自动勾选复选框
第三步:Archive(归档)
实现完成后,归档变更:
归档操作会:
- 将增量规格合并到主规格目录(
openspec/specs/) - 将变更文件夹移动到带日期的归档目录
- 更新规格源,反映系统的新状态
归档后的规格成为"活文档"——它描述了系统当前的行为。下次修改时,新的提案会基于这些规格生成增量变更。
探索模式
当你还不确定要做什么时,用探索模式:
探索模式会开启一个开放式对话,不会生成任何文件。适合:
- 调研可行性
- 讨论技术方案
- 澄清需求
确认方向后,再用 /opsx:propose 创建正式的变更提案。
扩展工作流
通过配置 Profile 启用更多命令:
扩展命令
工作流模式
快速功能(需求明确):
探索式(需求不明确):
并行变更:
同时维护多个变更文件夹,各自独立推进。
配置
项目配置
配置文件位于 openspec/config.yaml:
OpenSpec 支持多语言输出——在 context 中设置 语言:中文(简体),AI 会用中文生成所有规格文档。
自定义 Schema
Schema 定义了制品类型和依赖关系。默认使用 spec-driven:
创建自定义 Schema:
CLI 命令
规格文档结构
每个变更文件夹包含四个核心制品:
proposal.md(提案)
specs/(规格)
design.md(设计)
tasks.md(任务)
与其他工具的关系
OpenSpec vs Superpowers
Superpowers 和 OpenSpec 解决不同层面的问题:
两者可以结合使用:OpenSpec 社区提供了 superpowers-bridge Schema,将 Superpowers 的头脑风暴、TDD、代码审查等 Skills 桥接到 OpenSpec 的工作流中。
OpenSpec vs Gstack
Gstack 聚焦工程团队模拟(QA、安全、浏览器测试),OpenSpec 聚焦需求规格化。两者互补:用 OpenSpec 定义需求,用 Gstack 的 /review 和 /qa 做质量保障。
相关资源
- OpenSpec GitHub — 项目仓库(52k+ Stars)
- OpenSpec 文档 — 官方文档网站
- OpenSpec npm — npm 包页面
下一步
- Superpowers 插件 — 互补的结构化开发方法论
- CC-Switch 配置管理 — 管理 API Provider 和 Skills
- 自定义技能 — 创建和管理自定义 Skills

