《猫猫钓游记》可爱+收集+钓鱼游戏试玩
2026-06-30
2026-07-06 0
上一篇我们聊了 Superpowers——一套重量级的 AI 编程纪律系统。它好是好,但有点重。

如果你只是想"让 AI 别跑偏",不想搞 TDD、子 Agent、心理学那一整套,有没有更轻的选择?
有。OpenSpec 就是。
OpenSpec 是 Fission AI 团队做的开源项目,口号是"最受喜爱的规范框架"。
它解决的核心问题和 Superpowers 一样:让 AI 和你在写代码之前先对齐。但做法完全不同。
Superpowers 是一套纪律系统——你必须按它的流程走。OpenSpec 是一个规范层——你在代码和聊天记录之间加一层文档,AI 和人都看着同一份文档干活。
轻、灵活、不搞瀑布流。
OpenSpec 最有意思的概念是 Delta Spec(增量规范)。
它不要求你一开始就写完整的系统规范。而是每次要改东西时,只写变化的部分:
举个例子,你要给应用加暗黑模式。Delta Spec 长这样:
## ADDED Requirements### 用户可以选择亮色/暗色主题
- GIVEN 用户在任意页面
- WHEN 用户点击主题切换按钮
- THEN 主题立即切换
- AND 偏好跨会话持久保存## MODIFIED Requirements### 会话超时
系统将在 30 分钟不活动后过期会话。
(之前是 60 分钟)
没有长篇大论的需求文档。就是"加了什么、改了什么、删了什么"。
当你完成开发后,执行 archive 操作,这些 Delta Spec 会自动合并进主规范——新增的追加进去,修改的替换旧的,删除的直接移除。主规范始终是系统当前行为的"真实来源"。
这个设计很聪明。它把规范变成了活的文档,而不是写完就扔在角落的废纸。
OpenSpec 的核心工作流只有三步:propose → apply → archive。
第一步:propose
你告诉 AI:/opsx:propose add-dark-mode
AI 自动创建一个变更目录,里面有四个文件:
proposal.md — 为什么要做、做什么specs/ — Delta Spec(加了什么、改了什么、删了什么)design.md — 技术方案tasks.md — 实现清单(带 checkbox)你审一遍,改改,没问题了进下一步。
第二步:apply
你告诉 AI:/opsx:apply
AI 按 tasks.md 里的清单逐项实现。完成一项打一个勾。全部搞定。
第三步:archive
你告诉 AI:/opsx:archive
AI 把 Delta Spec 合并进主规范,变更目录移到 archive 文件夹存档。干干净净,准备下一个功能。
就这么简单。没有六步流程、没有子 Agent、没有心理学。三个人类能理解的步骤。
拿暗黑模式这个例子来对比一下:
Superpowers 的做法:
OpenSpec 的做法:
Superpowers 适合你觉得"我要对输出质量完全放心,让 AI 自己跑两小时"。OpenSpec 适合你觉得"我只想让 AI 别跑偏,过程我自己把控"。
一个重纪律,一个重灵活。
几个具体的点:
不需要装复杂的东西。 npm install -g @fission-ai/openspec@latest,然后 openspec init。完了。
不强制任何工作流。 你想写完 spec 再让 AI 实现?可以。你想先让 AI 干着、边干边改 spec?也可以。没有阶段门控,没有"必须按顺序来"。
支持 20+ AI 助手。 Claude Code、Cursor、Copilot、Codex、Gemini CLI……基本上你能叫出名字的 AI 编程工具它都支持。而且通过斜杠命令触发,不需要特殊的插件市场。
你可以随时改任何产物。 实现到一半发现设计不对?直接改 design.md 和 tasks.md,继续干。不需要"重新走流程"。
不绑定特定 IDE 或模型。 他们的官网上特意写了和 Kiro(AWS 的 AI IDE)的对比——Kiro 锁定自己的 IDE 和 Claude 模型,OpenSpec 用你已经有的工具。
初始化之后,你的项目里会多一个 openspec/ 目录:
openspec/
├── specs/ ← 系统当前行为的真实来源
│ └── auth/spec.md
│ └── payments/spec.md
├── changes/ ← 正在进行的变更
│ └── add-dark-mode/
│ ├── proposal.md
│ ├── design.md
│ ├── tasks.md
│ └── specs/ui/spec.md ← Delta Spec
└── config.yaml
specs/ 是你的系统规范,按领域分目录。changes/ 是当前正在做的变更。archive 后变更目录会移到 changes/archive/ 下面,留着审计。
这个结构有个好处:每个变更都是独立文件夹。你可以同时有多个变更在进行,互不干扰。
OpenSpec 的 spec 用一种类似 BDD(行为驱动开发)的格式写场景:
#### Scenario: 手动切换主题
- GIVEN 用户在任意页面
- WHEN 用户点击主题切换按钮
- THEN 主题立即切换
- AND 偏好跨会话持久保存
GIVEN-WHEN-THEN。这不是随便选的格式——这是从 Cucumber 等测试框架里借来的写法。好处是 AI 读起来清晰,而且离可执行的测试用例只有一步之遥。
你不需要真的跑 BDD 测试,但你的规范天然就有测试的结构。万一将来想加自动化测试,迁移成本很低。
官方列了五条:
翻译成大白话:别搞那么重,能用就行,随时随地可以改。
适合:
可能不太适合:
项目地址: github.com/Fission-AI/OpenSpec
Discord: discord.gg/YctCnvvshC
下期预告: 《Spec Kit:GitHub 官方出品,规范即代码》——同样是规范驱动开发,GitHub 官方是怎么做的?和 OpenSpec 又有什么不同?我们下篇见。