[AI]SDD流程解析——openSpec从0到1利用AI开发程序

[AI]SDD流程解析------openSpec从0到1利用AI开发程序

OpenSpec = 规范先行 + 变更隔离 + AI 驱动,让 AI 编程从"黑盒"变成"白盒",从"碰运气"变成"可预测"。

1. SDD开发概念

规范驱动开发(Specification-Driven Development,简称SDD)是一种以"规范(Specification)"为核心驱动力的软件开发方法。其核心思想是:在编写任何代码之前,先编写一份结构化的规范文档(Spec),规范成为人类开发者与AI共同的"唯一事实来源(Single Source of Truth)",代码是规范的最终实现产物。

规范驱动开发的理论框架已经完善,但落地实践需要具体的工具支持。目前主流的开源SDD工具有三种:Spec Kit(GitHub出品) 、BMAD(社区开源方法论) 和 OpenSpec(Fission AI出品)。我们今天主要会基于OpenSpec实现SDD开发流程。

2. 环境配置

前置条件:确保已安装 OpenSpec 工具及其依赖工具。例如,包管理工具( npm / yarn / pnpm)、Node.js、Git(可选)、AI工具等,可查阅资料自行安装。

Node.js

官方地址:nodejs.org/zh-cn/downl...

OpenSpec 需要 Node.js 20.19.0 或更高版本。安装后请用 node -v 确认版本

bash 复制代码
# Mac用户
# 使用 Homebrew 安装 或从官网下载 pkg 安装包
brew install node

# Windows用户。访问官网下载即可
https://nodejs.org/zh-cn/download

验证node环境:

bash 复制代码
node -v

openSpec

bash 复制代码
npm install -g @fission-ai/openspec@latest # npm方式安装openspec

pnpm add -g @fission-ai/openspec@latest # pnpm方式安装openspec

yarn global add @fission-ai/openspec@latest # yarn方式安装openspec

AI工具

OpenSpec 本身是一个规范框架,"具体干活的"用自己熟悉喜欢的 AI 编程工具即可。以下列出主流 AI 工具的安装方式,选择一款即可:

bash 复制代码
# Claude Code
npm install -g @anthropic-ai/claude-code 
# Claude Code国内镜像
npm install -g @anthropic-ai/claude-code --registry=https://registry.npmmirror.com

# Cursor‌
irm 'https://cursor.com/install?win32=true' | iex
# Cursor‌国内镜像
npm install -g cursor --registry=https://registry.npmmirror.com

# Cline‌
npm install -g @cline/cli

# codebuddy
npm install -g @tencent-ai/codebuddy-code

# 豆包 需安装python、pip工具
pip install doubao-cli

# 其他 GitHub Copilot、Codeium‌、Replit AI、OpenCode、Windsurf、Kilo Code均可

我这里以腾讯的CodeBuddy为例:

bash 复制代码
# 验证AI Cli工具是否安装成功
codebuddy --version

3. OpenSpec 工作原理:四步闭环

官方命令手册:radebit.github.io/OpenSpec-Do...

四步流程:提出需求 → 检查方案 → 进行开发 → 落地文档


3.1 提出需求:起草变更提案

在开始任何编码工作之前,首先通过 AI 助手或直接创建变更提案,描述你想要实现的功能或修改。提案文档会详细描述功能需求、验收标准和技术约束,作为后续所有工作的依据。

bash 复制代码
# 在 AI 助手中使用命令(以 CodeBuddy 为例)
# /opsx:propose feature-name
/opsx:propose 添加搜索功能

3.2 检查方案:审查与对齐

提案创建完成后,需要进行审查,确保规范符合预期。在这个阶段,你可以和 AI 反复迭代修改提案,直到达成共识。这是保证"做对的事"的关键环节。

bash 复制代码
# 查看变更详情
openspec show feature-name

# 验证规范格式是否正确
openspec validate feature-name

3.3 进行开发:实施任务

提案审查通过后,开始正式实施,AI 会根据提案中的规范自动生成代码,并遵循所有约定的约束条件。

bash 复制代码
# 开始实施(AI 对话命令)
/opsx:apply feature-name

3.4 落地文档:归档与更新规范

功能实施完成后,将变更归档并更新主规范。归档后,变更内容会合并到主规范中,成为项目知识库的一部分,供后续开发参考。

bash 复制代码
# 归档完成的变更
/opsx:archive

4. 项目实战

接下来,我们以"构建一个待办事项管理应用(Todo List)"为例,完整走一遍 OpenSpec + AI 开发的流程。这个项目虽小,但涵盖了前后端分离、RESTful API设计、数据持久化等企业级开发的核心要素。

企业级的大项目,本质也是一个个细小功能开发累计而成。

标准文档结构:

bash 复制代码
my-project/
├── openspec/
│   ├── specs/                     # 系统行为规范库(长期)
│   ├── changes/                   # 变更根目录
│   │   ├── <change-name>/         # 进行中的变更
│   │   │   ├── proposal.md        # 提案文档
│   │   │   ├── specs/             # 增量规范
│   │   │   ├── design.md          # 技术设计(可选)
│   │   │   └── tasks.md           # 实现任务清单
│   │   └── archive/               # 已归档变更(自动生成)
│   │       └── <change-name>/     # 归档后的变更
│   └── config.yaml                # 项目配置
└── AGENTS.md / CLAUDE.md          # AI 助手配置文件
  1. 创建工作目录并进入
bash 复制代码
# 1. 手动创建文件夹作为工作目录
mkdir /Users/ziyi/CodeBuddy/todo-app
# 2. 打开bash并进入到工作目录,如:
cd /Users/ziyi/CodeBuddy/todo-app
  1. 执行下面命令完成初始化,选择对应AI工具(CLI模式),我这里选择CodeBuddy,按下空格,然后回车即可
bash 复制代码
# 初始化AI框架,选择AI工具,如 CodeBuddy Code,如下图
openspec init


接着就会发现本地工作目录多了一个openspec文件夹:

  1. 接着打开AI cli 工具
bash 复制代码
# 我这里以CodeBuddy为例
codebuddy
  1. 输入下面命令:
bash 复制代码
# 方式一:设置好对应架构选型
/opsx:propose 开发一个待办事项管理应用,功能包括:
1. 前端页面展示所有待办任务
2. 可以添加新任务
3. 可以标记任务为已完成
4. 可以删除任务
5. 后端提供 RESTful API,数据存储在 SQLite 数据库中
6. 前端使用 HTML + CSS + 原生 JavaScript,不依赖复杂框架

# 方式二:只告诉AI需求,让AI自己设计
/opsx:propose 开发一个待办事项管理应用

然后选择2,让AI不再询问,直接自己干就行

观察本地AI生成的相关文档逻辑是否有不满足要求的:

  1. 开始实施: /opsx:apply (按上述设计实施,如果不满足要求,可先让ai更改)
bash 复制代码
# 执行下面命令,让AI开始实现
/opsx:apply

接下来就是🔥烧 token 的时候了,等AI一步步干活(为了方便,可以统一让AI自己操作,不用询问)。

  1. AI最后会告诉你干了啥,最后自己可以体验下功能

最终效果:可以看到正常访问并且功能也正常。

  1. 整体验证没问题,就可以执行归档命令:/opsx:archive

然后根据自己需求,确定是否要同步后归档(我这边选择同步后归档)

bash 复制代码
# 执行下面命令归档即可
/opsx:archive


最后效果:

PS:如果发现实现有问题,或者功能有缺陷,直接让AI修复即可

  1. 后续如果有新需求,直接重新提即可
bash 复制代码
/opsx:propose 修改待办事项应用设计:
1. 增加任务优先级字段(高、中、低)
2. 支持按优先级排序显示
  1. 后续的跟之前一样,如果AI规划的没问题,就执行/opsx:apply 让AI实现;最后如果体验没问题就执行/opsx:archive归档即可

效果:

执行归档:

  1. 如果有其他新项目需要开发,只需要新开命令行,进入对应目录,初始化openSpec。后续就跟之前流程一致了
bash 复制代码
# 进入并初始化 chat-room
mkdir /Users/ziyi/CodeBuddy/chat-room
cd /Users/ziyi/CodeBuddy/chat-room
openspec init

最终效果:

相关推荐
静待雨落2 小时前
使用langchain来调用AI大模型
ai编程
静待雨落2 小时前
使用openai初次调用Ai
ai编程
ServBay4 小时前
Google I/O 2026 Antigravity 更新与 SDK
后端·ai编程·google io
IT乐手4 小时前
Hermes + Qwen 的配置方法
ai编程
鱼樱前端4 小时前
我做了一个不止有基础组件的 Vue 3 UI 库,还把 AI 组件也做进去了
前端·vue.js·ai编程
靠谱者也4 小时前
Agent Loop 越做越像 RPA:浏览器自动化里的五个反直觉
agent·ai编程
沸点小助手5 小时前
「技术er迷惑行为大赏 & 520不拘形式,自在过节」获奖名单公示|本周互动话题上新🎊
openai·ai编程·沸点
guyoung5 小时前
BoxAgnts介绍(1)——开箱即用(Out-Of-The-Box)
rust·agent·ai编程
Keano Reurink6 小时前
SEO数据管道:用Airflow搭建自动化工作流
运维·人工智能·爬虫·搜索引擎·自动化·ai编程·seo