Qwen Code 周报:/goal 自主编码、Auto Approval 免确认、Worktree 隔离
编码 Agent 赛道这周有一个明确信号:大家都想让 Agent 自己跑完,不要人盯着。Claude Code 发了 /goal ,Codex 也跟进了 ,OpenAI 另外推了 Symphony 编排规范 让 Agent 常驻后台。“设目标 → 放手 → 验收结果”正在成为新的主流交互模式。
Qwen Code 本周发布 v0.16.0 正式版,沿同一方向走了三步:
- 自主跑——/goal + 独立 judge 模型判定完成,检测到不可能的目标时主动放弃;
- 少打断——Auto Approval 用 LLM 分类器自动判断操作风险,低风险操作直接放行不再弹确认;
- 安全跑——Worktree 隔离到 Phase C,会话持久化 + 三种恢复模式。
✨ 新增特性
/goal:设定目标,Agent 自主跑到完成
Claude Code 刚发了 /goal,Qwen Code 同步推出——但多了一层:独立的 judge 模型在每轮操作后评估”目标是否达成”,而不是让执行模型自己判断自己完没完。
输入 /goal "把所有测试从 Jest 迁移到 Vitest",Agent 开始自主编码。每完成一轮操作,judge 模型检查目标状态。达成条件满足时自动停止,不满足则继续下一轮。如果 judge 判定目标在当前上下文下不可能完成(比如缺少必要依赖、权限不足),会主动放弃并告诉你原因——不会无限循环空转浪费 token。
你能用它做什么:
- 大规模迁移、重构等多步任务,设好目标让 Agent 跑,不用一轮轮手动确认
- judge 独立于执行模型,避免”自己说自己做完了”的偏差
- 不可能的目标自动放弃,不会空转消耗 token
- 支持非交互模式和流式事件输出,CI/CD 管线可集成
Auto Approval:LLM 分类器自动放行低风险操作
用 Agent 最烦的一件事:每个文件写入、每条 shell 命令都要你按 Y 确认。安全,但打断感太强——尤其是 Agent 在自主跑 /goal 的时候,人不在旁边根本没法确认。
Auto Approval 模式用 LLM 分类器评估每个操作的风险等级。低风险(读文件、运行测试、写入已有文件的小改动)自动放行,高风险(删除文件、执行未知脚本、修改配置)仍然弹确认。你设好策略,Agent 自主跑时不再被卡住。
你能用它做什么:
- 开启后低风险操作自动通过,不再一个个按 Y
- 配合
/goal使用——Agent 自主跑长任务时不会因等待确认而停转 - 风险分类可调,企业场景可收紧策略
详见 PR #4151

Worktree 隔离:Agent 在独立工作树中操作
上周我们做了 /branch——对话级的隔离,让你在一次会话中分叉出多条探索路线,互不影响。这周往下走一层:文件级隔离。
Agent 改代码时你最怕什么?改坏了主分支。尤其是复杂重构——Agent 一顿操作后你发现方向不对,还得一个个 revert。/branch 解决的是”对话上下文怎么隔离”,Worktree 解决的是”代码变更怎么隔离”。
Worktree 支持让 Agent 在 Git worktree 中隔离操作。进入 worktree 后所有文件修改、命令执行都限定在独立工作树内,主分支不受影响。满意了再合并,不满意直接丢弃。
本周直接推进到 Phase C:worktree 会话持久化、hooksPath 自动配置、底部状态栏显示当前 worktree 信息、退出时弹出确认对话框。/resume 恢复时提供三种模式——恢复对话+代码、只恢复对话、只恢复代码。
你能用它做什么:
- Agent 做实验性改动时不污染主分支
- 配合
/goal+ Auto Approval——让 Agent 在隔离环境中全自主完成一个大目标 - Worktree 会话可持久化,退出后
/resume恢复继续工作 - 底栏实时显示当前在哪个 worktree,不会搞混
/rewind 文件恢复
/rewind 已经能回退对话,现在它还能恢复文件。回退到某个操作点时,文件内容一并恢复到那个时刻的状态。回退时提供三种选项:“恢复代码和对话”、“只恢复对话”、“只恢复代码”,并显示 +N -N in M files 的变更统计帮你决策。
你能用它做什么:
- Agent 改了 5 个文件后你发现第 3 步就走偏了,
/rewind回到第 3 步前,文件也跟着恢复 - 不用手动
git checkout逐个文件,一条命令全搞定 - 比
git stash更精确——恢复到对话中某一轮的精确状态 - IDE 模式下
/rewind被禁用时会明确提示原因,不再无声失败

