搭建 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初始化项目后生成的目录结构

自动生成整个规范目录结构。

OpenSpec目录结构详情

到这里,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 CLI授权界面

因为 Qwen Code 支持 OpenSpec,所以启动后会自动加载 OpenSpec 的配置信息!

老规矩,我们先输入 /help 命令看看,Qwen Code CLI 都有哪些命令吧。

Qwen Code CLI命令列表

命令不少,并且我们发现了几个 OpenSpec 的命令,我们试试第一个 OpenSpec 命令,在 qwen 中输入:

/openspec:proposal

OpenSpec提案命令执行结果

到这里,大家明白了吗?Qwen Code CLI 会完全遵守 OpenSpec 的约定来工作,正像它说的那样:

  1. 优先考虑简单性——最初尽量减少实现
  2. 保持专注——紧紧关注所要求的结果
  3. 有关 OpenSpec 约定,请参阅 AGENTS.md
  4. 对不明确的细节提出澄清问题
  5. 提案阶段无代码,仅创建设计文档

这就好办了,回到我们文章开始的话题,你用 OpenSpec 制定规范、细分任务,然后让 Qwen 按照规则一个个任务去实现,真是省心省事啊!

再也不用担心 AI 会自由发挥,给项目改得乱七八糟了!

5. 实操:万事俱备,只差使用了

5.1. proposal:告诉 AI 你要干什么

试着让 Qwen 给项目加个功能吧,例如我们给登录和注册页面增加 Google 一键登录功能,在 Qwen Code CLI 的命令输入框输入下面的命令和提示语:

/openspec:proposal 给登录和注册页面增加 Google 一键登录和注册

Qwen Code 就会按 OpenSpec 设置好的规则开始工作了,期间会多次询问是否可以操作文件:

Qwen Code执行OpenSpec提案命令

然后,你会发现,在 openspec 目录下,多出了好几个文件:

OpenSpec生成的提案文件

这就是 Qwen Code 遵循 OpenSpec 规范对本次指令做的规划:

  • proposal.md(为什么要改)
  • spec.md(怎么改)
  • tasks.md(要做哪些)

记住了,这里只是做规划,并没有对代码做任何修改,具体要不要执行,还得你确定 AI 写的方案有没有问题,然后再决定要不要开始执行下一步!

5.2. apply:告诉 AI 开始执行任务

确认无误后就可以告诉 AI 开始实现功能了,执行下面的命令:

/openspec:apply

执行OpenSpec apply命令

AI 就会按 Todo List 一条条开始执行任务,看看分得有多细:

OpenSpec任务执行列表

完成了哪些任务,修改了哪些文件,都明明白白地告诉你:

OpenSpec任务执行结果

如果任务清单比较长,让 AI 慢慢去执行,你就先冲杯咖啡,好好感受一下美好的生活……

5.3. archive:完成后归档

AI 一顿操作后,终于把功能做好了:

AI完成功能开发

你确定没问题后,就可以把本次任务归档,保持历史档案的同时,也方便开启下个任务。输入如下命令:

/openspec:archive

执行OpenSpec归档命令

AI 遵循 OpenSpec 的规范,又是一通操作,对本次任务做归档处理!

至此,本次《搭建 AI 开发流水线:Cursor + Qwen Code + OpenSpec 免费撸代码》的详细操作流程都写完了,希望能帮到伙伴们!

伙伴们喜欢这种工程化的开发方案吗?我个人非常看好这种「轻量级、工程化、AI-native」的工具。

它不花里胡哨,却能实打实解决大部分团队目前遇到的痛点!

当然,如果伙伴们觉得本教程还有什么没讲明白的地方,也方便留言告知,我们好下期做进一步的讲述!