跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
TypeScriptNode.jsAI

OpenSpec 实战:用规范驱动开发破解 AI 编程协作难题

OpenSpec 是一种规范驱动的开源开发框架,旨在解决 AI 编程助手在团队协作和复杂项目中的指令歧义与上下文限制问题。通过共识规范、AI 执行与自动验证的闭环流程,该框架帮助团队明确需求并提升代码可维护性。实战演示展示了如何在现有 Node.js 项目中集成 OpenSpec,利用 init 初始化规范目录,通过 proposal 命令拆解需求生成任务清单,使用 apply 命令约束 AI 执行代码变更,最后通过 archive 归档变更历史。结合人工审查与接口测试,验证了新增模型功能的有效性。此方案有效降低了 AI 辅助开发的管理成本,适用于旧项目升级及多人协作场景。

锁机制发布于 2026/4/10更新于 2026/9/1059 浏览
OpenSpec 实战:用规范驱动开发破解 AI 编程协作难题

1. 前言

OpenSpec 是一种**规范驱动(spec‑driven)**的开源开发框架,主要面向 AI 编程助手(如 Claude Code、GitHub Copilot、Cursor 等)而设计。它通过在「共识规范 → AI 执行 → 自动验证」的闭环流程,帮助团队在 AI 参与的代码开发过程中明确需求、降低指令歧义、提升代码可追溯性与可维护性。

核心理念与工作流
  1. 共识规范(Spec)
    • 先由人类与 AI 共同撰写结构化的需求规范(包括功能描述、输入/输出、边界条件、测试用例等)。
  2. AI 执行
    • AI 根据规范自动生成代码、文档或变更提案。
  3. 自动验证
    • 框架内置的验证器会依据规范中的测试用例对生成的代码进行自动化检查,确保实现符合预期。
  4. 迭代与归档
    • 通过审查、计划、实现、归档等步骤形成完整的变更历史,便于后续审计与迭代。
适用场景
  1. 新项目
  2. 功能增强(迭代项目)
  3. 多人协作

该项目最有价值的场景是功能增强和多人协助开发,尤其是大型项目很多都是基于原有项目扩展和改造。之前由于模型上下文的问题导致很多企业级项目以及一些老旧项目升级改造 AI 就变得难以搞定。另外 AI 开发的项目多人协作也是比较难搞定的。这个项目刚好解决这两个问题。

2. 项目实战

被修改项目下载

我们先下载一个开源项目,下面拿 jimeng-free-api-all 项目作为案例介绍。

使用 git clone 这个项目:

git clone https://github.com/zhizinan1997/jimeng-free-api-all 

完成代码下载后,使用 VSCode 打开这个项目。

安装 OpenSpec

我们在终端命令行输入下面命令安装 OpenSpec:

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

输入下面命令确保安装成功:

openspec --version 

如果安装失败出现错误(一般是 Windows 环境),可以切换使用 pnpm 命令安装:

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

按上述方式确保 OpenSpec 安装完成。

openspec init

这个目的主要是在项目中创建一个新的 openspec/ 目录结构,方便后面基于此来控制项目。

openspec init 

OpenSpec 支持多种开发工具,这里使用 Claude Code。

这个文件夹主要有以下几个文件和内容:

openspec/
├── specs/ # 规范目录(存放各类正式规范文档)
│   └── auth/ # 认证相关规范子目录
│       └── spec.md # 当前认证规范文档(若存在)
└── changes/ # 变更目录(存放规范的修改提案与增量内容)
    └── add-2fa/ # 新增双因素认证(2FA)的变更子目录(由 AI 创建完整结构)
        ├── proposal.md # 变更提案文档(说明为何修改、修改内容)
        ├── tasks.md # 实施任务清单(记录需完成的具体开发/修改任务)
        ├── design.md # 技术设计文档(技术方案决策,可选)
        └── specs/ # 变更对应的规范增量目录
            └── auth/ # 变更涉及的认证规范子目录
                └── spec.md # 规范增量文档(仅展示新增/修改的内容,即差异部分)

