来源:互联网 更新时间:2026-06-19 07:28
公司要求全面用 Claude Code + Deepseek 辅助开发,刚开始大家还挺兴奋——效率确实肉眼可见地提升了。
但好景不长,问题很快浮出水面。
直到接触了 OpenSpec,这几个痛点才算真正有了解法。
OpenSpec 是一套规范驱动开发(Spec-Driven Development)的工作流工具,核心理念很简单:
它通过 4 个命令覆盖了从探索到归档的完整生命周期:
/openspec-explore → 思考、探索,不动代码/openspec-propose → 把想法固化成提案(包含方案、设计、任务)/openspec-apply → 按任务列表实际写代码/openspec-archive → 提案完成后归档OpenSpec 通过 npm 安装,提供了三种方式,可以根据场景灵活选择:
npm install -g @fission-ai/openspec@latest
openspec --version # 验证安装成功,查看版本号
安装完成后,在任何项目中都能直接使用 OpenSpec 命令。
npm install --sa ve-dev @fission-ai/openspec
适合多个项目使用不同版本 OpenSpec 的场景。
npx @fission-ai/openspec init
适合偶尔使用,省去安装和卸载的麻烦。
安装完成后,进入你的项目目录,执行初始化命令:
openspec init
执行后会出现交互式引导,关键一步是选择你使用的 AI 编程工具,主流的工具基本都支持:
选择完成后,按提示重启 IDE,初始化即完成。之后就可以在编程工具中使用 /openspec-* 系列命令了。
项目初始化后,根目录下会生成 openspec/ 目录:
openspec/
├── changes/ # 存放所有提案(change)
│ ├── archive/ # 已归档的提案(初始为空)
│ │ ├── 2026-05-24-gantt-show-all-users/
│ ├── async-export-task/ # 进行中的提案
│ │ ├── specs/ # 当前提案的规格说明
│ │ ├── .openspec.yaml # 提案的基本信息
│ │ ├── design.md # 设计:如何做?前后端各做什么?有什么风险?
│ │ ├── proposal.md # 方案:为什么做?具体需求是什么?可能影响的地方
│ │ └── task.md # 任务:转化为每一个可执行的最小化任务
│ └── specs/ # 规格文档
└── config.yaml # 项目全局配置
这一步是整个方案的灵魂,也是解决「AI 不遵守团队规范」问题的关键所在。
在 config.yaml 的 context 字段中声明开发规范文档路径,AI 在执行 propose 或 apply 时会自动读取并遵循这些规范:
顺便说一句,开发规范也可以让 AI 通读你现有的代码结构,自动生成对应的代码规范,从而保持开发风格统一。
# openspec/config.yaml
context:
前端规范: "core-file/vue-arc.md" # 前端 Vue 开发规范
后端规范: "core-file/ja va-arc.md" # 后端 Ja va 开发规范
project: "./project.md" # 项目提案记录
配置完成后,每次执行 /openspec-propose 或 /openspec-apply,AI 都会自动读取这两份规范文档,确保生成的方案和代码始终符合项目既定标准。
project.md 是一个轻量的提案追踪文件,解决的核心问题就是「AI 失忆」。
它记录当前项目做过哪些设计提案、每个提案的状态:
| 目录 | 日期 | 状态 | 简要说明 |
|---|---|---|---|
| 任务甘特图视图 | 2025-xx-xx | 已完成 | 为任务模块增加甘特图展示 |
| 工时热力图 | 2025-xx-xx | 进行中 | …… |
变更记录表(可选):
| 日期 | 提案名称 | 变更内容 |
|---|---|---|
| 2025-xx-xx | 任务甘特图视图 | 新增移动端适配需求 |
在 config.yaml 中声明 project.md 路径后,AI 每次操作提案时都会自动同步这个文件。
/openspec-explore → /openspec-propose → /openspec-apply → /openspec-archive
思考与探索 → 固化提案 → 编码实现 → 归档清理
这是整个工作流中最关键的环节,也是和「直接让 AI 写代码」最大的区别所在。
当你有一个模糊的需求想法但不确定具体方案时,先用 explore:
/openspec-explore 我想给任务模块加一个消息通知功能,但不确定推送方案怎么选
它会做什么:
等思路成熟了,告诉它「好了,帮我生成提案」,它才会调用 propose 创建正式文档。
将 explore 阶段的想法转化为正式提案文档,包含:
你要做的,就是审核方案内容是否正确,确认无误后再执行。
根据 proposal 中的任务列表逐项实现代码。这个时候 AI 会:
提案全部任务完成后执行归档:
不要跳过 config.yaml 的 context 配置。把开发规范接进去看似多了一步,但它能避免后续大量返工。这是保证 AI 生成代码质量最简单有效的方式。
即使只有一个人开发,project.md 也很有价值:
保持它的简洁性——一张表格就够,不需要复杂格式。
OpenSpec 最大的价值不在自动生成代码,而在 explore 阶段的强制思考。很多 bug 和返工本质上是因为「没想清楚就开始写了」。给 explore 阶段留足时间,让它帮你画对比图、分析现有代码、理清思路,这笔时间投入会在后面连本带利地省回来。
当提案在执行过程中发生范围变更或任务调整时,及时在 project.md 的变更记录表中追加一行。复盘时能清楚理解「为什么最终做出来的和最初想的不一样」。
用了 OpenSpec 之后,团队 AI 开发最明显的变化是:
如果你的团队也在用 AI 辅助开发,遇到类似的问题,不妨试试这套工作流。
《Off Campus》第二季官宣:这对CP还在,但不再是主角
和平精英如何做到压枪稳-和平精英怎样才能压枪稳
客单价碾压宝马奥迪!极氪5月交付新车34377辆:连续4个月双增长
HBO 奇幻剧《龙之家族》第三季定档 6 月 22 日,最终预告片曝光喉道海战
币安Binance虚拟货币交易平台 币安官方APP安卓苹果下载入口
帅气继父网名女生可爱英文(精选100个)
帅到极致的网名女生霸气(精选100个)
DOTA2 TI时隔七年重返上海!门票6月10日开抢,国服享受优先购买!
蒙古上单是什么梗
韦一敏是什么梗
韩漫小少爷网名大全女生(精选100个)
网络热词聊污是什么意思
如何在夸克浏览器中开启网页视频的倍速播放功能?
欧易OKX官方网站直达入口 2026欧易官方App安卓版v7.1.0下载安装
作家助手如何上传自制封面 作家助手如何设置小说的封面
抖音最火沙雕男生网名(精选100个)
阿里发布Qwen3.7-Max大模型,全球第五、国产第一
三角洲行动卡战备怎么弄 三角洲行动卡战备攻略
因空难被判“过失杀人罪” 空客、法航均被顶格处罚22.5万欧元
有寓意的易经网名男生(精选100个)
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc