编程 OpenSpec:AI编程助手的规范驱动开发框架,比Spec Kit更轻量

2026-05-23 15:18:15 +0800 CST views 10

OpenSpec:AI 编程助手的规范驱动开发框架,比 Spec Kit 更轻量

标签: AI编程 / OpenSpec / 规范驱动 / SDD / Claude Code / Codex
GitHub: https://github.com/Fission-AI/OpenSpec
NPM: @fission-ai/openspec
Discord: https://discord.gg/YctCnvvshC


核心亮点

OpenSpec 是一个规范驱动开发(SDD, Spec-Driven Development)框架,为 AI 编程助手提供轻量级的 spec 层,让人类和 AI 在写代码之前先对齐"要做什么"。

核心哲学

  • 🌊 流动而非僵化(fluid not rigid)
  • 🔄 迭代而非瀑布(iterative not waterfall)
  • 简单而非复杂(easy not complex)
  • 🏗️ 支持存量项目而非只适合新项目(brownfield not just greenfield)
  • 📈 从个人项目到企业级均可扩展

问题:AI 编程助手的"需求只在对话里"

AI 编程助手很强大,但有一个根本性问题:需求只活在对话历史里

当你让 Claude Code 或 Codex 写代码时,需求理解全靠 prompt。如果对话很长,上下文腐烂;如果换一个会话,需求又要重新说一遍。结果就是模糊的 prompt + 不可预测的结果

OpenSpec 的解决方案:在写代码之前,先建一套轻量 spec


三步工作流

第一步:提出提案 /opsx:propose

You: /opsx:propose add-dark-mode
AI: Created openspec/changes/add-dark-mode/
 ✓ proposal.md — 为什么要做、改什么
 ✓ specs/ — 需求和场景
 ✓ design.md — 技术方案
 ✓ tasks.md — 实现清单
 Ready for implementation!

第二步:执行实现 /opsx:apply

You: /opsx:apply
AI: Implementing tasks.md...
 ✓ 1.1 Add theme context provider
 ✓ 1.2 Create toggle component
 ✓ 2.1 Add CSS variables
 ✓ 2.2 Wire up localStorage
 All tasks complete!

第三步:归档变更 /opsx:archive

You: /opsx:archive
AI: Archived to openspec/changes/archive/2025-01-23-add-dark-mode/
 Specs updated. Ready for the next feature.

核心理念:流动而非僵化

OpenSpec 和传统 SDD 工具最大的区别在于哲学

维度传统 SDDOpenSpec
流程瀑布式,阶段门控流动式,随时可改
文档大量 Markdown,仪式感强轻量,只写必要的
适用项目主要是新项目新项目 + 存量项目
迭代随时更新任何 artifact

每个变更都有自己的文件夹,包含 proposal、specs、design、tasks,随时可以更新任何一个 artifact,没有僵化的阶段门控


vs. 竞品

vs. Spec Kit(GitHub 官方)

维度Spec KitOpenSpec
重量重,大量 Markdown轻量
阶段门控有,严格无,流动
技术栈Python setupNode.js,npm 安装
适用场景严谨的大项目广泛

vs. Kiro(AWS)

维度KiroOpenSpec
IDE 锁定是,只能用他们的 IDE否,用你现有的工具
模型锁定主要是 Claude20+ AI 助手
开放程度封闭开源,MIT

vs. 什么都不用

AI 编程没有 spec = 模糊的 prompt + 不可预测的结果。OpenSpec 带来可预测性,而且没有繁文缛节


支持 20+ AI 助手

OpenSpec 通过 slash commands 集成,支持:

  • Claude Code
  • Codex
  • Cursor
  • Windsurf
  • GitHub Copilot
  • OpenClaw
  • 以及更多...

安装方式:

# 全局安装
npm install -g @fission-ai/openspec@latest

# 在项目目录初始化
cd your-project
openspec init

# 告诉你的 AI:/opsx:propose <what-you-want-to-build>

扩展工作流

除了核心三步,OpenSpec 还支持:

命令功能
/opsx:new新建变更
/opsx:continue继续未完成的变更
/opsx:ff快进到某一步
/opsx:verify验证实现是否符合 spec
/opsx:bulk-archive批量归档
/opsx:onboard新成员上手指南

可以通过 openspec config profile 选择不同的工作流组合。


多语言支持

OpenSpec 支持多语言项目——spec 和代码可以跨语言对齐,适合微服务、全栈项目等场景。

详见:Multi-Language 文档


社区 schema 包

第三方可以通过独立的仓库分发 schema 包——类似于 GitHub Spec Kit 的社区扩展目录。

这些 schema 包提供有主见的 workflow,将 OpenSpec 与其他工具集成。

浏览社区 schema 目录


遥测与隐私

OpenSpec 收集匿名使用统计

  • 只收集命令名称和版本
  • 不收集参数、路径、内容或 PII
  • CI 环境中自动禁用

选择退出

export OPENSPEC_TELEMETRY=0
# 或
export DO_NOT_TRACK=1

模型建议

OpenSpec 在高推理能力模型上效果最好。

用途推荐模型
规划Codex 5.5 / Claude Opus 4.7
实现Codex 5.5 / Claude Opus 4.7

上下文卫生

OpenSpec 受益于干净的上下文窗口。在开始实现之前清除上下文,并在整个会话中保持良好的上下文卫生习惯。


快速开始

# 1. 安装(需要 Node.js 20.19.0+)
npm install -g @fission-ai/openspec@latest

# 2. 初始化项目
cd your-project
openspec init

# 3. 开始使用
# 告诉你的 AI:/opsx:propose <what-you-want-to-build>

升级

npm install -g @fission-ai/openspec@latest
openspec update  # 刷新 agent 指令

参与贡献

小修复

Bug 修复、错别字纠正、小改进——可以直接提交 PR

大改动

新功能、重大重构、架构变更——请先提交 OpenSpec 变更提案,在对齐意图和目标后再开始实现。

写提案时请记住 OpenSpec 的哲学:我们服务于使用不同编码代理、模型和用例的广泛用户。改动应该对所有人都有用。

AI 生成的代码

欢迎 AI 生成的代码——只要经过测试和验证。提交 PR 时应注明使用的编码代理和模型(例如:"Generated with Claude Code using claude-opus-4-5-20251101")。


写在最后

AI 编程助手已经很强大了,但**"需求只在对话里"这个问题不解决,就永远不可预测**。

OpenSpec 的解法很优雅:在对话之前先建 spec,而且建 spec 的过程本身也是流动的、可迭代的

比 Spec Kit 轻量,比 Kiro 开放,比"什么都不用"可预测——如果你在用 Claude Code 或 Codex,值得试一下


GitHub: https://github.com/Fission-AI/OpenSpec
NPM: https://www.npmjs.com/package/@fission-ai/openspec
Discord: https://discord.gg/YctCnvvshC
License: MIT

推荐文章

Vue3的虚拟DOM是如何提高性能的?
2024-11-18 22:12:20 +0800 CST
ElasticSearch 结构
2024-11-18 10:05:24 +0800 CST
联系我们
2024-11-19 02:17:12 +0800 CST
Vue3中如何处理组件的单元测试?
2024-11-18 15:00:45 +0800 CST
使用 Vue3 和 Axios 实现 CRUD 操作
2024-11-19 01:57:50 +0800 CST
Python 基于 SSE 实现流式模式
2025-02-16 17:21:01 +0800 CST
如何实现虚拟滚动
2024-11-18 20:50:47 +0800 CST
程序员茄子在线接单