我们看到 OpenSpec 根目录下有 AGENTS.md、project.md。这就是项目修改变更的依据,有了它,AI 就不会乱输入,尤其是对于变更项目这个是比较友好的。

AGENTS.md、project.md 默认的这 2 个文件是英文的,我们把它翻译成中文。

中文转换

我们输入下面提示词:

请帮我把 openspec 文件夹下 AGENTS.md、project.md 内容翻译成中文 

需求收集整理

OpenSpec 主要的流程如下:

  1. 起草一份变更提案,明确你期望的规范更新内容。
  2. 与 AI 助手一同审核该提案,直至各方达成一致。
  3. 执行任务,过程中需参考已达成共识的规范文档。
  4. 对该变更进行归档,将已批准的更新内容合并回基准规范文档中。

这个我们会用到比较关键的三个命令:/openspec:proposal、/openspec:apply、/openspec:archive。

那么我们先执行第一个,简单来说就是你把需求给它,它来帮你做拆解详细的计划任务。

接下来我们需要简单交代一下 jimeng-free-api-all 项目,这个项目是即梦文生图、文生视频的接口是基于 3.0 的。目前最新的即梦支持 4.0 了。所以我们需要实现即梦 4.0 文生图,图生图,文生视频等功能。这里我们还依赖一下其他的资料。关于这块资料我们就不做详细展开了。新增加的 2 个文件是 curl4.txt、curl4.md。

提示词如下:

/openespec:proposal 请基于 curl4.md 内容以及 jimeng-free-api-all\src\api\controllers\images.ts 代码,新增补充基于 high_aes_general_v40 模型功能,请修改 images.ts 实现 high_aes_general_v40 模型能力。请不要先代码,先把需求整理好,结合原来的项目梳理项目新增的变革需求。 

AI 会根据上面的需求生成需求草案和计划,包括生成的 tasks.md 文档。这样 AI 就不会乱写一通,我们在后面执行的时候 /openspec:apply AI 就会根据这个文档的约束来实现功能了。此外如果碰到功能点没有写完或者是团队协作开发,这种方式就比较友好。我们可以把刚才生成的文档提交代码仓库(GitLab、GitHub 等)接着后面写。

代码开发执行

接下来我们在使用 /openspec:apply 执行上面的功能新增。

接下来 AI 就会延续之前的 tasks.md 文档实现代码编写和测试等相关工作。

经过一段时间的运行后,tasks.md 里面的 12 个子任务已经执行完成,我们看一下执行后的结果。

我们查看一下 tasks.md:

## 1. 实施 high_aes_general_v40 模型支持
- [x] 1.1 在 MODEL_MAP 中添加 jimeng-4.0 模型映射
- [x] 1.2 更新 DEFAULT_MODEL 配置(如需要)
- [x] 1.3 验证模型参数配置正确性
## 2. 优化图片生成参数支持
- [x] 2.1 支持更高的分辨率配置(2560x1440)
- [x] 2.2 确保与现有参数的兼容性
- [x] 2.3 添加分辨率比例验证
## 3. 增强批量生成能力
- [x] 3.1 优化 generateImages 函数支持批量生成
- [x] 3.2 确保与现有 API 接口的兼容性
- [x] 3.3 添加错误处理和日志记录
## 4. 测试和验证
- [x] 4.1 单元测试:模型映射功能
- [x] 4.2 集成测试:图片生成流程
- [x] 4.3 验证与 curl4.md 中描述的参数一致性 

看到 12 个任务已经执行完成了。

人工验证

接下来我们先人工方式审查一下它修改的代码,的确是修改了代码。

我们使用 Apifox 对这个接口进行验证测试。执行下面命令启动程序:

npm install
npm run dev

Apifox 测试接口成功返回请求信息。

我们在即梦平台可以看到这个请求。这个时候新增修改的功能就初步完成了。当然这个后面还有其他功能扩展,这里就不做详细展开。我们在回到需求整理再执行即可。

项目归档

上面的新增加的需求变更已经完成。接下来我们需要执行第三个命令 /openspec:archive,对执行新增功能进行归档操作方便后面修改新功能对归档文档进行阅读。

我们同样执行下面命令:

/openespec:archive 

AI 执行完成后我们看到下面归档信息。这个时候我们在 openspec/changes 文件夹下看到新增加的需求已经归档了。

本次新增需求就开发完成了。上面的文档信息和修改的代码提交代码仓库,其他小伙伴也可以依据已经修改的功能继续开发新的功能点了。

3. 总结

今天主要带大家了解并实现了 OpenSpec 框架的安装配置与实战应用完整流程,该流程以规范驱动开发为核心,结合 jimeng-free-api-all 项目改造场景,通过 OpenSpec 提供的规范管理、AI 执行与自动验证能力,搭配命令行工具的流程管控能力,形成了一套从需求定义到功能落地的规范化开发解决方案。

通过这套实践方案,团队能够高效应对 AI 参与开发时的协作难题 —— 借助简单的安装配置步骤(包括 OpenSpec 全局安装、项目初始化、规范文档生成),无需担心模型上下文限制或需求传递歧义,就能有序完成旧项目升级(如本次即梦 4.0 模型的功能扩展)。无论是基础的代码生成、测试用例编写,还是通过变更提案实现的多人协作、需求追溯,都能通过 proposal/apply/archive 等简洁命令完成,极大降低了 AI 辅助开发中的管理成本。在实际验证中,OpenSpec 能够稳定支撑规范与代码的一致性,特别是通过 tasks.md 任务清单和自动化验证机制,有效避免了 AI 生成代码的随机性,且适配性远优于传统的直接 prompt 开发模式。同时,方案具备良好的扩展性 —— 小伙伴们可以基于此扩展更多团队协作场景,如迭代式需求拆分、跨团队规范对齐、历史变更审计等,进一步发挥规范驱动开发在大型项目中的应用价值。

目录

  1. 1. 前言
  2. 核心理念与工作流
  3. 适用场景
  4. 2. 项目实战
  5. 被修改项目下载
  6. 安装 OpenSpec
  7. openspec init
  8. 中文转换
  9. 需求收集整理
  10. 代码开发执行
  11. 1. 实施 highaesgeneral_v40 模型支持
  12. 2. 优化图片生成参数支持
  13. 3. 增强批量生成能力
  14. 4. 测试和验证
  15. 人工验证
  16. 项目归档
  17. 3. 总结

更多推荐文章

查看全部
  • 微软 Copilot Cowork 解析:基于 Kotlin 构建 AI Agent
  • 基于 SpringBoot 的家具商城管理系统设计与实现
  • 基于扣子平台搭建多功能 AI 女友机器人教程
  • WhisperLiveKit 实战指南:从本地部署到生产环境
  • 单点登录(SSO)架构设计与核心原理解析
  • 鸿蒙应用运维监控、生态运营与变现实战
  • LangGraph 工具调用实战:实现 ReAct 搜索机器人
  • C++ 容器适配器:优先级队列与反向迭代器实现原理
  • ELK 日志分析方案为何如此火热?
  • 深圳 2015 年 3 月软件开发人员薪资水平分析
  • AIGC时代Kubernetes企业级云原生运维实战:智能重构与深度实践指南
  • 深入理解 YOLOv11 算法核心模块与结构
  • 前端高频场景面试题与实战解答
  • 基于深度学习的无人机洪水图像分割与水量估算
  • 程序员 Python 副业方向与接单实战建议
  • 线性代数与空间解析几何在几何体数据结构中的应用
  • C++ 笔试刷题:模拟、动态规划与回文判断
  • AI产品经理必备技能与职业发展路径指南
  • 无人机硬件组装与核心部件选型指南
  • Spring Web 模块核心概念与 RESTful API 调用详解

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online