【AI】OpenSpec (opsx) 命令完全指南
一套结构化的代码变更管理工作流,让你从"想法"到"落地"全程有迹可循。
OpenSpec (opsx) 命令完全指南
一套结构化的代码变更管理工作流,让你从"想法"到"落地"全程有迹可循。
一、OpenSpec 是什么?
OpenSpec 是一个嵌入在 Cursor IDE 中的结构化变更管理工作流。它的核心理念是:每一次代码变更都应该有清晰的"为什么做"、“做什么”、"怎么做"的记录。
它通过一系列命令(opsx-*),引导你从探索想法 → 创建提案 → 编写规范 → 设计方案 → 拆分任务 → 实现代码 → 验证完成 → 归档存档,形成一个完整的变更生命周期。
二、核心概念
在了解命令之前,先理解几个关键概念:
变更(Change)
一个"变更"是 OpenSpec 中的工作单元,对应一次功能开发或 Bug 修复。它存放在 openspec/changes/<名称>/ 目录下,包含以下工件(Artifacts):
openspec/changes/add-3d-matching/
├── proposal.md ← 提案:为什么要做?做什么?
├── design.md ← 设计:怎么做?技术方案是什么?
├── specs/ ← 规范:详细的需求定义(WHEN/THEN 格式)
│ └── <能力名>/
│ └── spec.md
└── tasks.md ← 任务:实现清单(可勾选的 checkbox)
主规范 vs 增量规范
- 主规范(Main Specs):
openspec/specs/— 项目的正式需求文档 - 增量规范(Delta Specs):
openspec/changes/<名称>/specs/— 某次变更中新增或修改的需求
工件依赖链
默认的 spec-driven 工作流中,工件按以下顺序创建:
proposal → specs → design → tasks → [实现] → [归档]
每个工件依赖前一个工件的上下文。
三、命令详解
1. opsx-explore — 探索模式
一句话概括:开启自由思考模式,在动手之前把问题想清楚。
适用场景:
- 有一个模糊的想法,还不确定怎么做
- 遇到技术难题,需要调研和分析
- 想比较多种方案的优劣
特点:
- 只读模式 — 可以查看代码、搜索项目,但不会写代码
- 可视化思考 — 鼓励使用 ASCII 图表来梳理思路
- 无固定流程 — 没有步骤要求,跟着思路走
- 可衔接后续 — 想法成熟后,可以直接转入
opsx-new或opsx-ff
使用示例:
用户:opsx-explore
我在考虑给项目加一个点云匹配功能
AI:[分析代码库,画出架构图,讨论方案选项]
准备好了吗?可以用 opsx-new 创建一个变更。
2. opsx-new — 创建新变更
一句话概括:启动一个新变更,逐步创建工件。
适用场景:
- 开始一个新功能或修复
- 想一步步精心打磨每个工件
工作流程:
- 提供变更名称(kebab-case 格式,如
add-point-cloud-matching) - 创建变更目录结构
- 显示第一个待创建工件的模板
- 停下来等你确认 — 不会自动往下走
与 opsx-ff 的区别:opsx-new 每次只创建一个工件,给你充分审查的机会;opsx-ff 则一口气全部生成。
3. opsx-continue — 继续推进变更
一句话概括:接着上次的进度,创建下一个工件。
适用场景:
- 用
opsx-new创建了变更后,继续填充后续工件 - 中断后恢复工作
工作流程:
- 选择要继续的变更
- 检查当前进度(哪些工件已完成)
- 找到下一个可创建的工件
- 读取已完成的工件作为上下文
- 创建一个工件后停下来
关键规则:每次调用只创建一个工件,保证质量控制。
4. opsx-ff — 快进模式
一句话概括:一次性生成所有工件,快速进入实现阶段。
适用场景:
- 对变更内容已经很清楚,不需要逐步审查
- 想快速开始编码
- 小型变更,不需要过多讨论
工作流程:
- 提供变更名称或描述
- 创建变更目录
- 自动按依赖顺序生成所有工件(proposal → specs → design → tasks)
- 完成后直接可以开始
opsx-apply
比喻:opsx-new + opsx-continue 是"手动挡",opsx-ff 是"自动挡"。
5. opsx-apply — 实施变更
一句话概括:根据任务清单,逐个实现代码。
适用场景:
- 所有工件(至少 tasks)已创建完成
- 准备开始写代码
工作流程:
- 选择变更
- 读取所有上下文文件(提案、规范、设计、任务)
- 显示当前进度(N/M 任务完成)
- 逐个实现任务:
- 宣布当前任务
- 编写代码
- 完成后在 tasks.md 中打勾
- [ ]→- [x] - 继续下一个
- 遇到问题暂停并询问
暂停条件:任务不明确、发现设计缺陷、遇到错误。
6. opsx-verify — 验证实现
一句话概括:检查代码实现是否与规范一致,生成验证报告。
适用场景:
- 实现完成后,归档前的最后检查
- 想确认没有遗漏
验证三个维度:
| 维度 | 检查内容 | 问题级别 |
|---|---|---|
| 完整性(Completeness) | 任务是否全部完成?需求是否都有实现? | CRITICAL |
| 正确性(Correctness) | 实现是否符合规范意图?场景是否覆盖? | WARNING |
| 一致性(Coherence) | 是否遵循了设计决策?代码风格是否统一? | SUGGESTION |
输出示例:
## 验证报告: add-point-cloud-matching
| 维度 | 状态 |
|----------|-----------------|
| 完整性 | 7/7 任务完成 |
| 正确性 | 5/5 需求已覆盖 |
| 一致性 | 遵循设计方案 |
✅ 所有检查通过,可以归档。
7. opsx-sync — 同步规范
一句话概括:把增量规范合并到主规范,但不关闭变更。
适用场景:
- 代码还没写完,但想先把需求文档更新到主规范
- 需要让其他变更看到最新的需求定义
工作流程:
- 选择包含增量规范的变更
- 读取增量规范(支持 ADDED / MODIFIED / REMOVED / RENAMED)
- 读取对应的主规范
- 智能合并:不是简单替换,而是理解意图后精确合并
- 变更仍然保持活跃
与 opsx-archive 的关系:opsx-archive 归档时也会触发同步,但 opsx-sync 让你在不归档的情况下提前同步。
8. opsx-archive — 归档变更
一句话概括:变更完成后,归档保存为历史记录。
适用场景:
- 所有任务完成
- 代码已经验证通过
- 准备收尾
工作流程:
- 选择要归档的变更
- 检查工件完成度 — 未完成的会给出警告(但不阻断)
- 检查任务完成度 — 未完成的会给出警告
- 评估规范同步状态 — 如果有增量规范,会询问是否先同步
- 执行归档:移动到
openspec/changes/archive/YYYY-MM-DD-<名称>/
归档后:变更成为项目历史的一部分,你可以随时回顾"为什么当初这样设计"。
9. opsx-bulk-archive — 批量归档
一句话概括:一次性归档多个已完成的变更。
适用场景:
- 积累了多个已完成的变更
- 想一次性清理
特色功能:
- 冲突检测:如果多个变更修改了同一个能力的规范,会自动检测冲突
- 智能解决:通过搜索代码库,判断哪些变更实际上已经实现,按时间顺序合并
- 批量确认:一次确认,批量执行
10. opsx-onboard — 引导入门
一句话概括:手把手带你走完一个完整的工作流周期。
适用场景:
- 第一次使用 OpenSpec
- 想通过实操学习整个流程
完整流程(约 15-20 分钟):
- 🔍 扫描代码库,找一个小任务
- 💡 用探索模式简单分析
- 📦 创建变更
- 📝 依次创建:提案 → 规范 → 设计 → 任务
- 🔨 实现代码
- 📦 归档完成
教学特色:每一步都有解释说明,让你理解"为什么要这样做"。
四、典型工作流
工作流 A:完整流程(适合重要功能)
opsx-explore ← 1. 思考和探索
↓
opsx-new ← 2. 创建变更
↓
opsx-continue ×3 ← 3. 逐步创建工件(proposal → specs → design → tasks)
↓
opsx-apply ← 4. 实现代码
↓
opsx-verify ← 5. 验证实现
↓
opsx-archive ← 6. 归档
工作流 B:快速流程(适合小型变更)
opsx-ff ← 1. 一步到位创建所有工件
↓
opsx-apply ← 2. 实现代码
↓
opsx-archive ← 3. 归档
工作流 C:项目清理
opsx-verify ×N ← 1. 验证所有变更
↓
opsx-bulk-archive ← 2. 批量归档
五、命令速查表
| 命令 | 阶段 | 读/写 | 功能 |
|---|---|---|---|
opsx-explore |
前期 | 只读 | 探索想法、调研问题 |
opsx-new |
规划 | 写入 | 创建新变更,展示第一个工件模板 |
opsx-continue |
规划 | 写入 | 创建下一个工件(每次一个) |
opsx-ff |
规划 | 写入 | 一次性创建所有工件 |
opsx-apply |
实施 | 写入 | 按任务清单实现代码 |
opsx-verify |
验证 | 只读 | 验证实现与规范的一致性 |
opsx-sync |
管理 | 写入 | 同步增量规范到主规范(不归档) |
opsx-archive |
收尾 | 写入 | 归档已完成的变更 |
opsx-bulk-archive |
收尾 | 写入 | 批量归档多个变更 |
opsx-onboard |
学习 | 写入 | 引导式完整流程教学 |
六、总结
OpenSpec 的核心价值在于:
- 可追溯性 — 每个变更都有完整的决策记录(为什么做、怎么做)
- 结构化思考 — 先想清楚再动手,减少返工
- 渐进式深入 — 从模糊想法到具体代码,有清晰的路径
- 灵活性 — 可以走完整流程,也可以快进跳过
对于个人开发者,它帮你养成"先设计后编码"的习惯;对于团队协作,它让决策过程透明、可回溯。
新手建议:先用
opsx-onboard跟着做一遍,然后用opsx-ff处理日常小变更,重要功能用opsx-new+opsx-continue精细打磨。
更多推荐


所有评论(0)