了解了 SDD (Spec-Driven Development 规范驱动开发)之后,让 AI 编程更可控这个想法打动了我。
毕竟执行得好的话,把更多的事情交给AI,少写代码甚至不写代码都是可能的。
所以,陆陆续续试了几款开源工具。今天就先给大家介绍这款简单易用的 OpenSpec。
安装
项目开源地址:github.com/Fission-AI/...
收藏 Star:16.9k
在安装了 nodejs 的机器下,执行如下命令进行安装:
bash
npm install -g @fission-ai/openspec@latest
初始化
安装之后,在项目文件夹中执行如下命令,进行初始化:
bash
openspec init
此时会出现配置界面:

OpenSepc 简易版的,除了支持国外常规的代码编辑器和 CLI 外,也支持国内的 Qoder、Qwen Code、CodeBuddy 及插件 Cline。
如果不是以上工具,比如 Trae,可以在配置时选择 Universal AGENTS.md。
使用
初始化完成后,会在 openspec 下生成几个文档,对于不支持的工具,还会有 AGENT.md 文档。可以通过添加这些文档作为上下文来进行操作。具体步骤可参考配置完成时的指引:

对于支持的工具,则可以使用 /命令 来获得更精确的控制,目前支持如下命令:
/openspec-proposal需求分析及制定方案;/openspec-apply执行任务计划;/openspec-archive需求归档。
每次开发新需求,都可按顺序执行以上三个命令。
执行 openspec-proposal ,输入你的需求后,最后生成的文档有:
- proposal.md 需求文档,将原本简单的需求描述清楚;
- spec.md 规范文档,制定需求边界;
- design.md 详细设计文档,制定具体的技术细节;
- task.md 任务文档,根据设计文档拆分的任务列表。
OpenSpec 比各大 AI 编程工具的 plan 模式多了 proposal.md 和 spec.md 文档。文档更规范,细节更多。每次生成文档都会执行严格验证,保证符合规范要求。 基于此生成的设计方案和任务计划自然更可信。
文档拆分合理,更方便修改。需求修改之后,所有的文档都能根据需求做出相应的调整。 下图是我在 Cursor 中修改需求为"不需要前后端分离",发生的文档部分变更:

执行 /openspec-apply时,后面带上 task.md 文档里具体的任务编号,就可以执行具体的大/小任务了,当然也可以选择执行多个任务或所有任务。自由度高,可控性强。完成后会自动标记进度。
需求完成后,执行 /openspec-archive 归档,文档会移入 openspec 文件夹里的 changes/archive 下,减少对新需求的干扰。
成品展示与个人体验
我用它生成了一个五子棋游戏。

整个开发过程完全没有手动干预代码。即使让它加入了算法,实现人机对决,项目也从纯前端变成了 SSR 项目,最后也能轻松完成。
生成的结果,离我预想的差距不大,加入算法之后,能跟人下几个来回。
更重要的是,OpenSpec 大大加强了开发流程的掌控感。虽说,这个工具仅仅是对 plan 模式的优化,但是也能满足大部分情况下的复杂开发了。
如果你也想在真实项目中尝试 SDD,少写代码/不写代码,把更多的事情交给 AI完成。这款简单易用的 OpenSpec 还是入门首选。