搭建 AI 开发流水线:Cursor + Qwen Code + OpenSpec 免费撸代码
Cursor + Qwen Code + OpenSpec 免费撸代码?
对的,免费撸代码!
那么为什么要用 Cursor,用 Qwen Code CLI 或者 Gemini CLI 就可以了啊!OpenSpec 又是做什么的?
我们一个个问题来分析:
对的,Cursor 完全可以不用,仅仅是方便人工交互操作,完全可以用 VS Code、Trae、Qoder、CodeBuddy 替代,看个人喜好!
至于为什么用 Qwen Code CLI 而不是 Gemini CLI,这个完全是考虑国内用户不方便访问外网的原因!至于更优秀的 Claude Code,则不在免费之列。
那为什么要用 OpenSpec?OpenSpec 是做什么的?我们先从下面这个故事说起吧!
Anthropic 发表了一篇技术博客:
意思是 Anthropic 研究团队让 Claude 去做一个复杂项目:
克隆一个 Claude 网页端(claude.ai)。
结果,Claude 不是做不出来,而是做到一半就开始"断片"。
代码写了一半,上下文窗口满了,不得不开新会话继续。
而新会话里的 Claude 面对一堆半成品,完全不知道之前那个 Claude 想干嘛。
更真实的是,有时候做到一半,看起来"好像差不多了",Claude 就会直接宣布:任务完成。
实际上核心功能还有一大半没做。
Anthropic 研究团队形容道:
这就像一个软件项目,程序员三班倒,但每个人上班时对前一班发生的事情一脸懵逼。
没有交接文档,没有代码注释,甚至不知道前一个人为什么要这样写。
也就是说,你一次性给 AI 安排了太多/太复杂的任务,它往往做不好,很可能会把项目搞得一塌糊涂。
这个时候,我们给 AI 定规范、给任务做规划,让 AI 按规则来就很有必要了,于是 OpenSpec 就派上用场了!
1. OpenSpec 来定规矩:让人类和 AI 可以按规范协作的开发
因为它精准地解决了现在 AI 编程最痛的几个点:
1.1. AI 乱跑
一句 prompt 跑出来 80% 都不是你要的,越 debug 越乱。
OpenSpec 把所有需求先变成结构化文档(spec),AI 只按照 spec 工作,不会自己补脑补故事。
1.2. 老项目难维护
越是"有历史"的项目,越容易被 AI 改坏。
OpenSpec 的 change 机制,会把"改了什么 / 为什么改"全部记录下来,每次改动都有审计轨迹。
1.3. 多人协作混乱
每个人的 prompt 风格不同,导致结果天差地别。
OpenSpec 给团队提供统一规范,不再靠个人 prompt 水平决定代码质量。
- 当前有效规范(specs)
- 待审核变更(changes)
- 提案文档(proposal.md)
- 任务拆解(tasks.md)
1.4. 文档全靠"嘴"
需求、逻辑、变更历史全部靠串门式沟通,最后谁也说不清。
OpenSpec 让规范变成"第一事实来源(source-of-truth)",所有 AI 生成行为都可以验证、审核。
/openspec:apply add-user-api
AI 就会根据 tasks.md 自动写代码,而不是随便写。
2. OpenSpec 适用于什么场景?
- 有"老代码"的项目
- 多人协作开发
- 系统会不断迭代、需求会频繁变化
- 想让 AI 写的代码可控、有迹可循
- 想减少"AI 写一坨,人类全改"的时间浪费
如果你是做工具、SaaS、后台系统、内容平台、API 服务,这玩意简直是救命稻草。
但如果只是小脚本、小实验,也可以用,只是收益没那么大。
3. 安装并初始化 OpenSpec
3.1. 安装
npm install -g @fission-ai/openspec@latest
3.2. 初始化项目
openspec init
自动生成整个规范目录结构。
到这里,OpenSpec 初始化项目完毕,接下来我们讲解一下 Qwen Code CLI!
4. 安装 & 配置 Qwen Code CLI
4.1. 前提:Node.js 版本大于 20
npm install -g @qwen-code/qwen-code@latest
qwen --version # 验证安装
4.2. 在项目目录(或全局)启动 Qwen Code
# 启动 Qwen Code
qwen
# 示例命令
> Explain this codebase structure
> Help me refactor this function
> Generate unit tests for this module
4.3. 首次启动会要求授权,根据提示进行授权即可
因为 Qwen Code 支持 OpenSpec,所以启动后会自动加载 OpenSpec 的配置信息!
老规矩,我们先输入 /help 命令看看,Qwen Code CLI 都有哪些命令吧。
命令不少,并且我们发现了几个 OpenSpec 的命令,我们试试第一个 OpenSpec 命令,在 qwen 中输入:
/openspec:proposal
到这里,大家明白了吗?Qwen Code CLI 会完全遵守 OpenSpec 的约定来工作,正像它说的那样:
- 优先考虑简单性——最初尽量减少实现
- 保持专注——紧紧关注所要求的结果
- 有关 OpenSpec 约定,请参阅
AGENTS.md- 对不明确的细节提出澄清问题
- 提案阶段无代码,仅创建设计文档
这就好办了,回到我们文章开始的话题,你用 OpenSpec 制定规范、细分任务,然后让 Qwen 按照规则一个个任务去实现,真是省心省事啊!
再也不用担心 AI 会自由发挥,给项目改得乱七八糟了!
5. 实操:万事俱备,只差使用了
5.1. proposal:告诉 AI 你要干什么
试着让 Qwen 给项目加个功能吧,例如我们给登录和注册页面增加 Google 一键登录功能,在 Qwen Code CLI 的命令输入框输入下面的命令和提示语:
/openspec:proposal 给登录和注册页面增加 Google 一键登录和注册
Qwen Code 就会按 OpenSpec 设置好的规则开始工作了,期间会多次询问是否可以操作文件:
然后,你会发现,在 openspec 目录下,多出了好几个文件:
这就是 Qwen Code 遵循 OpenSpec 规范对本次指令做的规划:
proposal.md(为什么要改)spec.md(怎么改)tasks.md(要做哪些)
记住了,这里只是做规划,并没有对代码做任何修改,具体要不要执行,还得你确定 AI 写的方案有没有问题,然后再决定要不要开始执行下一步!
5.2. apply:告诉 AI 开始执行任务
确认无误后就可以告诉 AI 开始实现功能了,执行下面的命令:
/openspec:apply
AI 就会按 Todo List 一条条开始执行任务,看看分得有多细:
完成了哪些任务,修改了哪些文件,都明明白白地告诉你:
如果任务清单比较长,让 AI 慢慢去执行,你就先冲杯咖啡,好好感受一下美好的生活……
5.3. archive:完成后归档
AI 一顿操作后,终于把功能做好了:
你确定没问题后,就可以把本次任务归档,保持历史档案的同时,也方便开启下个任务。输入如下命令:
/openspec:archive
AI 遵循 OpenSpec 的规范,又是一通操作,对本次任务做归档处理!
至此,本次《搭建 AI 开发流水线:Cursor + Qwen Code + OpenSpec 免费撸代码》的详细操作流程都写完了,希望能帮到伙伴们!
伙伴们喜欢这种工程化的开发方案吗?我个人非常看好这种「轻量级、工程化、AI-native」的工具。
它不花里胡哨,却能实打实解决大部分团队目前遇到的痛点!
当然,如果伙伴们觉得本教程还有什么没讲明白的地方,也方便留言告知,我们好下期做进一步的讲述!