阿里巴巴发布了多种尺寸的代理式编码模型 Qwen3-Coder,最强版本为 Qwen3-Coder-480B-A35B-Instruct。与这些模型同时开源的还有 Qwen Code CLI,一款用于代理式编码的命令行工具。
Qwen Code CLI 基于 Gemini CLI 分叉而来,并针对在代理式编码任务中配合 Qwen3-Coder 模型进行了适配。
在这篇博客中,我将逐步讲解如何设置并使用 Qwen Code CLI。我们将用它来探索代码库、进行代码重构等。
我们通过每周五推出的 The Median 免费通讯为读者带来最新的 AI 动态,梳理本周重点新闻。订阅后,每周几分钟即可掌握要点:
什么是 Qwen Code?
Qwen Code 是一个为代理式编码任务设计的命令行界面。它使用为 Qwen3-Coder 优化的定制提示词和函数调用协议。借助 Qwen Code,您可以:
- 导航并理解复杂的代码库
- 发现并修复编码问题
- 生成代码和单元测试
- 创建文档和流程图

来源:QwenLM
现在,让我们来设置 Qwen3-Coder,并用它来探索并修复我最近参与的一个开源项目中的问题。
步骤 1:先决条件
在设置 Qwen Code 之前,请确保已安装 Node.js(版本 20 或更高)。您可以运行以下命令安装 Node.js:
curl -qL https://www.npmjs.com/install.sh | sh技术支持
然后,运行以下命令验证安装:
node -v
npm -v技术支持
步骤 2:设置 Qwen Code
本步骤将介绍在设备上安装和认证 Qwen Code 的多种方式。
步骤 2.1:通过 npm 安装
安装好 Node.js 后,全局安装 Qwen Code,并检查安装版本:
npm install -g @qwen-code/qwen-code
qwen --version技术支持

上述代码使用 Node.js 的包管理器全局安装 Qwen Code CLI。安装完成后,使用 qwen --version 命令检查并显示已安装的 Qwen CLI 版本,以确认其已正确配置且可用。
让我们运行 Qwen Code:
qwen技术支持

按回车选择默认主题并应用到用户设置。接下来,需要完成身份验证配置。
步骤 2.2:从源码安装(可选)
或者,您也可以直接从其 GitHub 仓库安装 Qwen Code:
git clone https://github.com/QwenLM/qwen-code.git
cd qwen-code
npm install
npm install -g .技术支持
此代码使用 git clone 将 Qwen Code CLI 的 GitHub 仓库克隆到本地。随后进入克隆目录并安装仓库 package.json 中定义的所有项目依赖。
注意: -g 表示全局可用,而不仅限于本地项目目录。
步骤 2.3:认证
CLI 需要 Qwen 3 Coder 的 API 密钥用于认证。官方文档建议:如果您在中国大陆,可前往 https://bailian.console.aliyun.com/ 申请 API 密钥;若不在中国大陆,请访问 https://modelstudio.console.alibabacloud.com/ 申请 API 密钥。
但如果您在印度,这些选项不可用。您可以选择使用 OpenRouter,该平台为多种模型提供 API 访问。以下是在其中为 Qwen 3 Coder 设置 API Key 的步骤:
- 在 https://openrouter.ai/ 注册账号
- 进入 Models 选项卡并搜索 “Qwen 3 Coder”。若需求少于 128k tokens 可选择免费版,否则选择付费版($0.302/百万输入与输出 tokens)。

- 向下滚动并点击 Create API Key。填写密钥名称和信用额度(可选),点击 Create。保存该 API 密钥以备后用。

- 接着进入 Credits 选项卡,添加您的银行卡信息。也可通过 Amazon Pay 支付。本次演示我充值了约 $15,已足够使用。

步骤 2.4:配置环境
现在可以在 CLI 中使用该 API 密钥了。回到步骤 2.1 中的 CLI,按回车。

