OpenSpec Coding 从零上手使用

OpenSpec Coding 从零上手使用
cuizhenjieOpenSpec Coding
AI编程助手虽功能强大,但当需求仅存在于聊天记录中时,其行为往往难以预测。OpenSpec引入了一种轻量级的规范工作流,在实现之前锁定意图,为您提供确定性和可审查的输出结果。
OpenSpec 作为一个为AI编码助手设计的规范驱动开发工具,核心优势:
- 🚀 轻量级:无需API密钥,最小化设置
- 🔄 现有项目优先:特别适合修改现有功能 (1→n)
- 📋 变更跟踪:提案、任务和规范差异的完整生命周期管理
- 🤖 AI工具集成:支持多种主流AI编码助手
为什么需要 OpenSpec Coding
传统AI编码助手的问题:
当您使用AI编码助手时,是否遇到过以下情况:
- ❌ AI根据模糊提示生成不符合需求的代码
- ❌ 遗漏重要功能要求
- ❌ 添加了不必要的功能
- ❌ 代码行为不可预测
OpenSpec的解决方案
OpenSpec通过规范驱动开发解决这些问题:
- ✅ 明确共识:在编码前确定所有要求
- ✅ 结构化变更:所有相关文档集中管理
- ✅ 可审查输出:AI根据明确规范生成代码
- ✅ 版本控制:完整追踪所有变更历史
安装配置 OpenSpec
- 准备工作
1 |
|
- 初始化项目
1 |
|
紧接着完善下project.md文件,示意指令例如:
1 | Please read openspec/project.md and help me fill it out |
这一步很重要,会自动分析你的代码,填写:
- 项目用途
- 技术栈
- 代码规范
- 领域知识
- 约束条件
它让AI充分理解你的项目背景。
OpenSpec 核心概念
- 双文件夹模型
OpenSpec使用两个主要目录:
1 |
|
- 📄 proposal.md
为什么做这个功能?
要改哪些地方?
影响哪些模块?
向后兼容吗? - 📄 design.md
技术决策:为什么用UserDefaults而不是SwiftData?
数据存储:为什么用”分钟”而不是”秒”?
算法说明:树木阶段如何计算? - 📄 tasks.md
44个具体任务
分成9个阶段
包含8个测试任务 - 📁 specs/
4个能力的规范增量
timer-session(计时会话)
tree-visualization(树木可视化)
statistics-tracking(统计追踪)
data-persistence(数据持久化)
- 规范格式
规范使用Markdown格式,包含:
1 |
|
- 变更差异
变更通过”差异”格式显示:
1 |
|
完整工作流程
OpenSpec遵循四步工作流程:
1️. 起草变更提案
AI会自动创建:
openspec/changes/feature-name/proposal.md - 变更说明
openspec/changes/feature-name/tasks.md - 实施任务
openspec/changes/feature-name/specs/ - 规范差异
1 |
|
2️. 审核与对齐
与AI助手讨论,直到所有人同意:
您:能否为角色和团队过滤器添加验收标准?
AI:我来更新规范差异,添加角色和团队过滤器的场景。
1 |
|
3️. 实施任务
1 |
|
4️. 归档与更新规范
1 |
|
OpenSpec适合什么场景?
- 改进现有项目(1→n)
OpenSpec专门为此设计。它的双文件夹模型(specs/存放当前状态,changes/存放提议更新)让复杂的功能演进变得清晰可管理。 - 需要高质量的场景
当你需要:
- 准确的实现
- 清晰的文档
- 可追溯的决策
- 团队协作
OpenSpec能提供规范化的支持。
- 使用AI编码助手
OpenSpec的核心就是帮助AI更好地理解和实现你的需求。如果你已经在用Claude Code、Cursor等工具,OpenSpec会让你的效率翻倍。