VSCode 插件:已发送消息可编辑
发出去的提问描述不够精确?不用 /rewind + 重新输入了。直接编辑那条已发送消息,Agent 从新的提问重新跑。本地快照丢失时编辑不再报错,自动 fallback 到服务端恢复。
你能用它做什么:
- 发现提问描述不够精确,直接编辑那条消息,Agent 从新的提问重新生成
- 一键完成”修改问题 → 重新生成”,不用手动
/rewind - 本地快照丢失时编辑不报错,自动 fallback 到服务端恢复
详见 PR #4147
Hooks 增强:Todo 生命周期 + Prompt Hook
Hooks 系统这周新增两类事件:
TodoCreated / TodoCompleted:Agent 创建或完成待办事项时触发。你可以在 todo 完成时自动发通知、写日志、触发 CI。
Prompt Hook:新增 type: "prompt" hook 类型,用 LLM 评估 hook 输入并返回决策。支持 $ARGUMENTS 占位符注入上下文,可用于任何 hook 事件。
你能用它做什么:
- Todo 完成时自动通知 Slack / 钉钉
- 删除文件前强制再确认,写入日志是谁执行了操作
- Prompt Hook 实现企业级输入审计——不合规的指令在到达模型前就被拦下
ModelScope 内置接入
国内开发者多了一个一键可用的模型源。ModelScope 作为内置第三方 API provider,在 /auth 中直接选择、配置即可使用。
你能用它做什么:
- 不用手动配 endpoint,
/auth菜单直接选 ModelScope - 国内网络直连,延迟更低
- ModelScope 平台上的所有兼容模型都可用
详见 PR #4150

状态栏预设主题:终端美化一键切换
终端工具不一定只能黑底白字。Qwen Code 内置多种 status line 样式预设,通过交互式 dialog 选择切换——信息密度、配色方案、显示内容各有侧重。
你能用它做什么:
- 交互式 dialog 预览并切换不同状态栏主题
- 信息密度可选:精简模式只显示模型名,详细模式带 token 计数和耗时
- 选择持久化到配置,不用每次重新设
详见 PR #4120

/stuck + /doctor:内置诊断工具组
Agent 跑着跑着不动了——是模型限流?MCP 挂了?还是上下文溢出?Memory 用久了不确定它记了什么、有没有异常?以前只能猜,现在有两个内置诊断命令覆盖不同层面:
/stuck——会话级诊断。会话无响应时输入,自动检测限流、MCP 连接、内存压力等问题,给出修复建议。
/doctor——内存级诊断。展示 memory 文件数量、大小、健康状态,发现异常大的 memory 文件并清理,排查 Agent 记忆不准确的问题。
你能用它做什么:
/stuck:会话卡死时一键排查原因,不用翻日志/doctor:定期检查 memory 健康状态,避免记忆膨胀影响响应质量- 两者配合——
/stuck查实时问题,/doctor查慢性问题