然后依次输入上一步的 API Key、基础 URL 和模型名称,如下所示:
API_KEY >Qwen_API_KEY_FROM_OPENROUTER
BASE_URL >https://openrouter.ai/api/v1
MODEL >qwen/qwen3-coder技术支持
您也可以选择将这些变量设置为环境变量。打开一个新的终端并逐行运行:
export OPENAI_API_KEY="Qwen_API_KEY_FROM_OPENROUTER"
export OPENAI_BASE_URL="https://openrouter.ai/api/v1"
export OPENAI_MODEL="qwen/qwen3-coder"技术支持
如果您使用的是阿里云的 API Key,请按如下方式设置环境变量:
export OPENAI_API_KEY="your_api_key_here"
export OPENAI_BASE_URL="https://dashscope-intl.aliyuncs.com/compatible-mode/v1"
export OPENAI_MODEL="qwen3-coder-plus"技术支持
设置好环境变量后,按回车即可开始在 CLI 中进行实验。

步骤 3:体验 Qwen Code CLI
本节将演示我如何使用 Qwen Code CLI 与一个实际托管在 GitHub 上的项目进行交互。只需少量提示词,Qwen 就帮助我理解代码库、优化函数、添加新能力、自动化测试并维护文档。
通过精心设计的提示词,我能够:
- 分析代码库架构
- 针对内存效率优化特定函数
- 自动生成并运行单元测试
- 通过集成新组件扩展功能
- 将版本化更新推送至 GitHub
- 生成模块交互的可视化流程图
- 以结构化变更日志格式记录所有更改
下面逐一展开。
探索并理解代码库
首先,让我们请 Qwen Code 探索并解释代码库的架构。但在此之前,先从 GitHub 克隆该仓库,并使用以下命令进入项目目录:
git clone https://github.com/AashiDutt/Voxtral_with_vLLM.git
cd Voxtral_with_vLLM技术支持
我用来理解克隆仓库的提示词如下:
提示:解释此代码库的架构。

Qwen CLI 扫描了 app.py、config.py、requirements.txt 以及一个 Colab 笔记本等文件,并返回了清晰的项目结构拆解及其关键模块的高层概览,免去我逐个打开阅读文件的时间。
代码重构与优化
理解架构后,我使用 Qwen Code CLI 分析了代码库中的潜在改进点。
提示:这个模块的哪些部分可以优化?



Qwen 返回了涵盖多个维度的结构化建议:性能、内存效率、可维护性和用户体验。它不仅指出问题,还提出了可落地的代码修改方案。
遵循这些建议,我得以:
- 降低内存与 CPU 占用
- 强化错误处理
- 改进用户反馈
- 简化代码结构,便于后续开发
下一步我将展示如何应用其中一项优化(内存使用)并用 Qwen CLI 进行测试。
实施并测试代码优化
确定多处优化点后,我决定采用影响最大的一条建议:改进 transcribe_audio 函数的内存使用。因此,我让 Qwen CLI 针对下面的特定文件进行修改:
提示:将内存使用优化应用到 @app.py 中的 transcribe_audio 函数

Qwen 仅聚焦于 app.py,使用 @ 语法进行范围限定的编辑。当您希望将更改与代码库其他部分隔离时,这种精确定位非常有用。CLI 重写了该函数,以:
- 以流式方式处理音频分片,而不是一次性将其全部加载到内存
- 将进度条刷新频率降低为每处理 10 个分片再更新一次
- 无需预先计算分片总数

它还自动更新了 CHANGELOG.md 文件,在新的版本标签下记录了这一改进。

生成并运行测试
在对 transcribe_audio 函数完成内存优化后,我使用 Qwen Coder CLI 自动生成并验证了新实现的单元测试。
提示:为最近的更改编写一个 pytest 单元测试。
Qwen 首先扫描项目结构,检查是否存在测试目录以及 requirements.txt 中是否包含 pytest。由于两者均缺失,它:
- 将
pytest>=7.0.0 添加到 requirements.txt
- 创建新的
tests/ 目录
- 生成测试模块:
tests/test_transcribe_audio.py

Qwen 运行了测试,并确认四项测试全部通过。为保持清晰的版本历史,Qwen 还在 CHANGELOG.md 的 v0.2.0 版本下追加了新的 “Fixed” 条目。

只需一个提示词,Qwen CLI 就自动生成测试、识别边界情况、帮助修复逻辑缺陷,并通过严格校验确保代码正确性。
实现新组件
为扩展 Voxtral 音频助手(代码库)的功能,我让 Qwen Code CLI 集成对 YouTube 视频的支持。
提示:在现有示例的基础上扩展以支持 YouTube 视频。当用户提供一个 YouTube URL 时,从视频中提取音频并传给 Voxtral 模型进行处理。保持其余流水线与组件不变。

