openspec-overview
OpenSpec 是一个 AI-native 的 spec-driven development 工具
一、 原理
1.1 核心管线
源文件 (.md) → Markdown Parser → 结构化 spec 对象 → Zod Validator → 可消费数据
↑
运行时安检门
OpenSpec 的 spec 文件是数据源而非文档终态——archive
1.2 三个核心子系统
Artifact Graph 引擎 — 将工作流从约定升级为系统约束/opsx:continue 调用时
Markdown Parser + Zod 校验 — Parser 从 spec 文件中提取 ### Requirement: 和 #### Scenario: 的层级结构#### Scenario: 必须是 4 个 # 不是约定
Delta Apply 引擎 — Archive 时将 change 的 delta specs 合并回主 specs 目录
二、 使用
2.1 快速使用
安装
npm install -g @fission-ai/openspec@latest
初始化
openspec init
检测 AI 工具 → 生成对应 SKILL.md → 创建 openspec/ 目录 + config.yaml
2.2 使用流程
/opsx:propose 描述
│
▼
内部自动解析、写spec,design,tasks
│
▼
提示 /opsx:apply 开始实现
或者逐步推进
/opsx:new 描述 ← 交互式替代
│
▼
创建目录 → 展示 proposal 模板 → 停
│
▼
/opsx:continue → 写 specs → 停
│
▼
/opsx:continue → 写 design → 停
│
▼
/opsx:continue → 写 tasks → 停
│
▼
提示 /opsx:apply 开始实现
2.3 目录结构
openspec/
├── specs/ ← 累积的"真理源"(archive 时 delta 合并至此)
│ └── user-auth/
│ └── spec.md ← 完整当前规格
├── changes/ ← 活跃 change
│ └── add-login/
│ ├── .openspec.yaml
│ ├── proposal.md ← Why / What Changes / Capabilities / Impact
│ ├── specs/user-auth/spec.md ← delta (ADDED/MODIFIED/REMOVED)
│ ├── design.md ← 技术方案(可选)
│ └── tasks.md ← checkbox 清单,apply 阶段 parse 进度
├── changes/archive/ ← 已归档
└── config.yaml ← schema + context + rules
2.4 命令速查
| commands | 作用 |
|---|---|
openspec init |
项目初始化 |
openspec list |
列出活跃 changes |
openspec status |
tasks.md checkbox 进度 |
openspec validate <name> |
校验格式 |
openspec show <name> |
查看 change/spec |
openspec archive <name> |
合并 delta + 移至 archive |
| skills | 作用 |
|---|---|
/opsx:propose |
一步生成全部 artifact |
/opsx:apply |
按 tasks.md 逐项实现 |
/opsx:archive |
归档并合并 delta |
/opsx:explore |
探索/思考 |
/opsx:new |
交互式创建 |
/opsx:continue |
继续写下一个 artifact |
/opsx:ff |
快速模式 |
/opsx:verify |
验证实现是否符合 spec |
2.5 配置
# openspec/config.yaml
schema: spec-driven
context: | # 项目背景,AI 读 instructions 时注入
Tech stack: ...
rules: # 针对各 artifact 的约束
specs: ...
design: ...
tasks: ...
context 和 rules 是给 AI 的约束openspec init 自动生成
三、 与 Superpowers 的差异
相关笔记详见superpowers-overview
3.1 定位
| OpenSpec | Superpowers | |
|---|---|---|
| 关注层 | 需求→规格的结构化与累积 | 交付流程的纪律性控制 |
| 启动方式 | openspec init + /opsx:propose |
会话启动自动注入 |
| 强制方式 | 系统约束 |
硬断言门禁式 |
| Spec | 有生命周期 |
写入后静置 |
3.2 互补关系
Superpowers 解决”如何有质量地交付”
需求池
│
▼
OpenSpec: /opsx:propose
│
▼
Superpowers: /subagent-driven-development or /execute-plan ...
│
▼
OpenSpec: /opsx:archive
│
▼
交付