news 2026/7/23 2:35:59

基于 OpenSpec AI 编程落地案例实践

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于 OpenSpec AI 编程落地案例实践

一、一句话概括

OpenSpec 是专门配合 AI 写代码的轻量开源工具,核心作用:先定清楚要做什么,再让 AI 写代码,杜绝 “你说东,AI 写西” 的返工问题,属于「规范驱动开发(SDD)」工具链。

二、它解决什么最烦人的痛点?

平时用 Cursor、Claude Code、Codex 等写代码,普遍踩坑:

  • 需求只存在聊天框里,AI 记不全,写出来功能跑偏;
  • 改一次需求,AI 乱改一堆无关代码,越修 bug 越多;
  • 做完的功能没有书面记录,过几天忘了当初要实现的逻辑;
  • 多人协作时,每个人对需求理解不一样,代码冲突严重。

OpenSpec 相当于给 AI 套上缰绳:所有需求、方案、任务全部写成标准化文档,AI 严格按文档干活,不能自由发挥。

三、它的核心工作流程(4 步超简单)

1.提案(proposal):说清楚「为什么要做这个功能」

你输入一句话需求(比如 “给后台加暗黑模式切换”),一条命令自动生成提案文档,写清业务目的、使用场景。

2.定规范 + 拆任务(spec + tasks):明确「做什么、怎么做、分几步」

AI 自动产出两份文件:

  • spec.md:硬性规范(页面长啥样、接口字段、交互逻辑、边界限制,白纸黑字);
  • tasks.md:可勾选的待办清单,把大功能拆成一个个小编码任务。 这一步你可以反复修改、核对,人和 AI 完全达成共识再往下走。

3.AI 执行代码(apply)

确认规范没问题后,执行命令,AI 只按照 tasks 清单逐条写代码,不会额外乱加功能。

4.归档(archive)

功能开发完成,把整套规范归档到项目文件夹,永久留存,后续迭代、改 bug、新人接手都能直接看原始需求,文档和代码永远同步。

四、关键优势(普通人能看懂)

  • 轻量无门槛 npm

    一行命令就能安装,不用复杂配置、不用填任何 API 密钥,小项目、个人开发者都能用,30 分钟就能上手。

  • 兼容绝大多数 AI 编码工具

    原生适配 Claude Code、Cursor、GitHub Copilot、Windsurf 等 20 多种 AI 编程助手,不用换你现在的编辑器。

  • 变更可追溯、可审计

    每次新增功能单独存一套文档,能清晰看到:新增了什么需求、修改了哪些规则、删掉了哪些逻辑,线上出问题方便复盘。

  • 不挑老项目

    不用推翻现有代码重构,直接在已有项目上迭代新功能,不像重型规范工具只能从零搭建项目。

五、举个生活化类比

把写软件比作装修房子:

  • 不用 OpenSpec:你口头跟装修师傅(AI)说 “客厅装灯带”,师傅自由发挥,尺寸、灯光、走线全凭理解,装完大概率不合心意,反复拆改;
  • 用 OpenSpec:先出书面装修方案(spec):灯带长度、色温、开关位置、布线要求,再拆分施工步骤(tasks),确认图纸没问题再动工,师傅严格按图纸施工,几乎不会出错。

接下来根据上面的介绍,手把手带着大家基于 OpenSpect 开发项目!

六、阶段一:完成项目的初始化

1.全局安装 OpenSpec

打开 GitHub 地址:https://github.com/Fission-AI/OpenSpec

在 AI 编程工具里执行:

帮我全局安装 OpenSpec 的最新版本。github 地址是:https://github.com/Fission-AI/OpenSpec , 使用 npm 的安装方式, 注意:你在安装完需要确认 nodejs 的版本必须大于等于 20.19.0, 如果版本不够请提醒我升级。

2.创建项目目录

创建好后用 Cursor 打开。

3.创建前端项目脚手架

帮我先创建一个 React + Vite + Typescript 的项目,项目名叫做 my-website, 创建完成后,安装配置 Tailwind Css v4, 然后确保项目可以正常启动,通过 npm run dev 启动后,告诉我启动地址!

4.项目纳入OpenSpec 管理

使用 CLI 工具做项目初始化

按 Enter 选择工具。

选择你当前使用的 AI 编程工具,我们使用的是 Cursor。(空格用来选住)

初始化好 OpenSpec 的相关文件

5.修改 config.yaml 文件

