OpenSpec 完全指南:让 AI 编码可预测的规范框架

32 阅读6分钟

一、AI 编程的"甜蜜陷阱"

随着 AI 编程助手日趋智能,开发者往往在"无需动脑、不用写文档"的诱惑下上手,但随之而来的是输出无序、需求跑偏、维护困难等隐患——这正是所谓的"甜蜜陷阱"。


二、规范驱动开发

以"明确做什么、为什么做"为前提,引入结构化规范文档,让 AI 从"规范"而非零散提示中读取需求,从而输出更可控、更易维护的代码。


三、为什么选用 OpenSpec

OpenSpec 是一款轻量、灵活的 AI 辅助开发规范工具,具有以下核心优势:

  • 轻量灵活:无刚性阶段门,随时迭代,避免繁文缛节
  • 工具自由:支持 20+ AI 编码助手(如 Claude Code、Cursor、Windsurf 等)
  • 可预测性:标准化文档模板,减少返工
  • 组织有序:每个变更独立文件夹,便于管理与追溯

项目地址gitcn.org/projects/10…


四、不用 spec 与用 OpenSpec 的对比

维度无规范有 OpenSpec
Token 消耗多次返工,额外提示消耗高标准模板+上下文注入,降低 30%–50%
编码效果风格不一、逻辑混乱、难维护风格统一、Bug 率降低、维护便捷
开发效率反复沟通,效率低输出精准,效率提升 ≥ 40%
团队协作沟通成本高,新人难上手模板+流程,新人快速入门
可维护性代码意图不明,维护困难规范文档留档,意图清晰

五、快速开始

5.1 安装要求

系统要求:Node.js 20.19.0+

# 全局安装
npm install -g @fission-ai/openspec@latest

# 或使用 pnpm / yarn / bun
pnpm add -g @fission-ai/openspec
yarn global add @fission-ai/openspec
bun install -g @fission-ai/openspec

5.2 初始化项目

# 进入项目目录
cd your-project

# 初始化 OpenSpec
openspec init

示例交互(向 AI 请求 config.yaml):

我是项目新手,请帮我写 @openspec/config.yaml 一份标准可直接使用的配置文件。
项目说明:

  • 类型:ELN/FCM 设备数据采集程序
  • 语言:C#
  • 内容:多设备通信、数据采集、协议解析、日志、配置、调试
    要求:YAML 语法正确、有中文注释、包含项目元信息、模块划分、阶段管理、文档归档、任务管理、AI 辅助……

5.3 配置工作流

默认模式(Core Profile):4 个核心命令

命令说明
/opsx:propose创建变更提案
/opsx:explore探索方案
/opsx:apply实现任务
/opsx:archive归档变更

扩展模式(Expanded Profile):更多命令

# 切换到扩展模式
openspec config profile expanded
openspec update

六、OPSX 工作流详解

6.1 核心理念

以"行动"为中心,文档赋能但非强制,支持随时创建、实现、更新、归档。

6.2 核心工作流(Core Profile)

步骤 1:探索想法(可选)

/opsx:explore 如何为移动应用处理认证

步骤 2:创建变更

/opsx:propose add-dark-mode

自动生成文件结构:

openspec/changes/add-dark-mode/
├── proposal.md
├── specs/
├── design.md
└── tasks.md

步骤 3:实现任务

/opsx:apply

步骤 4:归档

/opsx:archive

6.3 扩展工作流(Expanded Profile)关键操作

命令说明
/opsx:new [change-name]创建变更脚手架
/opsx:continue逐个生成文档
/opsx:ff快速推进
/opsx:verify验证实现符合规范
/opsx:sync同步状态
/opsx:bulk-archive批量归档
/opsx:onboard新成员引导

七、项目配置

7.1 配置文件(openspec/config.yaml)示例

# openspec/config.yaml
context: |
  团队:后端组
  代码审查:至少 2 人批准
  部署:自动 CI/CD
  监控:Datadog 告警

rules:
  proposal:
    - 包含产品负责人批准
    - 识别依赖团队
  design:
    - 架构审查会议记录
    - 性能基准测试计划

八、文档模板参考

