OpenSpec 技术指南:让AI编程助手更可靠

3 阅读19分钟

一、什么是 OpenSpec?

1.1 问题背景

你是否遇到过这样的情况:和 AI 编程助手聊了半天,需求越说越多,最后 AI 却"失忆"了——忘记之前的约定,代码写得乱七八糟?这是因为 AI 的上下文窗口有限,当对话越来越长,早期的重要信息就会被"遗忘"。

这就是 OpenSpec 要解决的问题。简单来说,OpenSpec 是一个规范驱动开发(Spec-Driven Development, SDD)工具,它让 AI 编程助手在写代码之前,先把需求、设计、任务都记录下来形成文档,这样即使对话变长,AI 也不会"忘记"该做什么。

1.2 核心理念

OpenSpec 的设计哲学非常简洁:

→ 灵活不僵化(fluid not rigid)
→ 迭代不瀑布(iterative not waterfall)
→ 简单不复杂(easy not complex)
→ 适用于存量项目(built for brownfield)
→ 从个人项目到企业都可扩展

1.3 工作原理

OpenSpec 通过在你的项目中创建一个 openspec/ 目录来管理所有规范文档:

openspec/
├── specs/              # 系统行为的真实来源
│   └── <领域>/
│       └── spec.md
├── changes/            # 待处理的变更
│   └── <变更名称>/
│       ├── proposal.md  # 为什么做、做什么
│       ├── specs/       # 规格变更(增量)
│       ├── design.md    # 技术设计
│       └── tasks.md     # 实现任务清单
└── config.yaml         # 项目配置(可选)

核心理解

  • specs/ 是系统当前行为的"真相源",记录了你的系统目前是如何工作的
  • changes/ 是待处理的变更,每个变更都有独立的文件夹,包含完整的需求-设计-任务链条

二、安装指南

2.1 系统要求

重要:OpenSpec 需要 Node.js 20.19.0 或更高版本

你可以通过以下命令检查 Node.js 版本:

node --version

如果版本过低,请先升级 Node.js。推荐使用 nvm(Node Version Manager)来管理 Node.js 版本:

# 安装最新 LTS 版本
nvm install 22
nvm use 22

2.2 全局安装

使用 npm 全局安装 OpenSpec:

npm install -g @fission-ai/openspec@latest

其他包管理器

# 使用 pnpm
pnpm add -g @fission-ai/openspec@latest
​
# 使用 yarn
yarn global add @fission-ai/openspec@latest
​
# 使用 bun
bun add -g @fission-ai/openspec@latest

2.3 初始化项目

安装完成后,进入你的项目目录并初始化 OpenSpec:

cd your-project
openspec init