请打开 openspec/config.yaml,帮我优化它的内容。 我需要的配置: schema: spec-driven context: | 项目:个人品牌站(Personal Website) 技术栈:React 19 + Vite 7 + TypeScript + Tailwind CSS v4 部署:GitHub Pages,base path 为 /my-website/ 设计风格:科技感,动态粒子风,支持亮/暗切换 性能:首屏加载 < 2 秒,所有图片使用 lazy loading rules: proposal: - 必须明确写出 out-of-scope(不做什么) - 必须评估对现有功能的影响 specs: - 使用 Given/When/Then 格式描述交互行为 - 每个 spec 必须包含至少一个边界/异常场景 tasks: - 每个任务粒度不超过 30 分钟 - 按 Phase 分组,每个 Phase 结束后等待我确认 Languages: | Generate all artifacts in Simplified Chinese. Use English for code-related terms.

6.创建项目宪法

如果是 Claude Code 那就创建 CLAUDE.md 文件,如果是 Cursor,就用 rules 文件。

根据 Cursor 的规范要求,帮我创建一个 Rule,包含内容如下: # OpenSpec 工作流规则 ## 核心纪律 1. **先读后做**:执行任何 OpenSpec 命令前,先读取: - openspec/config.yaml(项目约束) - openspec/specs/ 目录下相关域的规范(当前系统行为) - openspec/changes/ 当前活跃的变更(如果存在) 2. **不要猜测需求**:如果 spec 中没有明确定义某个行为,问我,不要自行补充。 3. **out-of-scope 是红线**:proposal.md 中标注为 out-of-scope 的功能,严禁实现。 ## Apply 阶段规则 1. 每完成一个 tasks.md 中的 Phase,停下来。 2. 总结当前阶段的代码变更(改了什么文件、为什么这么改)。 3. 等待我 review 并确认后,再继续下一 Phase。 4. 严禁一次性实现所有任务。 ## 代码标准 - 所有组件使用 TypeScript + 函数式组件 - 样式全部使用 Tailwind CSS,禁止内联 style - 支持暗色模式(dark: 前缀) - 所有图片使用 lazy loading - 组件文件名使用 PascalCase

运行完,Cursor 会产生一个 rule 文件

模式选择:Always Apply

七、阶段二:开发品牌站的 Hero-Section

1.Explore 交互一下,打算怎么干

/explore 我要给个人品牌站添加 hero section, 想法是: - 全屏高度的 hero ,可以居中显示我的名字、职业 还有一句话介绍我 -CTA 按钮,可以跳转我的项目 - 背景色是动态科技粒子感的渐变色 - 支持 明亮/暗黑模式切换 你帮我想一下:你建议的技术方案 有没有遗漏的边界情况

用了 explore 后,Cursor 会了解一下当前的项目,然后给出方案建议。

2.确定 Changes 1 的提案

/opsx:propose add-hero-seciton 现在为我的个人品牌站添加 Hero Seciton - 全屏高度的 hero ,可以居中显示我的名字、职业 还有一句话介绍我 - 背景:CSS 渐变底 + Canvas 粒子叠加 - 支持 明亮/暗黑模式切换 out-of-scope(严禁开发): - 不做动画效果 - 不做导航栏 - 不做后端的API

生成四个制品

查看文件,我们目前是属于新增需求

3.开始分阶段执行 Change 1 的 代码生成

我们看一下 tasks.md 文件,OpenSpec 帮我们规范的流程:

## Phase 1: 基础配置与主题 Token > Phase 1 完成后暂停,等待 review 确认再继续。 - [ ] 1.1 创建 `src/content/hero.ts`,定义 `name` / `role` / `tagline` 占位文案 - [ ] 1.2 在 `src/index.css` 添加 `@theme` 明暗配色 token(Hero 渐变与文字色) - [ ] 1.3 在 `index.html` `<head>` 添加防 FOUC 主题初始化内联脚本 ## Phase 2: 明暗模式系统 > Phase 2 完成后暂停,等待 review 确认再继续。 - [ ] 2.1 创建 `src/hooks/useTheme.ts`(读取/写入 localStorage,同步 `<html>` class,含 try/catch 回退) - [ ] 2.2 创建 `src/components/ThemeToggle.tsx`(fixed 右上角、aria-label、键盘可操作) - [ ] 2.3 验证主题切换:light ↔ dark,刷新后偏好保持,localStorage 禁用时不崩溃 ## Phase 3: Hero 组件 > Phase 3 完成后暂停,等待 review 确认再继续。 - [ ] 3.1 创建 `src/components/ParticleBackground.tsx`(Canvas 静态粒子,ResizeObserver 重绘,aria-hidden,无 RAF) - [ ] 3.2 创建 `src/components/HeroContent.tsx`(h1 姓名 + 职业 + 介绍,Tailwind 居中排版,长文案换行) - [ ] 3.3 创建 `src/components/HeroSection.tsx`(min-h-dvh、CSS 渐变底层 + ParticleBackground + HeroContent 层级) ## Phase 4: 集成与验收 > Phase 4 完成后暂停,等待 review 确认再继续。 - [ ] 4.1 更新 `src/App.tsx`:挂载 HeroSection + ThemeToggle,移除占位页内容 - [ ] 4.2 运行 `npm run build` 确认 TypeScript 与构建无错误 - [ ] 4.3 本地 `npm run dev` 验收:全屏 Hero、双层背景、明暗切换、320px 窄屏、键盘 Tab 到 Toggle

