项目地址:https://github.com/Fission-AI/OpenSpec
⭐ Stars:48,520+ | 🔧 支持 25+ 种 AI 编程工具
一、工具简介
在用 AI 编程助手(如 Claude、ChatGPT、Cursor)开发软件时,你是否遇到过这些问题:
- 💬 需求在聊天里越说越多,最后自己都忘了最初要做什么
- 🔄 AI 理解了 A,做出来却是 B,反复修改还是不对
- 📝 项目做到一半,换个会话重新开始,之前的上下文全丢了
- 🤷 告诉 AI"帮我做个功能",结果出来的东西和想象完全不同
OpenSpec 就是为了解决这些问题而生的。它是一个面向 AI 编程助手的规范驱动开发(Spec-Driven Development, SDD)框架,由 Fission-AI 团队开源维护。
简单来说,OpenSpec 让你在写代码之前,先和 AI "对齐思路" ------把要做什么、为什么要做、怎么做都写成规范的文档,然后再让 AI 基于这些文档去实现。这样一来,AI 的输出就可预测、可控制、可维护了。
二、核心功能
2.1 核心工作流程(The OpenSpec Loop)
OpenSpec 的设计理念是**"先规划,后执行,再归档"**,形成一个完整的开发闭环:
┌─────────────────────────────────────────────────────────────┐
│ 1. PROPOSE(提案) │
│ 你告诉 AI:"我想做一个深色模式功能" │
│ AI 帮你创建: │
│ ├── proposal.md (为什么要做,目标是什么) │
│ ├── specs/ (需求规格说明) │
│ ├── design.md (技术设计方案) │
│ └── tasks.md (具体实施任务清单) │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 2. APPLY(应用) │
│ 你说:"/opsx:apply" │
│ AI 读取 tasks.md,按清单逐个实现: │
│ ├── [✓] 1.1 添加主题上下文提供者 │
│ ├── [✓] 1.2 创建主题切换组件 │
│ ├── [✓] 2.1 添加 CSS 变量 │
│ └── [✓] 2.2 接入 localStorage │
│ 所有任务完成! │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 3. ARCHIVE(归档) │
│ 你说:"/opsx:archive" │
│ AI 将这个功能的全部文档归档到: │
│ openspec/changes/archive/2025-01-23-add-dark-mode/ │
│ 项目记录更新,随时准备开始下一个功能! │
└─────────────────────────────────────────────────────────────┘
2.2 主要命令一览
| 命令 | 功能说明 | 使用场景 |
|---|---|---|
/opsx:propose "功能描述" |
创建新功能的提案、规格、设计和任务 | 开始开发一个新功能 |
/opsx:apply |
执行任务清单中的实现任务 | 在规划完成后写代码 |
/opsx:archive |
归档已完成的功能文档 | 功能开发完成后整理 |
/opsx:continue |
继续当前工作流程 | 被打断后恢复工作 |
/opsx:verify |
验证实现是否符合规范 | 代码完成后检查 |
/opsx:bulk-archive |
批量归档多个功能 | 项目整理时使用 |
2.3 核心优势
相比其他 AI 编程辅助方案,OpenSpec 有以下独特优势:
┌─────────────────────────────────────────────────────────────────┐
│ ✅ 对齐优先:先写规范再写代码,避免"做出来不对"的尴尬 │
│ ✅ 轻量灵活:没有繁琐的流程,随时更新任何文档 │
│ ✅ 工具无关:支持 25+ 种 AI 编程助手(Claude、GPT、Cursor 等) │
│ ✅ 棕色地带友好:特别适合已有代码库的功能添加和改造 │
│ ✅ 可扩展:个人项目到企业级团队都能使用 │
└─────────────────────────────────────────────────────────────────┘
2.4 与竞品的对比
| 特性 | GitHub Spec Kit | Kiro (AWS) | OpenSpec |
|---|---|---|---|
| 复杂度 | 重量级,流程繁琐 | 中等 | 轻量级 |
| 灵活性 | 阶段门控严格 | 中等 | 高度灵活 |
| 工具锁定 | 无 | AWS IDE + Claude | 工具无关 |
| 学习曲线 | 陡峭 | 中等 | 平缓 |
| 适用场景 | 企业级 | 中型团队 | 个人到企业 |
三、安装与使用
3.1 环境要求
- Node.js 20.19.0 或更高版本
- npm / pnpm / yarn / bun(任选其一)
3.2 安装步骤
全局安装(推荐):
bash
npm install -g @fission-ai/openspec@latest
或者使用其他包管理器:
bash
# pnpm
pnpm add -g @fission-ai/openspec@latest
# yarn
yarn global add @fission-ai/openspec@latest
# bun
bun add -g @fission-ai/openspec@latest
3.3 初始化项目
在你的项目目录中运行:
bash
cd your-project
openspec init
这会创建一个 .openspec 目录,包含 AI 助手的指令和配置。
3.4 更新 AI 指令
每次更新 OpenSpec 后,建议刷新项目中的 AI 指令:
bash
openspec update
3.5 基本使用流程
第一步:提出新功能
告诉 AI 你想做什么:
/opsx:propose "添加深色模式支持"
AI 会创建一个包含以下内容的目录 openspec/changes/add-dark-mode/:
proposal.md- 为什么要做这个功能specs/- 需求规格说明design.md- 技术设计方案tasks.md- 具体实施任务清单
第二步:实施功能
审查并确认规划无误后,执行:
/opsx:apply
AI 会读取 tasks.md 并按清单逐个实现任务。
第三步:归档
功能完成后,归档文档:
/opsx:archive
这会将所有文档移动到 openspec/changes/archive/ 目录,方便日后查阅。
四、适用场景
4.1 个人开发者
| 场景 | OpenSpec 的价值 |
|---|---|
| 独立开发 side project | 避免想法太多导致项目混乱,每次只专注一个功能 |
| 学习新技术 | 通过编写设计文档加深对技术方案的理解 |
| 维护个人开源项目 | 新功能有完整文档,方便社区协作 |
4.2 小团队/初创公司
| 场景 | OpenSpec 的价值 |
|---|---|
| 快速迭代 MVP | 轻量级流程不拖慢开发速度,同时保持必要的规划 |
| 远程协作 | 异步工作的神器,设计师、产品经理、开发者都能看懂文档 |
| 新人 onboarding | 通过阅读历史 spec 快速了解项目架构和决策 |
4.3 中大型企业
| 场景 | OpenSpec 的价值 |
|---|---|
| 核心系统改造 | 棕色地带友好,适合在已有代码库上进行功能添加和改造 |
| 跨团队项目 | 标准化的 spec 格式让不同团队能够高效协作 |
| 技术债务治理 | 每个功能都有完整文档,便于审计和知识传承 |
4.4 特定使用场景示例
场景一:新功能开发
产品经理:我们需要深色模式
开发者:/opsx:propose "添加深色模式支持"
↓
AI 生成 proposal.md、design.md、tasks.md
↓
团队评审:这个方案可行
↓
开发者:/opsx:apply
↓
AI 按 tasks.md 实现代码
↓
开发者:/opsx:archive
场景二:Bug 修复
用户报告:登录页面在移动端显示异常
开发者:/opsx:propose "修复登录页移动端布局问题"
↓
AI 分析并生成修复方案
↓
开发者:/opsx:apply 实现修复
↓
开发者:/opsx:archive 归档
场景三:技术重构
技术负责人:我们需要将 class 组件迁移到 React Hooks
开发者:/opsx:propose "将 UserModule 迁移到 React Hooks"
↓
AI 生成详细迁移计划
↓
团队评审:确认方案
↓
开发者:分批执行 /opsx:apply
↓
开发者:/opsx:archive 归档
五、项目亮点与特色
5.1 核心理念
OpenSpec 的设计哲学可以用四句话概括:
→ fluid not rigid (流畅而非僵化)
→ iterative not waterfall (迭代而非瀑布)
→ easy not complex (简单而非复杂)
→ built for brownfield (为已有项目而生)
这意味着:
- ✅ 没有繁琐的流程,随时可以调整
- ✅ 不需要一次性规划完所有内容
- ✅ 学习曲线平缓,上手快
- ✅ 特别适合在已有代码库上进行开发
5.2 技术亮点
| 亮点 | 说明 |
|---|---|
| 工具无关性 | 支持 25+ 种 AI 编程助手(Claude、GPT、Cursor、Copilot 等) |
| 轻量级实现 | 基于 Node.js,全局安装,零配置上手 |
| 可扩展架构 | 从个人项目到企业级团队都能适用 |
| 社区生态 | 支持第三方 schema 扩展,类似 VS Code 插件生态 |
5.3 社区与生态
- GitHub Stars:48,520+(非常受欢迎)
- Discord 社区:活跃的开发者讨论群
- 官方维护:Fission-AI 团队持续迭代
- 第三方扩展:社区贡献的 schema 包
5.4 与其他方案的对比优势
| 特性 | GitHub Spec Kit | Kiro (AWS) | OpenSpec |
|---|---|---|---|
| 重量级 | 重量级,阶段门控严格 | 中等 | 轻量级,灵活迭代 |
| 工具锁定 | 无 | AWS IDE + Claude 锁定 | 支持 25+ 工具 |
| 学习曲线 | 陡峭 | 中等 | 平缓 |
| 适用场景 | 大型企业 | 中型团队 | 个人到企业 |
| 棕色地带 | 一般 | 一般 | 非常友好 |
六、写在最后
随着 AI 编程助手的普及,越来越多的开发者开始依赖 Claude、ChatGPT、Cursor 等工具来辅助编码。但一个普遍的问题是:AI 很强,但它不一定懂你真正想要什么。
OpenSpec 的出现,正是为了解决这个"最后一公里"的问题。它不强求你要写多么详细的文档,也不要求你遵循繁琐的流程,而是提供了一种轻量级、灵活、可迭代的方式来和 AI "对齐思路"。
- 个人开发者可以用它来管理 side project,避免想法太多导致项目混乱
- 小团队可以用它来规范远程协作,让异步工作更高效
- 中大型企业可以用它来改造遗留系统,在已有代码库上安全地添加新功能
更重要的是,OpenSpec 是工具无关的------无论你习惯用 Claude、ChatGPT、Cursor 还是 Copilot,都可以使用 OpenSpec 来规范你的 AI 辅助开发流程。
📌 项目地址 :https://github.com/Fission-AI/OpenSpec
📌 官方文档 :https://openspec.dev/
📌 Discord 社区:https://discord.gg/YctCnvvshC
有兴趣的朋友,点点关注。每天分享一个AI工具。