同事:“Claude Code都能自动写代码了,还要什么Spec Coding?” 我反问:“屎山代码你来维护?”

让AI写代码,踩坑比上手快。写完能跑,但不一定符合你的需求。不是模型不够强大,而是你提供的规范不够。OpenSpec就是用来解决这个问题的:先和你探讨方案,然后出规范和计划,没问题它再写,今天就来聊聊它在项目中的实际使用!

OpenSpec简介与核心工作流

OpenSpec是一个面向AI编程的规范驱动框架,核心思想是"先对齐需求,再写代码",目前在Github山已有53k+star。 每次功能变更会先生成提案、需求规格、技术设计和任务清单等规划文档,经人工确认后再让AI实现,让AI编程的结果更加符合预期。

OpenSpec核心的工作流主要包括如下:

  • /opsx:explore:进入探索模式,通过对话方式探讨需求,理清需求再动手。
  • /opsx:propose:生成规划制品,把需求写入规划文档,涵盖proposal+specs+design+tasks。
    • proposal.md:变更提案,为什么要做和做什么。
    • pecs/spec.md:需求规格,用结构化格式描述具体需求和验收场景。
    • design.md:技术设计,描述技术实现方案。
    • tasks.md:任务清单,列出实现步骤。
  • /opsx:apply:按按清单逐项实现,生成实际代码+tasks进度更新。
  • /opsx:archive:完成后归档存档,将规划文档移入archive目录。

下面是OpenSpec的工作流全景图,能清晰地描述流程及对应流程的产物。

这或许是一个对你有用的开源项目,mall项目是一套基于 SpringBoot3 + Vue3 的电商系统(Github标星60K),后端支持多模块和微服务架构,采用Docker和K8S部署。包括前台商城项目和后台管理系统,能支持完整的订单流程!涵盖商品、订单、购物车、权限、优惠券、会员、支付等功能!

项目演示:

安装及初始化

这里以OpenCode为例,介绍下OpenSpec的安装及初始化。

  • 使用npm命令来安装OpenSpec非常简单,使用如下命令即可安装;
bash 复制代码
npm install -g @studyzy/openspec-cn@latest
  • 安装完成后进入项目并初始化;
bash 复制代码
cd your-project
openspec-cn init --tools opencode
  • 初始化完成后在项目中会创建openspec目录,用于存放规划制品,在OpenCode中还会添加opsx开头的命令;
  • 如果想打开仪表盘查看OpenSpec的变更可以使用如下命令;
bash 复制代码
openspec-cn view

使用

这里以开发一个前后端分离的博客网站为例,介绍下OpenSpec的使用。

  • 使用OpenSpec的第一步,通过/opsx-explore命令进入探索模式,主要是通过纯对话的方式来理清需求;
  • 当我们提出需求后,OpenSpec会抛出几个问题,帮助我们确认项目需求的基本方向;
  • 基本方向确定好后,OpenSpec会给我们提供3个技术方案供我们选择;
  • 针对我们选择的技术方案,OpenSpec会提出几个关键设计点让我们选择;
  • 之后OpenSpec会设计好数据模型供我们确认;
  • 然后是几个自然浮现的话题;
  • 接下来是一些实现维度方面的问题;
  • 还有一些实现细节方面的问题;
  • 整个项目需求和技术方案都探讨的差不多了,OpenSpec会把项目的全貌发给我们看下;
  • 看了下没什么问题了,就可用opsx-propose命令生成规范制品了;
bash 复制代码
/opsx-propose init-project
  • 我这里的博客网站生成的规划制品如下;
  • 接下来就可以使用/opsx-apply命令开始执行任务了;
bash 复制代码
/opsx-apply init-blog-platform
  • 任务完成会输出任务完成总览;
  • 最后通过/opsx-archive命令来完成归档,此时之前生成的规划文档将移入archive目录。

总结

今天以博客网站的开发为例,给大家介绍了OpenSpec中核心工作流的使用,从需求探讨->规划文档生成->执行编码->归档。整体而言,OpenSpc只是增加了一层轻量的规范(spec)机制,让AI编程的结果更可控、更贴合项目实际,感兴趣的小伙伴可以尝试下它。

项目地址

相关推荐
人工干智能1 小时前
Keras深度学习训练范式:构建模型 (Build)→ 配置训练规则 (Compile)→ 执行训练(Fit) + 回调控制(Callback)
人工智能·深度学习·keras
9i编程1 小时前
AI BI Helper 开发实录 01:文本向量与 Milvus 向量数据库集成
人工智能·openai·ai编程
爱勇宝1 小时前
《道德经》第 8 章:真正高级的能力,像水一样成事
前端·后端·程序员
孙高飞1 小时前
从 0 开始学习 AI 测试 - SKILL的编写实战
人工智能
鸢尾掠地平1 小时前
RAG与上下文工程的讲解
人工智能
Zane19941 小时前
可变对象 vs 不可变对象:为什么"可变默认参数"是 Python 最经典的坑?
后端·python
未秃头的程序猿1 小时前
JDK 26的Value Class,我做了个性能测试,结果出乎意料
java·后端·面试
swipe1 小时前
10|(前端转全栈)库存扣减为什么最容易出事故?SKU、并发与原子更新
前端·后端·全栈
星辰员1 小时前
会追问才算面试官:云面 YunMian AI 模拟面试官的具身交互智能工程实录
人工智能