最受喜爱的规格说明(spec)框架。
我们的理念:
→ 注重流畅,而非僵硬
→ 强调迭代,而非瀑布
→ 追求易用,而非复杂
→ 既支持遗留项目,也支持全新项目
→ 从个人项目到企业级,皆可扩展
[!TIP]
全新工作流已上线! 我们以新的「制品(artifact)驱动工作流」重构了 OpenSpec。运行
/opsx:propose "你的想法"即可开始。 → 了解更多
在 X 上关注 @0xTab 获取最新动态 · 加入 OpenSpec Discord 获取帮助与答疑。
实际效果演示
你:/opsx:explore
AI: 你想探索什么?
你: 我想加一个暗色模式,但还不确定怎么实现才最干净。
AI: 让我看一下你的样式设置……
这里最干净的做法是:CSS 变量 + 一个轻量的主题上下文,
加上系统偏好检测。无需新增依赖。先定个范围吗?
你: 好的,就这么干。
你:/opsx:propose add-dark-mode
AI: 已创建 openspec/changes/add-dark-mode/
✓ proposal.md —— 为什么做、做什么改动
✓ specs/ —— 需求与场景
✓ design.md —— 技术方案
✓ tasks.md —— 实施清单
可以开始实现了!
你:/opsx:apply
AI: 正在执行任务……
✓ 1.1 添加主题上下文 Provider
✓ 1.2 创建切换组件
✓ 2.1 添加 CSS 变量
✓ 2.2 接入 localStorage
所有任务已完成!
你:/opsx:archive
AI: 已归档到 openspec/changes/archive/2025-01-23-add-dark-mode/
规格已更新,可以开始下一个功能了。
规格文件实际长什么样?
就是朴素的 Markdown——包含具体场景的需求,无需学习任何特殊语法。以下是上面创建的 specs/ 文件夹中的内容示例:
## ADDED Requirements
### Requirement: Theme selection
The app SHALL let users switch between light and dark themes,
defaulting to the system preference.
#### Scenario: User toggles dark mode
- **WHEN** the user clicks the theme toggle
- **THEN** the app switches to dark mode and persists the choice
由你的 AI 撰写这些内容;而你在任何代码被写出之前审阅这份方案。
OpenSpec 本身就是用 OpenSpec 构建的——可浏览本仓库的实时 规格 与进行中的 变更,查看大规模场景下的真实示例。
OpenSpec 仪表盘

为什么团队选择 OpenSpec
对于个人开发者,OpenSpec 让你和你的 AI 在同一个仓库里保持诚实;而在团队中,难题变成了另一个:一个特性横跨 API 服务、Web 应用和共享库;需求由一个团队所有、被其他团队消费;规划在任何代码诞生之前就已经开始。
Stores(仓库) 就是答案——规划放在一个独立的仓库里。你已经熟悉的 openspec/ 结构(规格与变更),通过 git push 就能共享,就像任何普通仓库一样。单一事实来源,团队里的每一个人和每一个编程智能体(coding agent)都能读取,跨所有仓库皆可访问。
- 跨仓库的特性 —— 一份变更、一份方案,即便代码落在三个仓库里也保持一致。
- 共享的需求 —— 平台团队拥有规格的所有权;产品团队在其编程智能体可以读取的位置以只读方式引用它们。彻底告别漂移的 Wiki。
- 先规划,再写代码 —— 现在就把方案存入 Store;代码仓库之后再跟上。
Store 当前处于 beta 阶段。请从 Stores 用户指南 起步。
快速开始
需要 Node.js 20.19.0 或更高版本。
全局安装 OpenSpec:
npm install -g @fission-ai/openspec@latest
然后进入你的项目目录并初始化:
cd your-project
openspec init
想让你的 AI 来完成? 把 安装提示词 粘贴到你的编程助手中——它会自动安装 CLI、运行
openspec init,并校验结果。
接下来与你的 AI 对话:
- 还不确定要做什么? 从
/opsx:explore开始,它是一个零风险的思考伙伴,会阅读你的代码、权衡方案,并在写代码之前勾勒出计划。(Explore 指南) - 已经清楚想要什么? 直接使用
/opsx:propose。
这两条命令都在默认 profile 中。如果你想要扩展工作流(/opsx:new、/opsx:continue、/opsx:ff、/opsx:verify、/opsx:bulk-archive、/opsx:onboard),可以通过 openspec config profile 选中,再用 openspec update 应用。
/opsx:propose 是规范名称;你的工具可能写成 /opsx-propose(Cursor、GitHub Copilot)、@opsx-propose(Amazon Q)或 $openspec-propose(Codex)。openspec init 会为你选定的工具打印出正确的形式——详见 如何调用。
[!NOTE]
不确定你的工具是否被支持?查看完整列表——我们已经支持 30+ 种工具,并且还在增加。同时兼容 pnpm、yarn、bun 与 nix。查看安装选项。
文档
从这里起步: 文档首页 映射了所有内容。初识 OpenSpec?请先阅读 入门指南,再看 命令是如何工作的(你真正输入 /opsx:propose 的地方)。
→ 入门指南:第一步
→ 先探索:在动手前用 /opsx:explore 想清楚
→ 命令是如何工作的:斜杠命令与 CLI 的分工
→ 核心概念速览:一站式完整心智模型
→ 示例与实践:真实的变更,端到端
→ 工作流:组合与模式
→ 既有项目:在遗留代码库中采用 OpenSpec
→ 编辑一个变更:更新制品、回退、调和手动修改
→ 命令:斜杠命令与技能
→ CLI:终端参考
→ Stores:在独立仓库中规划,跨团队共享(beta)
→ 支持的工具:工具集成与安装路径
→ 概念:一切是如何契合的
→ 多语言:多语言支持
→ 自定义:把它变成你自己的
→ 社区展示:用 OpenSpec 构建的项目与资源
社区 schema
通过独立仓库分发的第三方 schema 包——它们提供与 OpenSpec 集成的、带有鲜明主张的工作流,类似于 github/spec-kit 的社区扩展目录 处理工具集成的方式。
→ 在自定义文档中 浏览目录。
为什么选择 OpenSpec?
AI 编程助手功能强大,但当需求仅存在于聊天记录中时,结果难以预测。OpenSpec 增加了一层轻量的规格说明,让你在任何代码被写出之前就「要做什么」达成一致。
- 构建之前先达成一致 —— 在写代码之前,人与 AI 就规格对齐
- 井井有条 —— 每个变更都有独立的文件夹,包含 proposal、specs、design 与 tasks
- 流畅协作 —— 任何时候都可以更新任何制品,没有僵硬的阶段门
- 用你现有的工具 —— 通过斜杠命令兼容 30+ 种 AI 助手
我们如何对比
对比 Spec Kit(GitHub) —— 完善但偏重。僵硬的阶段门、繁多的 Markdown、Python 环境配置。OpenSpec 更轻量,并允许你自由迭代。
对比 Kiro(AWS) —— 强大,但你会被锁定在他们的 IDE 中,且只能使用 Claude 模型。OpenSpec 可以与你已经在用的工具协同工作。
对比「什么都不用」 —— 没有规格的 AI 编程意味着含糊的提示与不可预测的结果。OpenSpec 在不增加繁文缛节的前提下带来了可预测性。