按照上面的规划生成代码:

opsx:apply 请开始实现 add-hero-seciton 的变更 注意:严格按照 @my-website/.cursor/rules/openspec-workflow.mdc phase 就停下来等我确认后再继续!

完成的任务会打 x

4.接下来不要直接归档,先去校验

针对 Change 1 的apply 结果进行三维校验

opsx:verify 请你对 add-hero-seciton 的变更进行三维验证: 1. 完整性:所有任务是否完成,所有的需求是否有读经的代码实现 2. 正确性:是否匹配 Spec 的规格意图,是否正确处理边界条件 3. 一致性: 我的 design.md 中的技术方案和技术细节是否逐一在代码中实现,以及命名方式是否一致

修复一下

5.归档

opsx:archive 请你给我归档 add-hero-seciton 的变更 归档完成后,请向我介绍OpenSpec结构的变化情况(对比归档前,哪些文件被更新了)

八、阶段三:开发品牌站的 navigation

1.提需求

可以按照前面的流程先进行探索,我们这儿就不探索了,直接提需求。

/opsx:propose add-navigation 现在为我的个人品牌站添加顶部的导航栏 - 固定在页面的顶部 - 左侧可以显示个人的logo 或者名字 - 右侧的导航栏包括:首页、项目、联系我 - 点击到导航栏中的链接可以平滑的切换到对应的 section - 切换的时候添加一下背景模糊的效果 out-of-scope(严禁开发): - 不做搜索 - 不做多级的下拉菜单 - 不做用户登陆和注册

2.开发

请展示出 add-navigation 生成的所有制品,让我进行审查, 当我审查通过后, 开始分阶段的执行 apply,每完成一个 phase 就停下来等我确认后再继续!

3.校验

三维校验

opsx:verify 请你对 add-navigation 的变更进行三维验证: 1. 完整性:所有任务是否完成,所有的需求是否有读经的代码实现 2. 正确性:是否匹配 Spec的规格意图,是否正确处理边界条件 3. 一致性: 我的design.md 中的技术方案和技术细节是否逐一在代码中实现,以及命名方式是否一致

4.归档

opsx:archive 请你给我归档 add-navigation 的变更 归档完成后,请向我介绍 OpenSpec 结构的变化情况(对比归档前,哪些文件被更新了)

九、阶段四:体验一下 OpenSpec Delta Spec 的功能标记

1.Change 3 提案并测试修改的功能标记

/opsx:propose add-project-section 现在为我的个人品牌站添加项目的展示区 - 显示在Hero Section 的下方 - 卡片式的布局,每个项目卡片的内容包括:项目的截图,项目的名称,项目的简介,Github链接 - 最少展示4个项目 - 特效:鼠标悬浮时有微特效 同时呢,你要进行功能修改: - Hero Section 的 CTA 按钮的 锚点现在要跳转到这个新的 Section out-of-scope(严禁开发): - 项目的详情页 - 项目搜索功能

2.一次性完成 change3 的所有需求

请展示出 add-project-section 生成的所有制品,让我进行审查, 当我审查通过后, 开始分阶段的执行 apply, 同时:请你对 add-project-section 的变更进行三维验证: 1. 完整性:所有任务是否完成,所有的需求是否有读经的代码实现 2. 正确性:是否匹配 Spec的规格意图,是否正确处理边界条件 3. 一致性: 我的design.md 中的技术方案和技术细节是否逐一在代码中实现,以及命名方式是否一致 注意:你不再需要每完成一个 phase 就停下来等我确认后再继续,直接跑完所有任务!