更多新功能
| 功能 | PR | 对你的影响 |
|---|---|---|
| NotebookEdit 工具:原生 Jupyter notebook 编辑支持 | #3900 | Agent 可以直接编辑 .ipynb 文件,数据科学工作流无缝衔接 |
| per-turn /diff:逐轮交互式 diff | #4277 | 每轮操作后查看变更,精确到轮次 |
| Git status 注入 system prompt | #4110 | Agent 自动感知当前分支、未提交变更,决策更准确 |
| Ctrl+P/N 历史导航:readline 风格快捷键翻阅输入历史 | #4082 | Emacs/zsh 用户习惯无缝迁移 |
| /delete 批量删除:一次选中多个会话批量清理 | #3733 | 历史会话多了不用一个个删 |
| /export 自定义输出目录 | #4193 | 导出文件放到你想要的位置 |
| Qwen3.6-35B-A3B 图片/视频支持 | #4106 | 本地量化模型也能处理多模态输入 |
| Daemon 模式完善:权限路由、心跳、客户端身份认证、debug 页 | #4232 、#4235 、#4132 | HTTP daemon 走向生产可用,Web UI / IM bot 可安全接入 |
| Ctrl+X 尊重 /editor 偏好 | #4310 | 外部编辑器按你设的 /editor 偏好打开 |
| Skill priority 排序 | #4155 | SKILL.md 加 priority 字段控制展示顺序 |
| 独立安装流程 | #3828 | 无需 Node.js 环境,一键安装即用 |
| atomicWriteFile:Write/Edit 工具原子写入 | #4096 | 写入中断不会产生半写文件,数据更安全 |
| /auth 统一重构:Connect a Provider 流程 | #4287 | 认证配置更清晰,一处管理所有模型提供商 |
📊 优化改进
| PR | 优化内容 | 对你的影响 |
|---|---|---|
| #4070 | code-split lowlight,减少启动 V8 解析开销 | 启动速度更快 |
| #4101 | 压缩摘要前剥离内联媒体 | 上下文压缩质量更高,不浪费 token 在图片 base64 上 |
| #4086 | Explore 子 Agent 使用 fastModel | 探索性子任务用小模型,省钱不影响质量 |
| #4186 | 堆内存压力自动压缩安全网 | 极端长对话不再 OOM 崩溃 |
| #4172 | auto-memory recall 从主请求路径解耦 | 记忆召回不再拖慢首次响应 |
| #4125 | 后台任务结果截断 + 最新优先展示 | 后台任务面板更清晰,最新结果在最上面 |
| #4153 | cross-auth fast models 扩展到子 Agent | 子 Agent 也能用 fastModel 省钱 |
🔧 重要修复
| PR | 修复内容 | 对你的影响 |
|---|---|---|
| #4143 | /language 切换即时生效,无需重启 | 切语言不用重启会话了 |
| #4147 | VSCode 中思维状态保持 + 编辑快照恢复 | VSCode 里 Agent 思考过程不再丢失 |
| #4059 | MinTTY Ctrl+Backspace 正确处理为删除前一个词 | Windows MinTTY 终端快捷键正常 |
| #4130 | VSCode diff 复用已有编辑器组 | 打开 diff 不再强制新开一列 |
| #4166 | progressive MCP 工具刷新到模型 systemInstruction | MCP 工具后台发现后模型能正确调用 |
| #3980 | IDE 上下文正确合并到用户 prompt | IDE 模式下 Agent 能看到你打开的文件 |
| #4023 | 取消操作后自动恢复 prompt + 保留队列 | Ctrl+C 后不丢失已输入的内容 |
| #4121 | Anthropic tool_result 块允许 cache_control | Claude 模型 prompt cache 更稳定 |
| #4157 | DashScope provider 识别扩展更多 hostname 规则 | 企业自建 DashScope 网关正确识别 |
| #4129 | 繁体中文翻译修正符合传统中文惯例 | zh-TW 用户界面更自然 |
| #3896 | OpenAI stream deltas 累积归一化 | 使用 OpenAI 模型时流式输出更稳定 |
| #4286 | structuredClone 替换为浅拷贝防止长会话 OOM | 长对话不再因深拷贝开销导致内存溢出 |
| #4294 | Qwen3 reasoning 正确镜像到出站历史 | 使用 Qwen3 模型时思维链完整保留 |
| #4243 | idle microcompaction 保留 read-before-write 状态 | 空闲压缩不再破坏文件编辑检查 |
| #4213 | tool name migrations 在 dispatch 时应用 | 旧版工具名自动映射到新名,不报错 |
👋 欢迎新贡献者
- @ZevGit — 改进运行时 fetch options 错误处理(#3997 )
- @Col0ring — ModelScope 内置第三方 API provider(#4150 )
- @Dinsmoor — Qwen3.6-35B-A3B 量化变体图片/视频支持(#4106 )
- @xmillogx-cmd — 构建/测试时 cache 限制防止 OOM(#4188 )
- @shenyankm — Plan Mode 可配置输出目录(#4062 )
- @jifeng — Daemon /demo 调试页(#4132 )
- @Alexxigang — Qwen3 reasoning 出站历史镜像修复(#4294 )
- @ideal — Pin fetch to bundled undici 兼容性修复(#4238 )
升级方式:运行 npm i @qwen-code/qwen-code@latest -g 即可升级到最新版本。
如有问题或建议,欢迎在 GitHub Issues 反馈!