OpenSpec 是一个专为AI编程助手设计的开源工具,采用规范驱动的开发模式。它通过简洁高效的工作流,在开发者与AI协作前明确需求共识,从而提升代码质量和开发效率。
graph LR
A[OpenSpec] --> B[棕色领域 1→n]
C[Spec Kit] --> D[绿色领域 0→1]
E[Kiro] --> F[绿色领域 0→1]
G[OpenSpec优势] --> H[完整变更跟踪]
G --> I[无需API密钥]
G --> J[跨规范更新优秀]
OpenSpec 使用两个主要目录来组织项目规范与变更内容:
openspec/
├── specs/ # 当前真理源规范
│ └── auth/
│ └── spec.md # 正式规范文档
├── changes/ # 变更提案
│ └── feature-name/
│ ├── proposal.md # 变更提案
│ ├── tasks.md # 实施任务
│ ├── design.md # 技术设计(可选)
│ └── specs/ # 规范差异
│ └── auth/
│ └── spec.md # 显示增量差异
├── project.md # 项目级约定
└── AGENTS.md # AI工具指令
所有规范文档均使用标准Markdown语法编写,包含以下关键组成部分:
# 认证系统规范
## Purpose
认证和会话管理。
## Requirements
### Requirement: 用户认证
系统 SHALL 在成功认证时签发JWT令牌。
#### Scenario: 有效凭据
- WHEN 用户提交有效凭据
- THEN 返回JWT令牌
- AND 令牌包含用户ID
- AND 令牌24小时内有效
变更内容以“差异”形式展示,明确标识不同类型的修改:
| 要求项 | 最小版本 | 推荐版本 |
|---|---|---|
| Node.js | 20.19.0 | Latest LTS |
| Git | 2.30+ | Latest |
| 操作系统 | macOS/Linux/Windows | macOS/Linux |
方式 A:免安装模式(推荐新手使用)
# 使用 npx(无需全局安装)
npx openspec@latest --version
npx openspec@latest list
# 或使用 pnpm 执行
pnpm dlx openspec@latest --version
方式 B:通过 npm 全局安装
npm install -g @fission-ai/openspec@latest
openspec --version
方式 C:通过 pnpm 全局安装(Windows 用户推荐)
pnpm install -g @fission-ai/openspec@latest
openspec --version
步骤1:创建 OpenSpec 目录结构
cd your-project
openspec init
该命令将自动执行以下操作:
步骤2:验证安装结果
openspec list
openspec doctor
步骤3:本地化配置建议(中文适配)
可引导AI助手将默认英文配置文件翻译为中文,提升团队协作体验:
请把openspec文件夹下AGENTS.md、project.md内容翻译成中文
OpenSpec 遵循四阶段标准化流程推进项目变更:
借助AI助手发起新功能提议:
/openspec:proposal Add user authentication feature
系统将自动生成以下文件:
proposal.md —— 变更背景与目标说明tasks.md —— 实施任务清单确认规范细节并进行迭代完善:
# 查看具体变更信息
openspec show feature-name
# 检查规范格式是否合规
openspec validate feature-name
示例交互:
You: 能否为角色和团队过滤器添加验收标准?
AI: 我来更新规范差异,添加详细的验收场景
启动实际开发过程:
/openspec:apply feature-name
AI 将依据 tasks.md 中的任务列表逐项执行:
完成变更后进行归档处理:
/openspec:archive feature-name
也可手动执行归档命令:
openspec archive feature-name --yes
| 命令 | 功能 | 使用场景 |
|---|---|---|
list |
查看所有活动变更 | 日常管理 |
dashboard |
交互式规范仪表板 | 全局概览 |
show <change> |
显示变更详情 | 详细审查 |
validate <change> |
验证规范格式 | 质量检查 |
archive <change> |
归档变更 | 完成流程 |
openspec list
openspec view
openspec show <change>
openspec validate <change>
openspec archive <change>
# 系统运行状态诊断(详细输出)
openspec doctor --verbose
# 强制重新初始化项目配置
openspec init --force
# 更新工具集成插件
openspec update
# 提交前严格校验规范(推荐)
openspec validate <change> --strict
# 显示全部当前有效规范
openspec specs
(内容略,待补充实际应用场景示例)
(内容略,待补充自定义规则、模板扩展等内容)
(内容略,待补充多人协作流程、权限管理建议)
(内容略,待补充常见问题解决方案)
(内容略,待补充高效使用经验汇总)
使用 openspec list --specs 命令可列出当前项目中所有可用的规范定义,帮助开发者快速了解系统支持的功能范围。
该类AI辅助开发工具通常遵循统一的交互模式:
/openspec:command
/openspec:proposal
/openspec-command
/openspec-proposal
/openspec-command
/openspec-proposal
@openspec-command
@openspec-proposal
假设需为现有API服务新增“即梦4.0”文生图能力,利用AI驱动流程实现高效迭代。
/openspec:proposal 请基于curl4.md内容以及现有images.ts代码,新增补充基于high_aes_general_v40模型功能,请修改images.ts实现high_aes_general_v40模型能力。请不要先写代码,先把需求整理好,结合原来的项目梳理项目新增的变革需求。
AI将自动生成以下内容:
openspec/changes/add-high-aes-v40/proposal.md
openspec/changes/add-high-aes-v40/tasks.md
openspec/changes/add-high-aes-v40/specs/
tasks.md 示例内容如下:
## 1. 实施high_aes_general_v40模型支持
- [ ] 1.1 在MODEL_MAP中添加jimeng-4.0模型映射
- [ ] 1.2 更新DEFAULT_MODEL配置(如需要)
- [ ] 1.3 验证模型参数配置正确性
## 2. 优化图片生成参数支持
- [ ] 2.1 支持更高的分辨率配置(2560x1440)
- [ ] 2.2 确保与现有参数的兼容性
- [ ] 2.3 添加分辨率比例验证
## 3. 增强批量生成能力
- [ ] 3.1 优化generateImages函数支持批量生成
- [ ] 3.2 确保与现有API接口的兼容性
- [ ] 3.3 添加错误处理和日志记录
## 4. 测试和验证
- [ ] 4.1 单元测试:模型映射功能
- [ ] 4.2 集成测试:图片生成流程
- [ ] 4.3 验证与curl4.md中描述的参数一致性
/openspec:apply add-high-aes-v40
AI会依据 tasks.md 中的任务列表逐一实施,并实时更新完成状态:
## 执行进度
- [x] 1.1 在MODEL_MAP中添加jimeng-4.0模型映射 ?
- [x] 1.2 更新DEFAULT_MODEL配置 ?
- [x] 1.3 验证模型参数配置正确性 ?
- [ ] 1.4 ... (进行中)
启动本地服务进行功能校验:
# 构建并运行项目
npm run build
npm run dev
# 使用API调试工具(如Apifox)发起请求
curl -X POST http://localhost:3000/api/generate-image \
-d '{"model": "high_aes_general_v40", "prompt": "测试图片"}'
/openspec:archive add-high-aes-v40
创建或修改项目根目录下的配置文件:
openspec/config.yaml
project:
name: "my-awesome-project"
version: "1.0.0"
description: "AI驱动的现代Web应用"
tools:
claude_code:
enabled: true
commands:
- proposal
- apply
- archive
cursor:
enabled: true
workflow:
auto_validate: true
require_review: true
archive_on_complete: true
templates:
feature: "templates/feature-proposal.md"
bugfix: "templates/bugfix-proposal.md"
refactor: "templates/refactor-proposal.md"
建立统一的共享提案模板,提升沟通效率:
templates/feature-proposal.md
# 功能提案:{{feature_name}}
## 概述
{{feature_description}}
## 需求分析
### 功能性需求
- {{req_1}}
- {{req_2}}
### 非功能性需求
- {{nfr_1}}
- {{nfr_2}}
## 验收标准
- [ ] 标准1:{{acceptance_1}}
- [ ] 标准2:{{acceptance_2}}
## 实施任务
1. [ ] 任务1:{{task_1}}
2. [ ] 任务2:{{task_2}}
## 测试计划
- 单元测试
- 集成测试
- 手动测试
通过 GitHub Actions 实现自动化校验流程:
name: OpenSpec Validation
on:
pull_request:
paths:
- 'openspec/**'
jobs:
validate-specs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install OpenSpec
run: npm install -g @fission-ai/openspec@latest
- name: Validate OpenSpec changes
run: |
for change in $(openspec list --format json | jq -r '.active_changes[]'); do
openspec validate "$change"
done
timeline
title OpenSpec 团队采用时间线
Week 1 : 试点项目<br>选择1-2个小项目
Week 2-3 : 团队培训<br>建立规范模板
Week 4 : 标准化流程<br>集成CI/CD验证
Week 5+ : 全面推广<br>持续优化流程
# OpenSpec 临时文件
.openspec/cache/
openspec/changes/*/temp/
openspec/changes/*/draft/
# AI生成的临时内容
*.ai-tmp.*
.ai-backup/
遵循清晰语义化提交原则:
# 推荐写法
git commit -m "feat: add user authentication spec"
git commit -m "fix: update profile filter validation rules"
# 提交前必须执行校验
openspec validate --all --strict
设置标准化的 Pull Request 模板:
.github/pull_request_template.md
## OpenSpec 变更检查清单
- [ ] 已检查 proposal.md 和需求完整性
- [ ] 已验证 tasks.md 任务分解合理性
- [ ] 已审查规范差异的准确性
- [ ] 已通过 openspec validate 检查
- [ ] 相关测试已通过
## 变更影响
- [ ] 影响数据库架构
- [ ] 影响API接口
- [ ] 影响前端组件
- [ ] 需要用户文档更新
## 测试环境
- 测试地址:[填写测试地址]
- 测试账号:[填写测试凭证]
现象描述:
openspec init
执行命令时报错,无法正常初始化环境。
解决方法:
node --version # 确保Node.js版本 >= 20.19.0
npm cache clean --force
npm uninstall -g @fission-ai/openspec
pnpm install -g @fission-ai/openspec@latest # Windows系统建议使用pnpm
# Q2: 斜杠命令无法识别
症状描述:
AI工具未能响应OpenSpec相关指令。
解决方案步骤:
openspec update # 更新AI引导逻辑,同步最新指令集
cat openspec/AGENTS.md # 查看代理配置文件内容,确认是否存在异常
# 检查关键规则与提示目录
ls -la .cursor/rules/
ls -la .github/prompts/
# Q3: 规范验证未通过
问题表现:
openspec validate
出现格式校验错误提示。
诊断操作:
openspec validate <change-name> --verbose
openspec show <change-name> --structure
模板修复方式:
openspec generate-template --type feature > openspec/changes/<name>/proposal.md
# Q4: 归档过程出错
故障现象:
openspec archive
归档流程中断或失败。
强制执行归档:
openspec archive <change-name> --force --yes
状态核查命令:
openspec show <change-name> --tasks
# 调试辅助技巧
开启调试日志输出:
export OPENSPEC_DEBUG=true
export OPENSPEC_LOG_LEVEL=debug
openspec list --verbose
项目健康全面检测:
# 运行系统自检
openspec doctor --verbose
openspec integrations --check
# 性能调优配置(写入config.yaml)
performance:
cache_enabled: true
parallel_validation: true
max_concurrent_tasks: 4
optimization:
skip_if_unchanged: true
incremental_build: true
???? 核心原则:CLEAR模型
| 原则 | 含义 | 实践要点 |
|------|------------|--------------------------------------|
| C | Concise | 内容简洁清晰,避免重复和冗长表达 |
| L | Logical | 结构逻辑严密,前后一致、条理分明 |
| E | Executable | 方案具备可实施性,支持自动化测试 |
| A | Auditable | 变更记录完整,便于追溯与审计 |
| R | Reviewable | 易于人工阅读和评审,降低理解成本 |
???? 质量保障检查清单
【规范撰写阶段】
- 明确目标,界定变更范围
- 验收标准具体且可验证
- [ ] 任务拆分粒度适中合理
- [ ] 技术选型已完成初步评估
- 测试策略覆盖主要场景
【开发实施阶段】
- AI依据任务列表逐步执行
- [ ] 每个步骤均有验证机制
- [ ] 异常处理方案已定义
- [ ] 代码符合质量规范要求
- [ ] 相关文档实时同步更新
【归档完成阶段】
- 所有子任务均已验证通过
- 规范差异已正确合并
- 完整保留变更历史记录
- 影响分析报告已生成
- 团队知识库同步刷新
???? 团队协作文化建设建议
???? 小步快跑
- 优先选择小型功能模块进行试点应用
???? 数据支撑决策
- 主动收集流程使用数据与成效指标
???? 持续迭代优化
- 根据实际反馈持续改进工作流
???? 推动知识流通
- 构建内部最佳实践共享资料库
???? 建立正向激励
- 设立质量提升专项奖励机制
???? 成功衡量指标体系
| 指标类型 | 衡量维度 | 目标值 |
|----------|--------------------|------------|
| 效率 | 需求明确耗时 | 缩短50% |
| 质量 | 返工发生频率 | 下降60% |
| 协作 | 团队共识达成程度 | 提升80% |
| 维护 | 文档更新及时率 | 达到95% |
???? 推荐学习与参考资源
官方网站与社区平台:
- OpenSpec官方网站
- OpenSpec GitHub仓库
- Fission AI官网
- OpenSpec Discord社区
支持的AI开发工具列表:
- Claude Code
- Cursor编辑器
- GitHub Copilot
- Amazon Q Developer
权威技术文档与指南:
- IEEE标准830-1998 - 软件需求规范
- 敏捷开发宣言
- DevOps实践指南
???? 总结与价值提炼
OpenSpec通过引入规范化驱动的开发模式,显著提升了AI编程的可控性和协作效率。该框架不仅解决了AI输出不稳定的问题,还构建了人机协同的标准作业路径。
核心优势回顾:
?
统一认知基础
- 在编码启动前实现团队对齐
?
结构化流程管理
- 所有变更均可追踪、可回溯
?
广泛工具兼容
- 无缝集成主流AI辅助开发环境
?
输出质量可控
- 以规范为基准保障成果一致性
?
标准化协作机制
- 提供清晰的人机交互流程
快速入门操作命令汇总:
# 第一步:全局安装
npm install -g @fission-ai/openspec@latest
# 第二步:进入项目目录并初始化
cd your-project
openspec init
# 第三步:创建首个变更提案
/openspec:proposal Add user authentication
# 第四步:执行开发任务
/openspec:apply add-user-authentication
# 第五步:完成归档
/openspec:archive add-user-authentication
关键成功要素总结:
- 高层支持与团队认同
- 初期试点聚焦简单场景
- 持续收集反馈并优化流程
- 强化培训与知识传递
- 结合绩效机制推动落地
开启规范驱动的AI编程新纪元!
在AI辅助开发日益普及的今天,建立科学、可延续的工作范式成为提升效率的关键。通过系统化的规范管理与工具链协同,团队能够实现更高效、一致且可持续的开发流程。
???? 规范优先
在任何项目启动初期,首要任务是制定明确、可执行的技术规范。统一的编码标准、接口定义和文档结构有助于减少歧义,确保AI生成内容的准确性与一致性。
????? 工具熟练
熟悉并掌握各类支持AI编程的集成工具,是发挥其最大效能的前提。合理配置IDE插件、自动化脚本及API连接方式,能够让AI能力无缝融入现有开发环境。
graph LR
A[OpenSpec] --> B[棕色领域 1→n]
C[Spec Kit] --> D[绿色领域 0→1]
E[Kiro] --> F[绿色领域 0→1]
G[OpenSpec优势] --> H[完整变更跟踪]
G --> I[无需API密钥]
G --> J[跨规范更新优秀]
???? 团队协作
构建团队级别的规范管理体系,确保所有成员遵循同一套准则。通过共享模板、评审机制和知识沉淀,提升整体协作效率与代码质量。
???? 迭代完善
建立基于实际反馈的持续优化机制。通过收集使用中的问题与建议,不断调整和细化规范内容,形成动态演进的良性循环。
???? 持续改进
结合项目实践中的经验教训,定期复盘工作流程,识别瓶颈环节,并进行针对性优化,推动开发模式的逐步升级。
本文档结合OpenSpec官方资料与真实项目实践整理而成,适合在实际工作中反复查阅与参考。
扫码加好友,拉您进群



收藏