8.1 变更提案(proposal.md

# 变更提案:{功能名称}

## 问题陈述
描述当前存在的问题或需求背景。

## 目标
明确变更要达成的目标(可衡量)。

## 范围
- 包含:需要实现的功能点
- 不包含:明确排除的内容

## 风险与回滚计划
- 潜在风险:列举可能的风险
- 回滚计划:风险发生时的回滚方案

8.2 需求规范(specs/

  • 场景描述、验收标准
  • 推荐使用 Given/When/Then 格式

8.3 设计文档(design.md

  • 架构设计
  • 接口定义
  • 数据设计
  • 安全与性能

8.4 实现任务(tasks.md

# 实现任务:{功能名称}

## 任务列表

### 任务 1:组件开发
- [ ] 1.1 创建主题上下文提供者
  - 文件:src/context/ThemeContext.tsx
  - 测试:src/context/ThemeContext.test.tsx

## 完成标准
- [ ] 所有任务完成
- [ ] 测试通过
- [ ] 代码审查通过

九、命令参考

9.1 Core Profile

命令说明
/opsx:propose [change-name]创建变更提案
/opsx:explore [topic]探索方案
/opsx:apply实现当前任务
/opsx:archive归档已完成变更

9.2 Expanded Profile

命令说明
/opsx:new [change-name]创建变更脚手架
/opsx:continue继续生成文档
/opsx:ff快速推进
/opsx:verify验证实现
/opsx:sync同步状态
/opsx:bulk-archive批量归档
/opsx:onboard新成员引导

十、最佳实践

10.1 文档编写

  • 注入项目上下文,保持简洁
  • AI 初稿后人工审查
  • 使用 Given/When/Then 编写场景
  • 功能完成后及时归档

10.2 工作流选择

场景推荐模式
小型 / 个人项目Core Profile
大型 / 团队协作Expanded Profile

10.3 模型选择

推荐使用高推理能力模型:

  • Claude Opus 4.5
  • GPT-5.2

十一、团队协作

11.1 团队流程

产品经理 → 提案 → 技术负责人审查 → 开发实现 → 测试验证 → 归档

11.2 审查清单

提案审查

  • 问题陈述清晰
  • 目标可衡量
  • 范围明确
  • 风险与回滚方案完整

设计审查

  • 架构合理
  • 接口定义清晰
  • 安全考虑充分
  • 性能目标明确

十二、与 AI 工具集成

12.1 支持工具

支持 20+ 编码助手,包括:Claude Code、Cursor、Windsurf、Codex 等。

12.2 技能文件示例

---
name: openspec-propose
description: Create a new OpenSpec change proposal
---
# OpenSpec Propose Skill
# ... 技能内容

12.3 提示词技巧

类型示例
"基于 openspec/config.yaml 的上下文,为用户认证模块添加 JWT 刷新令牌支持"
"添加登录功能"

十三、更新与维护

13.1 更新 OpenSpec

npm install -g @fission-ai/openspec@latest
openspec update

13.2 版本兼容

版本要求
v1.xNode.js 20.19.0+
v2.xOPSX 工作流

13.3 退出遥测

export OPENSPEC_TELEMETRY=0
export DO_NOT_TRACK=1

十四、故障排查

14.1 常见问题

问题解决方案
技能未被检测运行 openspec update
命令不工作检查版本并重新安装
配置不生效确保文件路径为 openspec/config.yaml

14.2 性能优化(大项目)

openspec sync --incremental
openspec bulk-archive --before 2026-01-01

十五、总结

15.1 核心价值

  • 可预测性:规范驱动,减少 AI 输出偏差
  • 组织性:每个变更独立管理,清晰可追溯
  • 灵活性:无强制流程,按需使用
  • 工具自由:支持主流 AI 编码助手
  • 轻量级:学习成本低,快速上手

15.2 适用场景

适用不适用
新功能开发简单 Bug 修复
重构快速原型
复杂 Bug 修复纯探索性开发
团队协作

15.3 快速上手步骤

# 1. 安装
npm install -g @fission-ai/openspec

# 2. 初始化
openspec init

# 3. 创建第一个变更
/opsx:propose your-feature

加入社区discord.gg/YctCnvvshC


参考资料

资源链接
OpenSpec GitHubgithub.com/Fission-AI/…
官方文档github.com/Fission-AI/…
npm 包www.npmjs.com/package/@fi…
Discord 社区discord.gg/YctCnvvshC
X/Twitterx.com/0xTab

本文基于 OpenSpec v2.x 编写,功能与命令可能随版本更新而变化,请参考官方文档获取最新信息。