OpenSpec:针对 AI 编码助手的规范驱动开发
OpenSpec 借助基于规范的开发模式,让人和人工智能编程辅助工具协同一致,这样在动手写代码前,就能明确要开发的内容。无需 API 密钥。
为何选 OpenSpec?
人工智能编程辅助工具虽功能强大,但要是需求只存在于聊天记录里,其表现就不太靠谱。OpenSpec 引入了一套轻量级规范工作流程,在实际动手开发前就明确需求意图,给出的成果确定且便于审查。
主要成效如下:
- 人和人工智能相关人员在开工前就规范达成共识。
- 结构化的变更文件夹(包含提案、任务以及规范更新内容),让开发范围清晰明了,还能进行审计。
- 对于提议、进行中或已归档的内容,大家都能看到。
- 能和你正在用的人工智能工具配合使用:有支持的地方就用自定义斜杠命令,其他地方则用上下文规则。
OpenSpec 对比情况(简要)
- 轻量便捷:工作流程简单,无需 API 密钥,设置轻松。
- 侧重既有项目:在非全新起步的项目中效果很好。OpenSpec 把事实依据和提案分开存放:
openspec/specs/ 放的是当前实际情况,openspec/changes/ 存的是提议的更新内容。这样一来,不同功能间的差异清晰,也好管理。
- 变更追踪:提案、任务和规范变动部分都放在一起;一旦提案获批,归档时就会把更新内容合并到规范里。
- 与 spec - kit 和 Kiro 相比:后两者在全新功能开发(从无到有)方面很厉害。而 OpenSpec 在修改已有功能(从有到多)上表现突出,尤其是涉及多个规范的更新。
详细对比可查看 OpenSpec 如何比较 。
运作方式
┌────────────────────┐
│ Draft Change │
│ Proposal │
└────────┬───────────┘
│ share intent with your AI
▼
┌────────────────────┐
│ Review & Align │
│ (edit specs/tasks) │◀──── feedback loop ──────┐
└────────┬───────────┘ │
│ approved plan │
▼ │
┌────────────────────┐ │
│ Implement Tasks │──────────────────────────┘
│ (AI writes code) │
└────────┬───────────┘
│ ship the change
▼
┌────────────────────┐
│ Archive & Update │
│ Specs (source) │
└────────────────────┘
1. Draft a change proposal that captures the spec updates you want.
2. Review the proposal with your AI assistant until everyone agrees.
3. Implement tasks that reference the agreed specs.
4. Archive the change to merge the approved updates back into the source-of-truth specs.

https://github.com/Fission-AI/OpenSpec
https://openspec.dev/