初始化过程中,OpenSpec 会:

  1. 创建 openspec/ 目录结构
  2. 生成 AI 编程助手所需的技能文件(如 .claude/skills/
  3. 可选地创建项目配置文件 openspec/config.yaml
  4. 询问你的工具比如:claude code或者cursor,根据你的需求选择就好

2.4 配置项目(推荐)

在初始化时,你可以创建一个项目配置文件 openspec/config.yaml。这个文件可以设置默认值,并为所有文档注入项目特定的上下文信息:

# openspec/config.yaml
schema: spec-driven

context: |
  技术栈: TypeScript, React, Node.js
  API 规范: RESTful, JSON 响应
  测试: Vitest 单元测试, Playwright 端到端测试
  代码风格: ESLint + Prettier, 严格 TypeScript

rules:
  proposal:
    - 包含回滚计划
    - 识别受影响的团队
  specs:
    - 使用 Given/When/Then 格式编写场景
  design:
    - 复杂流程需要包含时序图

这个配置文件的作用:

  • schema:设置新变更的默认工作流模式
  • context:注入到所有文档中的项目背景信息,帮助 AI 理解你的项目约定
  • rules:为特定类型的文档添加额外的规则要求

2.5 更新 OpenSpec

当有新版本发布时,升级方式如下:

# 升级包
npm install -g @fission-ai/openspec@latest
​
# 在每个项目中刷新 AI 指令
cd your-project
openspec update

openspec update 命令会重新生成 AI 指令文件,确保使用最新的斜杠命令。


三、命令详解

OpenSpec 提供两种工作流模式:核心模式(Core Profile)扩展模式(Expanded Workflow) 。新安装默认使用核心模式。

3.1 核心模式命令(默认)

这是最简洁的工作流,包含四个核心命令:

命令用途
/opsx:propose创建变更并生成规划文档
/opsx:explore探索想法、调查问题、明确需求
/opsx:apply实现任务清单中的任务
/opsx:archive归档已完成的变更

3.1.1 /opsx:propose — 创建变更

这是最常用的起始命令,它会一次性创建变更文件夹和所有规划文档。

语法

/opsx:propose [变更名称或描述]

参数

参数必填说明
变更名称或描述短横线分隔的名称,或自然语言描述

工作流程

  1. 创建 openspec/changes/<变更名称>/ 目录
  2. 生成规划文档(proposal.md、specs/、design.md、tasks.md)
  3. 等待执行 /opsx:apply

示例

你: /opsx:propose add-dark-mode
​
AI: 创建了 openspec/changes/add-dark-mode/
    ✓ proposal.md — 为什么做、做什么
    ✓ specs/ui/spec.md — 需求和场景
    ✓ design.md — 技术方案
    ✓ tasks.md — 实现清单
    准备开始实现!运行 /opsx:apply

3.1.2 /opsx:explore — 探索问题

当你需求不明确,或者需要先调查问题时使用。这个命令不会创建任何文档,只是一个自由的探索对话。

语法

/opsx:explore [主题]

什么时候使用

  • 需求还不清晰
  • 需要调查多个技术方案
  • 想了解现有代码库的情况
  • 做技术选型决策

示例

你: /opsx:exploreAI: 你想探索什么?你: 我们的移动端应用应该怎么处理用户认证?AI: 让我调查一下你当前的认证设置...
    [分析代码库]
​
    我看到你的 Web 端使用的是基于会话的认证。
    对于移动端,我们有三个主要选项:
​
    1. JWT 令牌(无状态,支持离线)
    2. OAuth2(需要第三方登录时使用)
    3. 扩展现有会话(更简单,但需要联网)
​
    你的 API 已经配置了 CORS。你对哪个方向感兴趣?
​
你: 我们用 JWT 吧。能开始一个变更吗?AI: 准备好了。运行 /opsx:propose add-jwt-auth 开始。

3.1.3 /opsx:apply — 实现任务

根据 tasks.md 中的任务清单,逐项完成实现。

语法

/opsx:apply [变更名称]

工作方式

  1. 读取 tasks.md 并识别未完成的任务
  2. 逐个实现任务
  3. 完成后用 [x] 标记任务

示例

你: /opsx:apply
​
AI: 正在实现 add-dark-mode...
​
    读取 tasks.md:
    - [ ] 1.1 创建 ThemeContext
    - [ ] 1.2 添加 CSS 自定义属性
    - [ ] 1.3 实现 localStorage 持久化
​
    正在处理 1.1: 创建 ThemeContext...
    [创建 src/context/ThemeContext.tsx]
​
    ✓ 1.1 完成
​
    正在处理 1.2: 添加 CSS 自定义属性...
    [更新 src/styles/globals.css]
​
    ✓ 1.2 完成
    ...

3.1.4 /opsx:archive — 归档变更

完成变更后进行归档,将变更移动到归档目录,并同步规格文档。

语法

/opsx:archive [变更名称]

工作方式

  1. 检查文档完整性
  2. 检查任务完成状态(未完成会警告)
  3. 提示是否同步增量规格(如果尚未同步)
  4. 将变更移动到 openspec/changes/archive/YYYY-MM-DD-<名称>/

示例

你: /opsx:archive

AI: 正在归档 add-dark-mode...

    文档状态:
    ✓ proposal.md 存在
    ✓ specs/ 存在
    ✓ design.md 存在
    ✓ tasks.md 存在(8/8 任务完成)

    增量规格: 尚未同步到主规格
    → 是否现在同步?(推荐)

你: 是的

AI: ✓ 已同步规格到 openspec/specs/ui/spec.md
    ✓ 已移动到 openspec/changes/archive/2025-01-24-add-dark-mode/

    变更已成功归档。

3.2 扩展模式命令

如果你需要更细粒度的控制,可以启用扩展工作流:

# 选择工作流配置
openspec config profile

# 更新项目配置
openspec update

扩展模式提供更多命令:

命令用途
/opsx:new创建变更框架(仅创建目录和元数据)
/opsx:continue创建下一个文档(逐步进行)
/opsx:ff快进:一次性创建所有规划文档
/opsx:verify验证实现与文档是否一致
/opsx:sync手动同步增量规格
/opsx:bulk-archive批量归档多个变更
/opsx:onboard引导式教程(适合新用户)

3.2.1 /opsx:new — 创建变更框架

只创建变更目录和元数据文件,不生成任何文档。适合需要完全自定义的用户。

语法

/opsx:new [变更名称] [--schema <模式名称>]

示例

你: /opsx:new add-dark-mode

AI: 创建了 openspec/changes/add-dark-mode/
    模式: spec-driven

    准备创建: proposal
    使用 /opsx:continue 创建它,或 /opsx:ff 创建所有文档。

3.2.2 /opsx:continue — 逐步创建文档

根据依赖关系,创建下一个可创建的文档。每执行一次创建一个文档。

语法

/opsx:continue [变更名称]

文档依赖关系

proposal ──► specs ──► design ──► tasks ──► 实现

示例

你: /opsx:continue

AI: 变更: add-dark-mode

    文档状态:
    ✓ proposal    (已完成)
    ◆ specs       (可创建)
    ◆ design      (可创建)
    ○ tasks       (等待: specs)

    正在创建 specs...

    [读取 proposal.md,根据需求创建规格]

    ✓ 已创建 openspec/changes/add-dark-mode/specs/ui/spec.md

    现在可创建: tasks
    运行 /opsx:continue 创建下一个文档。

3.2.3 /opsx:ff — 快进创建

一次性创建所有规划文档,适合需求明确的情况。

语法

/opsx:ff [变更名称]

示例

你: /opsx:ff add-dark-mode

AI: 快进创建 add-dark-mode...

    ✓ 创建 proposal.md
    ✓ 创建 specs/ui/spec.md
    ✓ 创建 design.md
    ✓ 创建 tasks.md

    所有规划文档已完成!
    准备开始实现。运行 /opsx:apply 开始。

3.2.4 /opsx:verify — 验证实现

在归档前验证实现是否与文档一致,检查三个维度:

维度检查内容
完整性所有任务已完成、所有需求已实现、场景已覆盖
正确性实现符合规格意图、边界情况已处理
一致性设计决策反映在代码中、模式保持一致

示例

你: /opsx:verify

AI: 正在验证 add-dark-mode...

    完整性
    ✓ tasks.md 中的所有 8 个任务已勾选
    ✓ specs 中的所有需求有对应代码
    ⚠ 场景"系统偏好检测"没有测试覆盖

    正确性
    ✓ 实现符合规格意图
    ✓ 边界情况已处理
    ✓ 错误状态符合规格定义

    一致性
    ✓ 设计决策反映在代码结构中
    ✓ 命名约定与 design.md 一致
    ⚠ 设计提到"CSS 变量"但实现使用了 Tailwind 类

    总结
    ─────────────────────────────
    严重问题: 0
    警告: 2
    可归档: 是(有警告)

    建议:
    1. 为系统偏好检测添加测试
    2. 更新 design.md 以反映 Tailwind 使用,或重构为使用 CSS 变量

3.2.5 /opsx:bulk-archive — 批量归档

当你同时处理多个变更时,可以批量归档。它会自动检测规格冲突并解决。

示例

你: /opsx:bulk-archive

AI: 发现 3 个已完成的变更:
    - add-dark-mode (8/8 任务完成)
    - fix-login-bug (3/3 任务完成)
    - update-footer (2/2 任务完成)

    检查规格冲突...
    ⚠ add-dark-mode 和 update-footer 都涉及 specs/ui/

    检查代码库以解决...
    两个变更都已实现。将按时间顺序合并:
    1. add-dark-mode (创建于 120日)
    2. update-footer (创建于 122日)

    归档所有 3 个变更吗?

你: 是的

AI: ✓ 已归档 add-dark-mode
    ✓ 已归档 fix-login-bug
    ✓ 已归档 update-footer
    规格已合并: add-dark-mode → update-footer

3.2.6 /opsx:onboard — 引导式教程

适合新用户学习完整工作流的交互式教程,使用你的真实代码库进行操作。

示例

你: /opsx:onboard

AI: 欢迎使用 OpenSpec!

    我将带你完成整个工作流程,使用你的真实代码库。
    我们会找到一些可以改进的小地方,创建一个正式的变更,
    实现它,然后归档。

    让我扫描你的代码库寻找机会...

    [分析代码库]

    我发现了几个可以处理的地方:
    1. 为联系表单添加输入验证
    2. 改善认证流程中的错误消息
    3. 为异步按钮添加加载状态

    你对哪个感兴趣?(或者建议其他内容)

3.3 不同 AI 工具的命令语法

不同 AI 编程助手使用略微不同的命令语法:

工具语法示例
Claude Code/opsx:propose, /opsx:apply
Cursor/opsx-propose, /opsx-apply
Windsurf/opsx-propose, /opsx-apply
GitHub Copilot (IDE)/opsx-propose, /opsx-apply
Trae基于技能的调用,如 /openspec-propose

四、注意事项

4.1 什么时候使用 OpenSpec

推荐使用

  1. 新功能开发:当你需要添加一个完整的新功能时,OpenSpec 可以帮助你系统地规划需求、设计和任务。
  2. 复杂重构:涉及多个模块的重构工作,提前规划可以避免遗漏。
  3. 团队协作:当多人协作时,OpenSpec 的文档可以作为沟通的基础。
  4. 需要追踪历史:归档的变更提供了完整的决策记录和实现历史。
  5. AI 辅助开发:使用 AI 编程助手时,OpenSpec 可以防止 AI"遗忘"需求。

不推荐使用

  1. 快速原型:如果你只是在验证一个想法,可能不需要完整的规格流程。
  2. 简单的 Bug 修复:一行代码的修复可能不需要完整的变更流程。
  3. 紧急修复:生产环境紧急修复时,先修复问题,之后可以补充文档。
  4. 实验性代码:不确定是否保留的实验性代码。

4.2 关键问题:紧急修改功能代码后,是否需要 /opsx:archive

这是一个常见的问题。让我们分情况讨论:

情况一:修改的是当前正在进行的变更

如果你正在实现一个变更(已经运行了 /opsx:propose 但还没 /opsx:archive),在实现过程中发现需要紧急修改某些功能代码:

  • 不需要 立即归档
  • 应该 更新相关的文档(如 design.mdtasks.md)以反映变化
  • 继续执行 /opsx:apply 直到所有任务完成
  • 最后执行 /opsx:archive 完成归档

OpenSpec 的设计理念是"流畅迭代"——你可以在任何时候更新文档,不需要严格的阶段门控。

情况二:修改的是已归档的旧功能

如果你需要修改一个已经归档的功能:

  • 应该 创建一个新的变更(/opsx:propose fix-xxx
  • 在新变更中说明修改的原因和范围
  • 完成后正常归档

情况三:真正的紧急情况

对于生产环境的紧急修复:

  1. 先修复问题——不要让流程阻碍紧急响应
  2. 事后补充:如果修改较大,可以创建一个"追溯性"的变更文档记录决策
  3. 更新主规格:确保 specs/ 反映新的系统行为

核心原则

/opsx:archive 的目的是将增量规格合并到主规格中。如果你修改了系统行为但没有归档,specs/ 就不会反映真实的系统状态。所以,只要系统行为发生了变化,最终都应该归档——但时机可以灵活选择。

4.3 常见问题及解决方案

问题 1:"Change not found"

原因:命令无法识别要操作的变更。

解决方案

  • 明确指定变更名称:/opsx:apply add-dark-mode
  • 检查变更文件夹是否存在:运行 openspec list
  • 确认你在正确的项目目录

问题 2:命令不被识别

原因:AI 工具没有识别 OpenSpec 命令。

解决方案

  • 确保已初始化:openspec init
  • 重新生成技能文件:openspec update
  • 检查 .claude/skills/ 目录是否存在
  • 重启 AI 工具以加载新技能

问题 3:文档生成不完整或不正确

原因:AI 创建的文档质量不佳。

解决方案

  • openspec/config.yaml 中添加更多项目上下文
  • 为特定文档类型添加规则
  • 在变更描述中提供更多细节
  • 使用 /opsx:continue 代替 /opsx:ff 以获得更多控制

问题 4:多变更并行时的规格冲突

原因:多个变更修改了同一份规格。

解决方案

  • 使用 /opsx:bulk-archive,它会自动检测和解决冲突
  • 手动使用 /opsx:sync 在归档前同步规格
  • 检查冲突后按时间顺序合并

问题 5:AI 模型选择

建议:OpenSpec 与高推理能力的模型配合效果最好。推荐使用:

  • Claude Opus 4.5
  • GPT-5.2

这些模型在规划和实现阶段都能提供更好的结果。

问题 6:上下文窗口管理

建议:OpenSpec 在干净的上下文窗口中效果最好。建议:

  • 开始实现前清除上下文
  • 在整个会话中保持良好的上下文管理
  • 定期使用 openspec status 检查状态

4.4 模型选择与上下文管理最佳实践

模型选择

  • OpenSpec 与高推理能力模型配合效果最佳
  • 推荐使用 Opus 4.5 和 GPT 5.2 进行规划和实现

上下文管理

  • OpenSpec 受益于干净的上下文窗口
  • 在开始实现前清除上下文
  • 在会话中保持良好的上下文卫生

五、实战案例:为网站添加主题切换功能

下面我们通过一个完整的实战案例,演示如何使用 OpenSpec 为网站添加一个主题切换功能。

5.1 场景描述

假设我们有一个 Next.js 网站,用户反馈希望在夜间使用时能够切换到深色主题,减少眼睛疲劳。我们需要:

  1. 添加浅色/深色主题切换
  2. 支持系统偏好检测
  3. 持久化用户选择

5.2 步骤一:探索需求(可选)

如果对需求还有疑问,可以先探索:

你: /opsx:explore

AI: 你想探索什么?

你: 我想给网站添加深色模式,但不确定该怎么实现。我们的技术栈是 Next.js + Tailwind CSS。

AI: 让我调查一下你的项目...

    [分析项目结构、现有样式系统]

    我发现你已经在使用 Tailwind CSS,它内置了深色模式支持。有几个实现选项:

    选项 1: 使用 Tailwind 的 class 策略
    - 在 html 元素添加 dark 类
    - 使用 dark: 前缀定义深色样式
    - 简单,与现有技术栈无缝集成

    选项 2: 使用 CSS 变量
    - 定义 --color-* 变量
    - 根据主题切换变量值
    - 更灵活,支持自定义主题

    选项 3: 使用 next-themes 库
    - 专为 Next.js 设计
    - 自动处理 SSR 和系统偏好
    - 开箱即用,但增加依赖

    考虑到你的技术栈,选项 13 都很合适。你的偏好是什么?

你: 我们用 Tailwind 的 class 策略吧,不想增加新依赖。

AI: 好选择!准备好开始了吗?运行 /opsx:propose add-theme-toggle 开始。

5.3 步骤二:创建变更

使用核心命令快速创建变更:

你: /opsx:propose add-theme-toggle

AI: 创建了 openspec/changes/add-theme-toggle/
    ✓ proposal.md — 为什么做、做什么
    ✓ specs/ui/spec.md — 需求和场景
    ✓ design.md — 技术方案
    ✓ tasks.md — 实现清单
    准备开始实现!运行 /opsx:apply

5.4 步骤三:查看生成的文档

让我们看看生成了什么文档。这些文档可以帮助我们理解 AI 的规划是否正确。

proposal.md(部分内容):

# Proposal: Add Theme Toggle

## Intent
Users have requested a dark mode option to reduce eye strain
during nighttime usage and improve overall user experience.

## Scope
- Add theme toggle in header
- Support system preference detection
- Persist preference in localStorage
- Apply theme using Tailwind's dark mode (class strategy)

## Approach
Use Tailwind's built-in dark mode with `class` strategy.
A React context will manage theme state, and a toggle
component will be added to the header.

tasks.md(部分内容):

# Tasks

## 1. Theme Infrastructure
- [ ] 1.1 Create ThemeContext with light/dark state
- [ ] 1.2 Add theme detection for system preference
- [ ] 1.3 Implement localStorage persistence
- [ ] 1.4 Add class toggle on html element

## 2. UI Components
- [ ] 2.1 Create ThemeToggle component with sun/moon icons
- [ ] 2.2 Add toggle to Header component
- [ ] 2.3 Add smooth transition animation

## 3. Styling
- [ ] 3.1 Define dark theme color palette
- [ ] 3.2 Update existing components with dark: variants
- [ ] 3.3 Update global styles for dark mode

5.5 步骤四:实现任务

确认文档无误后,开始实现:

你: /opsx:apply

AI: 正在实现 add-theme-toggle...

    读取 tasks.md:
    - [ ] 1.1 Create ThemeContext
    - [ ] 1.2 Add theme detection
    - [ ] 1.3 Implement localStorage persistence
    ...

    正在处理 1.1: Create ThemeContext...
    [创建 src/contexts/ThemeContext.tsx]

    ✓ 1.1 完成

    正在处理 1.2: Add theme detection...
    [更新 ThemeContext,添加系统偏好检测]

    ✓ 1.2 完成

    ...

    [继续实现所有任务]

    ✓ 所有任务完成!

5.6 步骤五:实现中发现问题(演示流畅迭代)

假设在实现过程中,我们发现需要在设置页面也添加一个主题切换入口:

你: 等等,我还需要在设置页面也添加一个主题切换选项

AI: 好的,让我更新 tasks.md 添加这个任务...

    [更新 tasks.md,添加新任务]

    新增任务:
    - [ ] 2.4 Add theme settings section in Settings page

    继续实现吗?

你: /opsx:apply

AI: 继续实现 add-theme-toggle...

    正在处理 2.4: Add theme settings section...
    [创建设置页面的主题区域]2.4 完成

这就是 OpenSpec 的"流畅迭代"——你可以在任何时候更新文档,不需要重新开始。

5.7 步骤六:验证实现(扩展模式)

如果你启用了扩展模式,可以在归档前验证:

你: /opsx:verify

AI: 正在验证 add-theme-toggle...

    完整性
    ✓ 所有任务已完成
    ✓ 所有需求有对应代码
    ✓ 所有场景已覆盖

    正确性
    ✓ 实现符合规格意图
    ✓ 边界情况(无 localStorage、系统偏好变化)已处理

    一致性
    ✓ 使用 Tailwind class 策略符合设计
    ✓ 组件命名与设计文档一致

    总结
    ─────────────────────────────
    严重问题: 0
    警告: 0
    可归档: 是

5.8 步骤七:归档变更

完成并验证后,归档变更:

你: /opsx:archive

AI: 正在归档 add-theme-toggle...

    文档状态:
    ✓ proposal.md 存在
    ✓ specs/ui/spec.md 存在
    ✓ design.md 存在
    ✓ tasks.md 存在(9/9 任务完成)

    增量规格: 尚未同步到主规格
    → 是否现在同步?

你: 是的

AI: ✓ 已同步规格到 openspec/specs/ui/spec.md
    ✓ 已移动到 openspec/changes/archive/2025-01-24-add-theme-toggle/

    变更已成功归档。准备下一个功能!

5.9 案例总结

通过这个实战案例,我们演示了:

  1. 探索阶段:使用 /opsx:explore 调查技术方案
  2. 创建变更:使用 /opsx:propose 快速创建完整规划
  3. 实现任务:使用 /opsx:apply 逐项完成任务
  4. 流畅迭代:在实现过程中动态更新文档
  5. 验证实现:使用 /opsx:verify 确保质量
  6. 归档变更:使用 /opsx:archive 完成流程

六、CLI 命令参考

除了在 AI 编程助手中使用的斜杠命令,OpenSpec 还提供了 CLI 命令用于管理和验证:

# 查看活跃变更
openspec list

# 查看变更详情
openspec show <变更名称>

# 验证规格格式
openspec validate <变更名称>

# 交互式仪表板
openspec view

# 查看变更状态
openspec status --change <变更名称>

# 列出可用模式
openspec schemas

# 创建新模式
openspec schema init <模式名称>

# 从现有模式派生
openspec schema fork spec-driven my-workflow

# 验证模式结构
openspec schema validate <模式名称>

七、总结

OpenSpec 是一个简洁而强大的工具,它通过以下方式改善 AI 辅助开发体验:

  1. 防止遗忘:将需求、设计、任务文档化,避免 AI 上下文溢出
  2. 流畅迭代:没有严格的阶段限制,随时可以更新文档
  3. 历史追踪:归档的变更提供完整的决策和实现记录
  4. 团队协作:文档作为沟通基础,提高协作效率
  5. 灵活定制:支持自定义模式和工作流

核心工作流

/opsx:propose ──► /opsx:apply ──► /opsx:archive

就这么简单!如果你需要更多控制,可以启用扩展模式,获得逐步创建文档、验证实现等高级功能。

获取帮助


本文档基于 OpenSpec 1.2.0 版本编写。