news 2026/7/6 11:18:30

OpenSpec:规范驱动AI编程新范式

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
OpenSpec:规范驱动AI编程新范式

OpenSpec 详解与 Course 结合使用指南

一、OpenSpec 是什么

OpenSpec是由 Fission AI 团队发起的轻量级开源规范驱动开发(Spec-Driven Development, SDD)框架和命令行工具(CLI),核心理念是先写规格(Spec),再写代码,专为 AI 辅助编程场景设计。

核心定位与价值

  • 解决 AI 编程中需求模糊、幻觉、需求偏移问题,将散落在聊天记录中的需求固化为结构化规范
  • 提供可审查、可追溯、确定性的 AI 开发工作流,让人类开发者主导,AI 严格执行
  • 无需 API 密钥、极简配置、广泛兼容主流 AI 编码工具(Cursor、Claude Code、GitHub Copilot 等)
  • 采用双文件夹模型
    • openspec/specs/:当前系统真实行为规范(事实来源 Source of Truth
    • openspec/changes/:正在提议的更新(变更提案

核心工作流(5 阶段)

  1. 创建变更提案(proposal):明确需求与目标
  2. 编写并审核规范(spec):细化技术方案、约束条件
  3. AI 实施(implementation):AI 基于规范生成/修改代码
  4. 测试验证(validation):验证代码符合规范要求
  5. 归档与更新规范(archival):将变更合并到主规范中

二、OpenSpec 安装与基础使用

1. 安装(Node.js 环境)

# 全局安装最新版本npminstall-g @fission-ai/openspec@latest# 验证安装成功openspec --version

2. 初始化项目

# 在现有项目根目录执行初始化openspec init# 生成目录结构your-project/ └── openspec/ ├── specs/# 存放主规范文件│ └── README.md └── changes/# 存放变更提案

3. 核心命令

命令功能
openspec init初始化 OpenSpec 目录结构
openspec new <proposal-name>创建新的变更提案
openspec apply <change-id>应用变更提案并更新主规范
openspec list列出所有变更提案及其状态
openspec archive <change-id>归档已完成的变更提案

三、详细使用示例(完整实战)

React+TypeScript 项目添加用户登录组件为例

示例 1:创建变更提案并编写规范

  1. 创建新提案

    openspec new feature/add-login-component

    自动生成文件:openspec/changes/20260113-feature-add-login-component/

  2. 编写规范文件(spec.md

    # 功能:添加用户登录组件 ## 项目上下文 - 技术栈:React 18+TypeScript+Tailwind CSS - 现有架构:组件采用函数式+hooks,表单使用 React Hook Form ## 需求与目标 1. 实现登录表单(用户名+密码) 2. 支持表单验证(必填、密码最小长度 6) 3. 实现登录按钮与提交逻辑(调用 /api/login 接口) 4. 显示登录状态与错误提示 ## 约束条件 - 组件名:LoginForm(PascalCase) - 样式:使用 Tailwind CSS,遵循项目现有设计规范 - 安全:密码输入框使用 type="password",不显示明文 - 可测试:添加单元测试(Jest+React Testing Library)

示例 2:AI 实施与代码生成(结合 Claude Code)

  1. 将规范提供给 Claude Code 并生成代码

    # 调用 Claude CLI,传入规范文件catopenspec/changes/20260113-feature-add-login-component/spec.md|claude code
  2. Claude 生成符合规范的代码(示例简化版)

    // src/components/LoginForm.tsx import React from 'react'; import { useForm } from 'react-hook-form'; interface LoginFormInputs { username: string; password: string; } const LoginForm: React.FC=() => { const { register, handleSubmit, formState: { errors } }=useForm<LoginFormInputs>(); const onSubmit=(data: LoginFormInputs) => { // 调用登录 API fetch('/api/login', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(data) }); }; return ( <form onSubmit={handleSubmit(onSubmit)} className="space-y-4 p-6"> <div> <label>用户名</label> <input {...register('username', { required: '用户名必填' })} className="w-full p-2 border rounded" /> {errors.username && <p className="text-red-500">{errors.username.message}</p>} </div> <div> <label>密码</label> <input type="password" {...register('password', { required: '密码必填', minLength: { value: 6, message: '密码至少 6 位' } })} className="w-full p-2 border rounded" /> {errors.password && <p className="text-red-500">{errors.password.message}</p>} </div> <button type="submit" className="w-full bg-blue-500 text-white p-2 rounded">登录</button> </form> ); }; export default LoginForm;

示例 3:验证与归档

  1. 测试代码符合规范要求(单元测试、手动测试)
  2. 应用变更并更新主规范
    # 获取变更 ID(查看列表)openspec list# 应用变更openspec apply20260113-feature-add-login-component# 归档变更openspec archive20260113-feature-add-login-component
  3. 主规范openspec/specs/components.md自动更新,添加 LoginForm 组件规范

OpenSpec 不仅是 AI 辅助编程的工具,更是一种规范驱动的开发理念

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/26 19:16:37

终极DLSS Swapper专业指南:快速提升游戏性能的完整教程

终极DLSS Swapper专业指南&#xff1a;快速提升游戏性能的完整教程 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 想要彻底解决游戏画面卡顿、帧率不稳的困扰吗&#xff1f;DLSS Swapper作为专业的游戏性能优化工具&a…

作者头像 李华
网站建设 2026/7/1 23:43:29

终极DLSS版本管理指南:一键提升游戏画质和性能

终极DLSS版本管理指南&#xff1a;一键提升游戏画质和性能 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper DLSS Swapper是一款革命性的开源工具&#xff0c;专门用于管理游戏中的DLSS文件版本。通过这个简单易用的软件…

作者头像 李华
网站建设 2026/7/1 15:50:38

51单片机驱动蜂鸣器唱歌新手指南:从点亮到发声

让51单片机“唱”出第一首歌&#xff1a;从蜂鸣器发声到音乐播放的完整实践你有没有试过&#xff0c;按下开发板上的按钮&#xff0c;听到熟悉的《小星星》旋律响起&#xff1f;那一刻&#xff0c;代码不再是冷冰冰的字符&#xff0c;而是变成了有温度的声音。对于刚入门嵌入式…

作者头像 李华
网站建设 2026/7/1 22:11:56

DLSS Swapper终极指南:轻松升级游戏画质与性能的完整教程

DLSS Swapper终极指南&#xff1a;轻松升级游戏画质与性能的完整教程 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 还在为游戏画质不够清晰、帧率不够稳定而烦恼吗&#xff1f;&#x1f914; DLSS Swapper这款神器让…

作者头像 李华
网站建设 2026/7/4 15:52:33

MediaPipe Holistic保姆级教程:错误处理与日志分析

MediaPipe Holistic保姆级教程&#xff1a;错误处理与日志分析 1. 引言 1.1 AI 全身全息感知 - Holistic Tracking 在虚拟现实、数字人驱动和动作捕捉等前沿应用中&#xff0c;对人类行为的全维度理解已成为核心技术需求。MediaPipe Holistic 正是为此而生——它不仅是 Goog…

作者头像 李华
网站建设 2026/6/26 18:43:26

DLSS Swapper:游戏图形技术版本管理的终极解决方案

DLSS Swapper&#xff1a;游戏图形技术版本管理的终极解决方案 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 在追求极致游戏体验的道路上&#xff0c;NVIDIA DLSS技术已成为提升画质与性能的关键利器。然而&#xff…

作者头像 李华