1. 为什么你需要 OpenSpec?(解决 AI 编程的致命痛点)
目前绝大多数人用 AI 写代码,都是 “聊天驱动(Chat-driven)” 或 “凭感觉编程(Vibe Coding)”:你提个需求,AI 哐哐一顿写。
痛点在于:这会产生严重的**“意图偏移(Intent Deviation)”**。一旦项目变大、或者几天后你开启了一个新对话,AI 就会开始“放飞自我”,制造代码灾难:
- 痛点 1:“鱼的记忆”
:聊到第 20 回合,它把你第 1 回合的架构设定全忘了。 - 痛点 2:“胡乱拆墙”
:为了修一个小 Bug,它居然把你原本好好的另一段代码给删了。 - 痛点 3:“盲盒体验”
:你只说了一句“给我改一下颜色”,它直接丢给你 500 行代码,你根本不知道它在里面塞了什么私货,一运行,整个网页白屏报错。
OpenSpec(Fission-AI/OpenSpec)彻底颠覆了这个模式。它不直接让 AI 写代码,而是强制引入**“先出图纸,签字画押,再盖房子”**的工程学思维(SDD,规范驱动开发)。
它会在你的项目里建立一个专属的 openspec/ 文件夹,充当整个项目的**“永久记忆库”**。AI 必须先写出 Markdown 格式的设计文档和任务清单,等你人工确认(Review)修改无误后,AI 才会照着清单一行行写代码。
2. 三分钟极简接入(彻底告别臃肿的 Rules)
OpenSpec 是一个纯本地的命令行工具(要求 Node.js >= 20.19.0),不需要绑定具体的厂商 API。
第一步:全局安装
npm install -g @fission-ai/openspec@latest第二步:在你的项目根目录初始化
cd your-project
openspec init💡 黑科技预警:初始化时,系统会问你常用哪个 AI 工具。它不仅会在项目下生成 openspec/ 记忆库,还会利用 2026 年最新的技术为你生成专属的 Agent Skills(技能包)!
例如:如果你用 Cursor,它会自动在 .cursor/skills/ 下生成 OpenSpec 的技能文件,再也不用去手写又长又乱的 .cursorrules 配置文件了。
3. 在不同 AI 工具中的“花式玩法”与指令进化(⚠️ 核心必看)
随着版本升级,OpenSpec 的指令从旧版的 /openspec- 进化为了更强大的 /opsx: 体系。不同工具的支持方式略有区别:
| 新标准引领者 | Claude Code | 唯一原生完美支持新版 /opsx 的终端工具。.claude/skills/ 注入原生技能。✅ 核心指令:/opsx:propose, /opsx:apply, /opsx:archive。✅ 独占扩展:支持 /opsx:verify(合并前强制代码校验)和 /opsx:explore(开发前先和代码库头脑风暴)。 |
| 原生 IDE 阵营 | Cursor, Windsurf | 最丝滑的图形化体验。.cursor/skills/)。你可以直接在 Composer 模式里触发。✅ 兼容指令:新旧指令通常都兼容(如 /opsx:propose 或 /openspec-propose)。AI 会自动读写本地 .md 图纸并自主生成代码,全程连着。 |
| 网页对话阵营 | ChatGPT, 网页版 Claude | “外脑”手动模式。openspec create-prompt,生成一段“洗脑咒语”喂给网页版 AI。让它按格式输出图纸后,你手动复制粘贴回本地建文件。代码写完后也需手动搬运,无法享受全自动 Apply。 |
4. “三步走”核心工作流(The Workflow)
接入 OpenSpec 后,你跟 AI 的交互方式将发生质变,不再是直接喊它写代码,而是像“大老板”一样执行以下三个动作(以新版 /opsx 指令为例):
📝 动作一:起草图纸(Propose)
- 你的指令
: /opsx:propose 帮我做个购物车功能 - AI 会做什么
:它绝对不会去碰你的业务代码!它会在 openspec/changes/<需求名>/目录下生成 4 个标准化图纸: proposal.md(需求理解,为什么要做?) specs/(增量规范,说明系统现有逻辑要加什么、删什么、改什么) design.md(技术选型和架构设计) tasks.md(带 [ ]复选框的细化开发清单)- 你的任务
:打开这些 Markdown 文件,像产品经理一样审查它。如果发现它漏了“库存不足的判断”,直接在 .md里打字补上。修改中文图纸,永远比去几百行代码里修 Bug 容易!
🔨 动作二:按图施工(Apply)
- 你的指令
:图纸改好后,输入 /opsx:apply - AI 会做什么
:AI 瞬间化身无情的打工人,严格读取刚才那份 tasks.md,每写完一段代码就勾选一个[x]。因为它有了 Skills 技能树的约束,你完全不用担心它会发散思维乱改别的地方。
🗂️ 动作三:归档入库(Archive)
- 你的指令
:代码跑通后,输入 /opsx:archive - AI 会做什么
:它会把这次修改好的临时图纸,正式合并到整个项目的 openspec/specs/主规范库中。这就相当于给项目的“记忆库”做了一次 Git Commit 备份。
5. 三个实战案例(看看它是怎么救命的)
例子 1:开发新功能(防止 AI 漏想边缘场景)
- 没用 OpenSpec 的 AI
:直接甩给你一段网页代码。你一运行发现能用,但没有“网络断开时的错误提示”。你想让它加,结果它一改,把原来的正常状态也搞崩了。 - 用 OpenSpec 的 AI
:
先给你一份任务清单(tasks.md):[ ] 画UI->[ ] 连数据。
你一看,发现少了防错机制,直接手动敲上一行:[ ] 3. 增加无网络时的 UI 拦截提示。然后再让它Apply,代码一次性完美交付。
例子 2:极度安全的跨文件重构(老项目的救星)
- 没用 OpenSpec 的 AI
:让它“把普通鉴权换成 JWT”,它改了后端,改了拦截器,但忘了改前端请求头。整个系统白屏崩溃,而且改了几十个文件,你连撤销都不知道从哪撤。 - 用 OpenSpec 的 AI
:
它独有的 “增量规范(Delta Specs)” 机制发力。它会在图纸阶段先输出一份对比清单:“我将要修改哪 5 个文件,哪些老代码要抛弃”。等你确认爆炸范围极其精准后,它才会按部就班地动刀。
例子 3:项目停滞了半年,现在想继续开发
- 没用 OpenSpec 的 AI
:聊天历史早过期了。你得把所有代码重新喂给 AI 一遍,AI 还不一定看得懂它半年前写的“面条代码”,新加的功能跟老代码架构严重打架。 - 用 OpenSpec 的 AI
:
哪怕开启一个全新的对话,AI 只要一扫项目里的openspec/specs/(总档案室),瞬间“恢复记忆”:“哦!这个项目半年前定下了严格的 React 路由权限控制规则。” 它马上就会用半年前你们定好的规矩,继续为你发光发热。
💡 你为什么会爱死它?(核心总结)
- 你从“许愿者”变成了“大老板”
:以前 AI 给你代码,你只能祈祷它能跑通;现在,AI 先给你看中文计划书,哪里不对你直接改汉字(比如把“加 2 个按钮”改成“加 3 个”)。 - 写代码前,先当“甲方”
:OpenSpec 的灵魂在于 Propose阶段生成的 Markdown 文件。如果你连看都不看直接无脑下令Apply,那就失去了这个框架 90% 的价值。 - 永远记得归档(Archive)
:每次开发完,一定要执行 Archive。规范即代码(Docs as Code),只要让 openspec/specs/目录永远保持最新,你的 AI 就永远不会产生幻觉!
夜雨聆风