3.针对 Change 3 完成 Spec 归档

opsx:archive 请你给我归档 add-project-section 的变更 归档完成后,请向我介绍OpenSpec结构的变化情况(对比归档前,哪些文件被更新了)

十、阶段五:配置 About Section + SEO 优化 + 部署上线

1.Change 4 继续丰富个人品牌站

/opsx:propose add-about-section 现在为我的个人品牌站添加 “关于我” 区域 - 左侧:一张我帅气的照片 - 右侧:个人简介(3段文字) - 下方:品牌标签:xx空间 out-of-scope(严禁开发): - 不要做联系我的表单

2.Change 4 添加网站的 SEO 优化策略

/opsx:propose add-seo 现在为我的个人品牌站添加 SEO 的基础优化和社交身份支持 - 设置HTML的 tages(title/description) - 语义化 HTML的审查 - 添加 robots.txt,允许 google 爬虫索引

可以多个需求同时做

3.单次执行多步的提案文件

开始自动的执行 apply,同时完成三维验证: 1. 完整性:所有任务是否完成,所有的需求是否有读经的代码实现 2. 正确性:是否匹配 Spec 的规格意图,是否正确处理边界条件 3. 一致性: 我的 design.md 中的技术方案和技术细节是否逐一在代码中实现,以及命名方式是否一致

4.归档

/opsx:archive 归档上面的任务。

5.部署/上线

我现在要部署我的个人品牌站上线,请参考:https://docs.github.com/en/pages 把我的应用品牌站部署上去 1. 你需要 vite.config.ts 中 配置 base:‘my-website’ 2. 在 package.json 中添加 deploy 脚本 3. 确保这个项目可以关联 Github 远程仓库, 如果没有,你要引导我创建并 上传我的项目 4. 你需要执行部署,并告诉我最终的访问地址

学AI大模型的正确顺序,千万不要搞错了

🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!

有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!

就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇

学习路线:

✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经

以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!

我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/23 2:35:20

Python自动化操控手机APP实战指南

1. 为什么需要Python操控手机APP&#xff1f;在移动互联网时代&#xff0c;APP已经成为我们日常生活的重要组成部分。作为一名Python开发者&#xff0c;我经常遇到需要自动化操作手机APP的场景。比如批量测试APP功能、自动化数据采集、定时执行特定任务等。手动操作不仅效率低下…

作者头像 李华
网站建设 2026/7/23 2:35:07

Codex 同时维护多个仓库,如何避免项目规则和上下文串线?

摘要同时维护前端、后端、脚本和旧项目时&#xff0c;Codex 容易混淆目录结构、测试命令和代码规范。本文介绍如何通过独立任务、分层 AGENTS.md、仓库检查清单和 Git Diff 审查&#xff0c;减少跨项目上下文串线&#xff0c;让多仓库开发更加稳定。很多开发者一天内需要切换多…

作者头像 李华
网站建设 2026/7/23 2:34:15

阿里云体育数字化实战:从数据采集到智能分析的完整架构

最近在体育科技领域有个重要合作值得关注——阿里云与英国体育科技公司Win2tec达成战略合作&#xff0c;共同推动体育产业数字化升级。作为云计算行业的从业者&#xff0c;我发现这种"云服务商垂直领域专家"的模式正在成为数字化转型的标准路径&#xff0c;特别是在体…

作者头像 李华
网站建设 2026/7/23 2:30:27

开源项目价值实现:从信任建立到商业变现路径解析

开源项目的价值实现路径&#xff1a;从信任建立到商业变现开源软件的发展已经走过了几十年的历程&#xff0c;从最初的自由软件运动到如今成为科技行业的基础设施&#xff0c;开源模式正在重新定义软件开发和商业化的边界。今天我们来深入探讨开源项目的核心价值链条&#xff1…

作者头像 李华
网站建设 2026/7/23 2:29:11

SkillOpt:微软联合上交同济复旦让技能文档自进化,SpreadsheetBench技能从Codex迁移到Claude Code涨59.7分

52个测试格&#xff0c;全部最佳或并列最佳。 这不是某家厂商在跑分榜上刷了一个数字&#xff0c;而是微软联合上海交通大学、同济大学和复旦大学做的一件事&#xff0c;把agent技能的训练过程&#xff0c;从「写提示词」变成了「像训练神经网络一样优化文本」。 论文链接&…

作者头像 李华