目标是允许用户在上传音频文件之外,输入一个 YouTube URL。一旦提供,应用应自动从视频中提取音频,并像常规文件上传一样进行处理,而不修改下游的转写或问答流水线。

Qwen 扫描了 app.py、config.py 和 requirements.txt 以识别所需更新。它识别出需要 yt-dlp 与 pydub,而这两者已在列表中。


最终新增了一个 UI 组件,允许用户输入 YouTube URL。提交后,应用会提取音频,并通过现有流水线进行转写。不过,仅对 app.py 所做的更改仍不足以让整个代码无错运行。
将更改推送至 GitHub
在完成并测试 transcribe_audio 的优化后,我使用 CLI 对更改进行版本化,并推送到 GitHub。
提示: 在 GitHub 上创建一个新分支,并将更新的代码作为第二个版本提交并推送,提交信息为:"v2: Optimized transcribe_audio for memory usage"。

Qwen 使用 WebFlow 工具(用于比较本地与 GitHub 托管文件)自动化了完整的 Git 流程。CLI 可一次性完成从创建分支到提交、推送的多项任务,无需手动操作。
Qwen 通过其 WebFetch 工具:
- 创建新分支
- 暂存并提交更改
- 推送提交
- 验证远程更新
以上全部通过一次提示完成。更新版本(v2-optimization)被安全地隔离,并可通过拉取请求进行评审。该 GitHub 集成让改进跟踪、协作更新与维护清晰的版本历史变得更加容易。
以下是更新后新分支的样子:

流程图生成
为可视化 Voxtral 音频助手中不同模块的交互方式,我让 Qwen Code CLI:
提示:创建一张展示模块交互的流程图。

Qwen 生成了详细的 Mermaid.js 流程图,展示从文件上传或 YouTube 输入、经由 Voxtral 模型处理到最终输出的完整流水线。它甚至尝试将该图表嵌入到项目的 README.md 中。
生成文档
在完成代码优化后,我请 Qwen Code CLI 以结构化、专业的格式帮助记录这些更改。
提示: 用 Markdown 总结所做更改。按 “v0.2.0” 下的变更日志条目格式编写。

