OpenSpec
概述
OpenSpec 是一个开源、轻量级的规范驱动开发(SDD)框架,专为 AI 编程助手而设计,由 Fission AI 开发。它不再将需求散落在转瞬即逝的对话历史中,而是引入结构化的规范层,让人与 AI 在实现开始前先就需求达成共识。该框架的设计理念是流动、迭代而非僵化、瀑布式,适用于任何规模的存量(brownfield)和新建(greenfield)项目。截至 2026 年 4 月,该项目在 GitHub 上已获得 50,100 颗星,并在 MIT 许可证下持续维护。
(更新说明:本页此前将 OpenSpec 描述为"即将推出"且处于"早期开发阶段";截至 v1.3.1,它已是拥有庞大社区的生产级工具。)
核心设计理念
OpenSpec 的三条基本原则:
- 先达成共识,再动手构建 — 规范在实现开始前完成撰写与评审,减少反复修改。
- 保持有序 — 每个变更提案都存放在专属文件夹中,具有一致的制品结构,将上下文从对话历史中分离出来。
- 灵活工作 — 任何制品随时可更新,规范与实现阶段之间没有僵硬的阶段门控。
其维护者将这一理念概括为:"流动而非僵化,迭代而非瀑布,简单而非复杂,为存量项目而生而不仅仅针对新建项目,可从个人项目扩展至企业级。"
制品结构
每个变更提案都会创建一个专属目录,包含四类制品:
| 制品 | 文件 | 用途 |
|---|---|---|
| 提案 | proposal.md |
变更的动机、范围与概览 |
| 规范 | specs/ 目录 |
需求与场景驱动的验收标准 |
| 设计 | design.md |
技术方案与架构决策 |
| 任务 | tasks.md |
供 AI 智能体执行的编号实现清单 |
已完成的提案通过 /opsx:archive 命令移至带时间戳的归档文件夹,保持工作目录整洁。
主要工作流:/opsx 命令
OpenSpec 以斜杠命令作为制品引导开发的主要交互界面:
| 命令 | 操作 |
|---|---|
/opsx:propose <idea> |
生成完整的变更文件夹(提案、规范、设计、任务) |
/opsx:apply |
系统化地执行所有任务——组件创建、样式处理、集成 |
/opsx:archive |
将已完成的变更移至归档;更新规范以供后续迭代使用 |
/opsx:new |
开启一个新的变更提案 |
/opsx:continue |
继续处理现有提案 |
/opsx:ff |
快速推进多个任务 |
/opsx:verify |
对照规范验证实现结果 |
/opsx:bulk-archive |
批量归档多个已完成的变更 |
/opsx:onboard |
将现有项目接入 OpenSpec |
安装与要求
npm install -g @fission-ai/openspec@latest
cd your-project
openspec init
- Node.js:需要 20.19.0 或更高版本
- 包管理器:支持 npm、pnpm、yarn、bun 和 nix
- 语言:TypeScript(占代码库 99.1%)
- 最新版本:v1.3.1(2026 年 4 月 21 日)
- 更新:
openspec update可重新生成智能体指令并激活最新斜杠命令
遥测数据:匿名遥测仅收集命令名称和版本号;在 CI 环境中自动禁用;可通过 OPENSPEC_TELEMETRY=0 退出。
工具集成
OpenSpec 兼容 25+ 款 AI 助手和开发工具,包括 Claude、GitHub Copilot、VS Code、Cursor 等。这种工具无关性是有意为之的设计选择——不将用户锁定在特定 IDE 或模型厂商。
社区 Schema 扩展了基础框架:第三方有主见的工作流包以独立仓库形式分发,支持团队在 OpenSpec 原语之上共享并版本化各自的工作惯例。
与同类工具的对比
| 维度 | OpenSpec | GitHub Spec Kit | AWS Kiro |
|---|---|---|---|
| 重量级 | 轻量,最小化配置 | 较重,依赖 Python | 专有,以 IDE 为中心 |
| 阶段门控 | 无——全程可随时更新 | 严格的阶段结构 | 遵循 Kiro 工作流结构 |
| 工具范围 | 25+ AI 助手,工具无关 | GitHub 原生 | Kiro IDE / AWS 工具链 |
| 项目类型 | 存量 + 新建项目 | 主要面向新建项目 | AWS 集成项目 |
| 开源 | MIT | 不适用 | 专有 |
| 安装方式 | npm install -g |
Python 安装 | IDE 插件 |
OpenSpec 的核心差异化在于:它解决了需求仅存在于对话历史时带来的不可预测性,同时不引入繁重的流程。Thoughtworks 技术雷达(第 34 期)将其列为"New",并指出它"聚焦于规范增量而非完整的前期规范,非常适合存量系统"。
最佳实践
| 挑战 / 领域 | 说明 | 解决方案 / 建议 |
|---|---|---|
| 模型选择 | 并非所有模型都能同等水平地处理规范生成 | 使用高推理能力的模型;推荐 Claude Opus 4.7 和 Codex 5.5 |
| 上下文管理 | 过长的对话历史会降低 AI 规范质量 | 在执行 /opsx:apply 前使用干净的上下文窗口 |
| 架构变更 | 对架构进行随意的 AI 编辑会导致偏离 | 在实现任何架构变更前先提交 OpenSpec 提案 |
| 存量项目接入 | 已有项目缺乏规范基线 | 使用 /opsx:onboard 从现有代码库生成初始规范 |
| 规范健康度 | 若不维护,制品会变得过时 | 归档已完成的提案;在每次迭代前更新规范,再重新提案 |
应用场景
- 功能开发:提案、规范、实现完整闭环,留有完整制品记录
- 存量代码重构:接入已有代码库,为变更区域逐步建立规范
- API 设计:为接口撰写规范,让 AI 根据规范生成实现
- 多会话工作:制品跨会话持久化,为 AI 智能体提供可恢复的上下文
- 团队协作:版本控制中的共享规范文件夹为需求提供单一事实来源
参见
- 智能体 AI 基础
- AGENTS.md 标准
- 模型上下文协议
- Agent2Agent (A2A) 协议
- AG-UI 协议
- AIDLC 工作流(AWS)
- AgentHarness 工程
- 上下文工程
- 生产最佳实践:测试与评测
参考资料
- Fission-AI/OpenSpec GitHub 仓库 — 官方来源,MIT 许可证,v1.3.1
- Thoughtworks 技术雷达第 34 期 — 列为"New";对 OpenSpec、BMAD 与 Kiro 的评估