2026 年的终端 Coding Agent 战局,有一个绕不开的名字
过去一年我们写了 OpenAI Codex CLI、jcode、oh-my-pi、Kimi Code CLI——终端 Agent 的竞争早就不是"能用"的问题,而是"谁的工程细节更狠"。但有一家重量级选手一直没聊:阿里。
Qwen Code 是 QwenLM 官方开源的终端 Coding Agent:26,597 Star、Apache-2.0、TypeScript 写的、2025 年 6 月创建、到今天还在高频迭代(npm 最新版 0.21.4,我写这篇文章时刚装上实测过)。
它不是又一个"Claude Code 的平替"。它是目前唯一一个功能清单跟 Claude Code 逐项对齐、同时模型和框架两头全开源的终端 Agent——而且它的开发方式是自举的:这个项目在用自己(Qwen Code + Qwen 模型)提 issue、提 PR、做 code review、跑测试。狗咬自己尾巴,还咬得挺欢。
它到底是什么
一句话:住在你终端里的开源 AI 编程 Agent,官方对齐 Claude Code 的功能面,但模型随便换。
- 26,597 Star / 2,767 Fork,Apache-2.0,TypeScript,需要 Node.js 22+
- 多协议——OpenAI / Anthropic / Gemini / Qwen 四种 API 协议通吃,任何第三方 provider 或本地模型(Ollama / vLLM)都能接,运行时随便切
- 血缘——最初基于 Google Gemini CLI v0.8.2 分叉,从 v0.1 起停止同步上游,独立发展成多协议、多平台的 agent 框架
- 形态全家桶——终端 TUI、headless(CI/脚本)、VS Code / Zed / JetBrains 插件、桌面 App、daemon 模式(
qwen serve)、TS/Python/Java 三套 SDK、甚至 IM 机器人(Telegram / 微信 / 钉钉 / 飞书 / QQ / 企业微信)
和 Claude Code 的对比:官方自己列的对标表
Qwen Code 的 README 里直接放了一张"我们和 Claude Code 对齐到哪了"的表,项目里还有一份系统性源码对比报告(对比了 Claude Code 56 个顶层模块、约 1800 个文件 vs Qwen Code 约 4,750 个文件)。翻译过来:
| 能力 | Qwen Code | Claude Code |
|---|---|---|
| SubAgents / Agent Teams / 动态工作流 | ✅ | ✅ |
| Auto-Memory / Auto-Skills / Hooks | ✅ | ✅ |
| 内置 Skills(/review、/batch、/loop、/bugfix…) | ✅ | ✅ |
| MCP / Plan Mode / LSP 集成 | ✅ | ✅ |
| Auto Mode / Sandbox / Git Worktrees | ✅ | ✅ |
| Computer Use(桌面自动化) | ✅ | ✅ |
| IDE 插件 / SDK / Headless 模式 | ✅ | ✅ |
| 模型和框架双开源 | ✅ | ❌ |
| 多协议(OpenAI/Anthropic/Gemini/Qwen + 任意 provider) | ✅ | ❌ |
| Agent Arena(多模型同任务对决) | ✅ | ❌ |
| Daemon 模式(一个 agent 多客户端共享) | ✅ | ❌ |
| IM 渠道(Telegram/微信/钉钉/飞书/QQ) | ✅ | ❌ |
一句话:Claude Code 有的它都有,Claude Code 没有的它有一排。真正的差异在下面——那些"它没有的"东西,恰恰是技术含量最高的部分。
三个真正硬核的设计
1. Fork Subagent:继承父会话 + 共享 Prompt Cache,省 80%+ 成本
大部分 Agent 框架里,subagent 是从零开始的:新会话、新上下文、缓存重新烧。Qwen Code 的 fork 类型 subagent 直接继承父代理的完整对话历史,system instruction 和工具声明原样共享——这意味着 DashScope 的 prefix cache 前缀完全一致,省 80%+ 的重复费用。2026 年 6 月起默认启用,还支持 fire-and-forget 后台执行,带 AsyncLocalStorage 递归防护(防止 fork 套 fork 死循环)和 worktree 隔离。
这是"工程细节"级别的差异:同样跑子任务,别人重新烧一遍缓存,它直接续上。
2. 多层上下文压缩:不用你手动 /compact
上下文爆炸是所有长会话 Agent 的死法。Qwen Code 的压缩是分层的:
- microcompaction——空闲时自动裁剪旧的工具结果,不用等上下文满
- warn / auto / hard 三档自动阈值——渐进式压缩,不是一刀切
- reactive 压缩——context overflow 时自动裁剪最早消息重试
- /compress-fast——无 LLM 的规则压缩,应急用
Claude Code 用户还得记着手动 /compact,Qwen Code 的思路是让压缩成为后台常驻行为。
3. 动态工具发现:默认只加载核心工具,其余按需搜索,实测省 ~46% token
81 个内置工具全塞进 system prompt,光工具声明就能吃掉几万 token。Qwen Code 的 tool search 默认只加载核心工具,其余按需搜索注入——实测省约 46% token。但这个功能有个非常反直觉的坑(下面"踩坑"部分细说):在 DeepSeek-v4 的 prefix cache 场景下,它反而让日成本涨了 214%,官方因此在 deepseek-v4-* 模型上自动禁用了它。这种"实测发现反例就改默认行为"的严谨,比堆功能更值得respect。
用自己改自己:自举开发 + 独家 Commit Attribution
Qwen Code 的迭代节奏(平均每天合并几十个 PR)不是纯人工扛出来的。项目自己说:"Qwen Code is actively iterating on itself——用自己和自己的模型提 issue、提 PR、review 代码、跑测试。"
配套的工程化细节:/review skill 会拉 9 个并行 agent + 3 种 persona 做代码审查,还有迭代反向审计;GitHub Actions 里 PR 自动审查。最骚的是 Commit Attribution:它用 git notes refs/notes/ai-attribution 记录每个文件里 AI 写的字符数 vs 人写的字符数(aiChars / humanChars),不污染 commit message——这个能力 Claude Code 至今没有。想量化"我的代码里 AI 占了多少"?这是目前唯一一个自带统计的方案。
上手:三条命令跑起来
安装(我实测了 npm 路径,17 秒装完):
# 一键脚本(Linux / macOS)
curl -fsSL https://qwen-code-assets.oss-cn-hangzhou.aliyuncs.com/installation/install-qwen-standalone.sh | bash
# 或 npm(Node.js 22+)
npm install -g @qwen-code/qwen-code@latest
# 或 Homebrew
brew install qwen-code
启动和认证:
qwen # 启动交互式 TUI
/auth # 在会话里选认证方式:
# qwen-oauth(通义千问,国内直连)
# openai / anthropic / gemini / vertex-ai
# 或任何 OpenAI 兼容端点 + 本地 Ollama/vLLM
无头模式(CI / 脚本):
qwen -p "修复 src/utils.ts 里的 N+1 查询"
qwen -p "给这个仓库写 README" -o json # 结构化输出
qwen -p "..." -m qwen3-coder-plus # 指定模型
qwen -c # 继续最近会话
接 MCP server(子命令实测可用):
qwen mcp add my-server npx -y @some/mcp-server
qwen mcp list
qwen mcp approve my-server
我最喜欢的一个功能:Agent Arena——同一个任务,让多个模型(比如 qwen3-coder-plus vs GPT vs Claude)在同一 session 里 head-to-head 对决,直接看谁的方案好。选模型纠结症患者的解药。
实测踩的坑(都是真的)
qwen auth命令已经没了。官方 CLI 的 help 里写着 "Configure authentication (removed)"。网上老教程教你跑qwen auth,跑完只会得到一个错误。认证要么进 TUI 用/auth,要么在 settings 里配--auth-type。- 没配 auth 之前,交互和 headless 都起不来。实测报错:
No auth type is selected. Please configure an auth type (e.g. via settings or `--auth-type`) before running in non-interactive mode.CI 里直接qwen -p会立刻挂,必须先配好 auth-type 再进管道。 - Node 22+ 是硬门槛。npm 包的 engines 写死
node >=22.0.0,Node 18/20 直接装不上。而且包解压 91MB,别被首次安装的体积吓到。 - TUI 要真 TTY。管道/重定向 stdin 会被识别成非交互模式直接拒绝启动,想自动化交互式界面得用
qwen serve(daemon,HTTP+SSE)而不是硬塞 stdin。 - 工具搜索省 token 有反例。上文说的 tool search 默认省 46% token,但在 DeepSeek-v4 的 prefix cache 场景下实测日成本 +214%(PR#4069),官方直接对
deepseek-v4-*自动禁用。换模型时留意这个默认行为。
跟其他开源终端 Agent 比,站在哪
| 维度 | Qwen Code | OpenCode | Kilo Code |
|---|---|---|---|
| Star | 26.6K | ~190K | ~26.7K |
| 定位 | 阿里官方,功能对标 Claude Code | 社区最火的开源平替 | IDE + CLI 三栖 |
| 模型协议 | OpenAI/Anthropic/Gemini/Qwen + 本地 | 75+ provider | 500+ 模型直连 |
| 独家能力 | Agent Arena、Daemon、IM 渠道、Commit Attribution、自举开发 | 插件生态 + 桌面端 | 5 种内置 Agent + CI/CD 自动化 |
| 开源程度 | 模型 + 框架双开源 | MIT | Apache-2.0 |
(OpenCode 和 Kilo Code 我们都写过单篇,OpenCode:185K Star 的开源 Coding Agent、KiloCode:26K Star 的 Coding Agent,可以对照着看。)
选型建议:想要开源模型 + 功能全、或者人在国内要直连、或者想用 IM 遥控 agent——Qwen Code 是当前最优解;想要最活跃的社区生态——OpenCode;重度 IDE 用户——Kilo Code。
适合谁
- 用 Claude Code 但想换开源模型省钱——功能面逐项对齐,迁移成本低,DashScope 直连延迟还更友好
- 想让 Agent 24 小时在线——daemon + 微信/钉钉/飞书渠道,人不在电脑前也能遥控干活
- 做多模型评测——Agent Arena 让几个模型在同一个真实任务上直接对决,比 benchmark 数字有说服力
- 想知道自己代码里 AI 含量——Commit Attribution 的 git notes 统计是独一份的
- 研究 agent 工程细节——fork subagent 的缓存共享、多层压缩、动态工具发现,每个都是可以直接抄的设计
总结
Qwen Code 最让我意外的不是功能多——功能多在这个赛道已经是入场券。是它自举开发的执行力和对工程反例的诚实:自己提 PR 自己 review、实测发现 tool search 在 DeepSeek 上亏钱就自动禁用、git notes 记 AI 贡献比例这种别人懒得做的细节它都做了。
26.6K Star 对阿里这种体量的项目不算夸张,但它的迭代速度(平均每天几十个 PR)和 Claude Code 功能对齐的完成度,说明这不是"官方刷存在感"的项目,是认真在打的仗。