Qwen 使用 WriteFile 工具将条目直接追加到 CHANGELOG.md 的 v0.2.0 下,并遵循语义化版本规范。一旦启动了变更日志任务,Qwen 会记住该任务并避免重复更新,从而节省 tokens 并防止重复调用工具。
总结
总之,本教程展示了如何使用 Qwen Code CLI:
- 理解并阐释代码库架构
- 应用有针对性的优化与改进
- 以最小开销生成并运行单元测试
- 通过新增组件(如 YouTube 集成)扩展功能
- 自动化版本控制与 GitHub 流程
- 可视化项目流程并维护清晰文档
Qwen Code CLI 大幅降低了理解、调试与扩展代码库的人工成本。尽管它在很大程度上以 Gemini CLI 为基础,Qwen Code 仍针对 Qwen3-Coder 模型引入了增强功能,比如改进的解析器与工具支持。
令我印象最深的是它在任务间保持上下文的能力。一旦给它一个变更日志任务或需要监控的文件,Qwen 就会记住并避免重复。同时,它通过 @file.py 等语法限定修改范围,使其在大型项目中也能安全使用。
如果您在处理复杂的 Python 项目或维护开源仓库,这款工具能为您节省大量样板性工作,让工作流更智能、更具迭代性。
阿里巴巴发布了多种尺寸的代理式编码模型 Qwen3-Coder,最强版本为 Qwen3-Coder-480B-A35B-Instruct。与这些模型同时开源的还有 Qwen Code CLI,一款用于代理式编码的命令行工具。
Qwen Code CLI 基于 Gemini CLI 分叉而来,并针对在代理式编码任务中配合 Qwen3-Coder 模型进行了适配。
在这篇博客中,我将逐步讲解如何设置并使用 Qwen Code CLI。我们将用它来探索代码库、进行代码重构等。
我们通过每周五推出的 The Median 免费通讯为读者带来最新的 AI 动态,梳理本周重点新闻。订阅后,每周几分钟即可掌握要点:
什么是 Qwen Code?
Qwen Code 是一个为代理式编码任务设计的命令行界面。它使用为 Qwen3-Coder 优化的定制提示词和函数调用协议。借助 Qwen Code,您可以:
来源:QwenLM
现在,让我们来设置 Qwen3-Coder,并用它来探索并修复我最近参与的一个开源项目中的问题。
步骤 1:先决条件
在设置 Qwen Code 之前,请确保已安装 Node.js(版本 20 或更高)。您可以运行以下命令安装 Node.js:
然后,运行以下命令验证安装:
步骤 2:设置 Qwen Code
本步骤将介绍在设备上安装和认证 Qwen Code 的多种方式。
步骤 2.1:通过 npm 安装
安装好 Node.js 后,全局安装 Qwen Code,并检查安装版本:
上述代码使用 Node.js 的包管理器全局安装 Qwen Code CLI。安装完成后,使用
qwen --version命令检查并显示已安装的 Qwen CLI 版本,以确认其已正确配置且可用。让我们运行 Qwen Code:
按回车选择默认主题并应用到用户设置。接下来,需要完成身份验证配置。
步骤 2.2:从源码安装(可选)
或者,您也可以直接从其 GitHub 仓库安装 Qwen Code:
此代码使用
git clone将 Qwen Code CLI 的 GitHub 仓库克隆到本地。随后进入克隆目录并安装仓库package.json中定义的所有项目依赖。注意:
-g表示全局可用,而不仅限于本地项目目录。步骤 2.3:认证
CLI 需要 Qwen 3 Coder 的 API 密钥用于认证。官方文档建议:如果您在中国大陆,可前往 https://bailian.console.aliyun.com/ 申请 API 密钥;若不在中国大陆,请访问 https://modelstudio.console.alibabacloud.com/ 申请 API 密钥。
但如果您在印度,这些选项不可用。您可以选择使用 OpenRouter,该平台为多种模型提供 API 访问。以下是在其中为 Qwen 3 Coder 设置 API Key 的步骤:
步骤 2.4:配置环境
现在可以在 CLI 中使用该 API 密钥了。回到步骤 2.1 中的 CLI,按回车。
然后依次输入上一步的 API Key、基础 URL 和模型名称,如下所示:
您也可以选择将这些变量设置为环境变量。打开一个新的终端并逐行运行:
如果您使用的是阿里云的 API Key,请按如下方式设置环境变量:
设置好环境变量后,按回车即可开始在 CLI 中进行实验。
步骤 3:体验 Qwen Code CLI
本节将演示我如何使用 Qwen Code CLI 与一个实际托管在 GitHub 上的项目进行交互。只需少量提示词,Qwen 就帮助我理解代码库、优化函数、添加新能力、自动化测试并维护文档。
通过精心设计的提示词,我能够:
下面逐一展开。
探索并理解代码库
首先,让我们请 Qwen Code 探索并解释代码库的架构。但在此之前,先从 GitHub 克隆该仓库,并使用以下命令进入项目目录:
我用来理解克隆仓库的提示词如下:
提示:解释此代码库的架构。
Qwen CLI 扫描了
app.py、config.py、requirements.txt以及一个 Colab 笔记本等文件,并返回了清晰的项目结构拆解及其关键模块的高层概览,免去我逐个打开阅读文件的时间。代码重构与优化
理解架构后,我使用 Qwen Code CLI 分析了代码库中的潜在改进点。
提示:这个模块的哪些部分可以优化?
Qwen 返回了涵盖多个维度的结构化建议:性能、内存效率、可维护性和用户体验。它不仅指出问题,还提出了可落地的代码修改方案。
遵循这些建议,我得以:
下一步我将展示如何应用其中一项优化(内存使用)并用 Qwen CLI 进行测试。
实施并测试代码优化
确定多处优化点后,我决定采用影响最大的一条建议:改进
transcribe_audio函数的内存使用。因此,我让 Qwen CLI 针对下面的特定文件进行修改:提示:将内存使用优化应用到 @app.py 中的 transcribe_audio 函数
Qwen 仅聚焦于
app.py,使用@语法进行范围限定的编辑。当您希望将更改与代码库其他部分隔离时,这种精确定位非常有用。CLI 重写了该函数,以:它还自动更新了
CHANGELOG.md文件,在新的版本标签下记录了这一改进。生成并运行测试
在对
transcribe_audio函数完成内存优化后,我使用 Qwen Coder CLI 自动生成并验证了新实现的单元测试。提示:为最近的更改编写一个 pytest 单元测试。
Qwen 首先扫描项目结构,检查是否存在测试目录以及
requirements.txt中是否包含pytest。由于两者均缺失,它:pytest>=7.0.0添加到requirements.txttests/目录tests/test_transcribe_audio.pyQwen 运行了测试,并确认四项测试全部通过。为保持清晰的版本历史,Qwen 还在
CHANGELOG.md的v0.2.0版本下追加了新的 “Fixed” 条目。只需一个提示词,Qwen CLI 就自动生成测试、识别边界情况、帮助修复逻辑缺陷,并通过严格校验确保代码正确性。
实现新组件
为扩展 Voxtral 音频助手(代码库)的功能,我让 Qwen Code CLI 集成对 YouTube 视频的支持。
提示:在现有示例的基础上扩展以支持 YouTube 视频。当用户提供一个 YouTube URL 时,从视频中提取音频并传给 Voxtral 模型进行处理。保持其余流水线与组件不变。
目标是允许用户在上传音频文件之外,输入一个 YouTube URL。一旦提供,应用应自动从视频中提取音频,并像常规文件上传一样进行处理,而不修改下游的转写或问答流水线。
Qwen 扫描了
app.py、config.py和requirements.txt以识别所需更新。它识别出需要yt-dlp与pydub,而这两者已在列表中。最终新增了一个 UI 组件,允许用户输入 YouTube URL。提交后,应用会提取音频,并通过现有流水线进行转写。不过,仅对
app.py所做的更改仍不足以让整个代码无错运行。将更改推送至 GitHub
在完成并测试
transcribe_audio的优化后,我使用 CLI 对更改进行版本化,并推送到 GitHub。提示: 在 GitHub 上创建一个新分支,并将更新的代码作为第二个版本提交并推送,提交信息为:"v2: Optimized transcribe_audio for memory usage"。
Qwen 使用 WebFlow 工具(用于比较本地与 GitHub 托管文件)自动化了完整的 Git 流程。CLI 可一次性完成从创建分支到提交、推送的多项任务,无需手动操作。
Qwen 通过其
WebFetch工具:以上全部通过一次提示完成。更新版本(
v2-optimization)被安全地隔离,并可通过拉取请求进行评审。该 GitHub 集成让改进跟踪、协作更新与维护清晰的版本历史变得更加容易。以下是更新后新分支的样子:
流程图生成
为可视化 Voxtral 音频助手中不同模块的交互方式,我让 Qwen Code CLI:
提示:创建一张展示模块交互的流程图。
Qwen 生成了详细的
Mermaid.js流程图,展示从文件上传或 YouTube 输入、经由 Voxtral 模型处理到最终输出的完整流水线。它甚至尝试将该图表嵌入到项目的README.md中。生成文档
在完成代码优化后,我请 Qwen Code CLI 以结构化、专业的格式帮助记录这些更改。
提示: 用 Markdown 总结所做更改。按 “v0.2.0” 下的变更日志条目格式编写。
Qwen 使用
WriteFile工具将条目直接追加到CHANGELOG.md的v0.2.0下,并遵循语义化版本规范。一旦启动了变更日志任务,Qwen 会记住该任务并避免重复更新,从而节省 tokens 并防止重复调用工具。总结
总之,本教程展示了如何使用 Qwen Code CLI:
Qwen Code CLI 大幅降低了理解、调试与扩展代码库的人工成本。尽管它在很大程度上以 Gemini CLI 为基础,Qwen Code 仍针对 Qwen3-Coder 模型引入了增强功能,比如改进的解析器与工具支持。
令我印象最深的是它在任务间保持上下文的能力。一旦给它一个变更日志任务或需要监控的文件,Qwen 就会记住并避免重复。同时,它通过
@file.py等语法限定修改范围,使其在大型项目中也能安全使用。如果您在处理复杂的 Python 项目或维护开源仓库,这款工具能为您节省大量样板性工作,让工作流更智能、更具迭代性。