AI 编程更可控,SDD 开源工具之 OpenSpec

637 阅读3分钟

了解了 SDD (Spec-Driven Development 规范驱动开发)之后,让 AI 编程更可控这个想法打动了我。

毕竟执行得好的话,把更多的事情交给AI,少写代码甚至不写代码都是可能的

所以,陆陆续续试了几款开源工具。今天就先给大家介绍这款简单易用的 OpenSpec。

安装

项目开源地址:github.com/Fission-AI/…

收藏 Star:16.9k

在安装了 nodejs 的机器下,执行如下命令进行安装:

npm install -g @fission-ai/openspec@latest

初始化

安装之后,在项目文件夹中执行如下命令,进行初始化:

openspec init

此时会出现配置界面:

Spec-kit-SDD-openspec.png

OpenSepc 简易版的,除了支持国外常规的代码编辑器和 CLI 外,也支持国内的 Qoder、Qwen Code、CodeBuddy 及插件 Cline。

如果不是以上工具,比如 Trae,可以在配置时选择 Universal AGENTS.md。

使用

初始化完成后,会在 openspec 下生成几个文档,对于不支持的工具,还会有 AGENT.md 文档。可以通过添加这些文档作为上下文来进行操作。具体步骤可参考配置完成时的指引:

Spec-kit-SDD-openspec-2.png

对于支持的工具,则可以使用 /命令 来获得更精确的控制,目前支持如下命令:

  • /openspec-proposal 需求分析及制定方案;
  • /openspec-apply 执行任务计划;
  • /openspec-archive 需求归档。

每次开发新需求,都可按顺序执行以上三个命令。

执行 openspec-proposal ,输入你的需求后,最后生成的文档有:

  • proposal.md 需求文档,将原本简单的需求描述清楚;
  • spec.md 规范文档,制定需求边界;
  • design.md 详细设计文档,制定具体的技术细节;
  • task.md 任务文档,根据设计文档拆分的任务列表。

OpenSpec 比各大 AI 编程工具的 plan 模式多了 proposal.md 和 spec.md 文档。文档更规范,细节更多。每次生成文档都会执行严格验证,保证符合规范要求。 基于此生成的设计方案和任务计划自然更可信。

文档拆分合理,更方便修改。需求修改之后,所有的文档都能根据需求做出相应的调整。 下图是我在 Cursor 中修改需求为“不需要前后端分离”,发生的文档部分变更:

image.png

执行 /openspec-apply时,后面带上 task.md 文档里具体的任务编号,就可以执行具体的大/小任务了,当然也可以选择执行多个任务或所有任务。自由度高,可控性强。完成后会自动标记进度。

需求完成后,执行 /openspec-archive 归档,文档会移入 openspec 文件夹里的 changes/archive 下,减少对新需求的干扰。

成品展示与个人体验

我用它生成了一个五子棋游戏。

Spec-kit-SDD-openSpec-五子棋.png

整个开发过程完全没有手动干预代码。即使让它加入了算法,实现人机对决,项目也从纯前端变成了 SSR 项目,最后也能轻松完成。

生成的结果,离我预想的差距不大,加入算法之后,能跟人下几个来回。

更重要的是,OpenSpec 大大加强了开发流程的掌控感。虽说,这个工具仅仅是对 plan 模式的优化,但是也能满足大部分情况下的复杂开发了。

如果你也想在真实项目中尝试 SDD,少写代码/不写代码,把更多的事情交给 AI完成。这款简单易用的 OpenSpec 还是入门首选。