← 返回更新日志

Qwen Code v0.20.1-nightly.20260724.7d17c44a3 预发布

2026-07-24 · GitHub 原文
<!-- Release notes generated using configuration in .github/release.yml at release/v0.20.1-nightly.20260724.7d17c44a3 --> ## 更新内容 * test(telemetry): 覆盖守护进程指标初始化顺序,并记录 metricReader 的不对称性 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/7456 * perf(startup): 通过包内动态导入延迟加载 undici by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/7455 * fix(autofix): 在提交头被判定前保持红色检查状态可见 by @wenshao in https://github.com/QwenLM/qwen-code/pull/7438 * feat(web-shell): 在编辑器工具栏添加带添加/切换下拉菜单的工作区选择按钮 by @water-in-stone in https://github.com/QwenLM/qwen-code/pull/7390 * fix: 当 AgentTool 设置 isolation:worktree 时,将空的 working_dir 规范化为 unset by @mvanhorn in https://github.com/QwenLM/qwen-code/pull/7403 * fix(core): 广播已完成任务的恢复 by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/7454 * fix(cli): 细化更新检查错误分类 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/7431 * fix(web-shell): 隔离组件样式与宿主 CSS by @ytahdn in https://github.com/QwenLM/qwen-code/pull/7466 * feat(web-shell): 在详情面板中显示子代理会话 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/7380 * perf(web-shell): 优化长会话渲染 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/7408 * feat(web-shell): 添加渲染后的文件预览 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/7467 * feat(core): 添加记忆召回投递遥测 by @ZijianZhang989 in https://github.com/QwenLM/qwen-code/pull/7393 * fix(web-shell): 优化嵌入式 Shell 交互体验 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/7477 * fix(release): 在核心版本升级时排除 mobile-mcp by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/7474 * fix(ci): 将实际模型名称注入到分类签名中 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/7475 * fix(core): 使步进日字段与 Vixie cron 语义对齐 by @destire-mio in https://github.com/QwenLM/qwen-code/pull/7464 * feat(core): 保持已完成后台代理驻留 by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/7426 * fix(acp-bridge): 关闭 PR #7400 自审查中 prompt-terminal 的后续跟进 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/7453 * fix(core): 从代理派生的子环境变量中剥离 Qwen 内部守护进程密钥 by @chinesepowered in https://github.com/QwenLM/qwen-code/pull/7256 * docs(core): 使 JSDoc @param 名称与实际函数签名对齐 by @ovochouovo in https://github.com/QwenLM/qwen-code/pull/7492 * feat(serve): 支持强制 MCP 重连 by @BZ-D in https://github.com/QwenLM/qwen-code/pull/7488 * fix(cli): Shift+Enter 插入换行符,并停止流式思考块闪烁 by @chiga0 in https://github.com/QwenLM/qwen-code/pull/7397 * fix(web-shell): 打开单例子代理详情 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/7495 * fix(web-shell): 避免冗余的 Git 状态请求 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/7496 * fix(agent): 忽略空的 working_dir 占位符 by @Truraly in https://github.com/QwenLM/qwen-code/pull/7343 * feat(prompts): 允许通过 QWEN_SYSTEM_IDENTITY_MD 覆盖核心身份 by @zjgzx1988 in https://github.com/QwenLM/qwen-code/pull/7478 * fix(cli): 让出给单槽位后台代理 by @hogeheer499-commits in https://github.com/QwenLM/qwen-code/pull/7258 * docs(autofix): 要求提供证据的预提交验证,而非仅显示“已验证” by @wenshao in https://github.com/QwenLM/qwen-code/pull/7486 * feat(autofix): 停止连续 N 次推送失败的 PR by @wenshao in https://github.com/QwenLM/qwen-code/pull/7482 * feat(core): 恢复后台代理名单 by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/7459 * feat(cli): 通过设置支持自定义技能目录 by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/7395 * fix(core): 为 qwen3.8-max 和 kimi-k3 模型添加图像模态支持 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/7491 * fix(dingtalk): 保留非机器人提及的上下文 by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/7473 * fix(core): 强化会话删除期间的用量回收处理 by @zjunothing in https://github.com/QwenLM/qwen-code/pull/7425 * fix(core): 使分叉子代理可被发现 by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/7460 * test(core): 覆盖无工件时的 Shell 截断 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/7470 * fix(ci): autofix 路由在非触发标签事件上检查现有标签 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/7481 * feat(cli): 复制 VP 选区时保留语义文本 by @chiga0 in https://github.com/QwenLM/qwen-code/pull/7286 * test(core): 为 agent.ts 实际调用的注册表方法提供桩实现 by @chinesepowered in https://github.com/QwenLM/qwen-code/pull/7538 * perf(startup): 首次使用时延迟加载 Google GenAI SDK by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/7512 * fix(vscode): 使用文件选择器图片路径作为视觉输入 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/7493 * fix(cli): 打开实际的 serve 回退端口 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/7501 * fix(ci): 避免单个失败场景导致整个视觉预览崩溃 by @wenshao in https://github.com/QwenLM/qwen-code/pull/7511 * feat(web-shell): 添加选择性 Shadow DOM 隔离 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/7551 * feat(web-shell): 添加 renderChatHeader 插槽以支持自定义会话头部 by @yuanyuanAli in https://github.com/QwenLM/qwen-code/pull/7553 * fix(cli): 以作者单位而非代码块 ID 报告审查覆盖率缺口 by @wenshao in https://github.com/QwenLM/qwen-code/pull/7550 * fix(autofix): 重试被跳过的 Prepare 步骤,而不是让 PR 终端卡住 by @wenshao 在 https://github.com/QwenLM/qwen-code/pull/7490 * fix(cli): 在发布的审查内容中移除角色代号和简短路径 by @wenshao 在 https://github.com/QwenLM/qwen-code/pull/7560 * fix(autofix): 重试代理超时,而不是跳过其反馈继续执行 by @wenshao 在 https://github.com/QwenLM/qwen-code/pull/7563 * feat(serve): 添加工作区级生成功能 by @ytahdn 在 https://github.com/QwenLM/qwen-code/pull/7552 * fix(web-shell): 在制品打开请求中暴露 managedId by @ytahdn 在 https://github.com/QwenLM/qwen-code/pull/7570 * feat(serve): 持久化工作区频道配置 by @qqqys 在 https://github.com/QwenLM/qwen-code/pull/7514 * fix(sdk-python): 在 validate_session_id 中要求使用规范形式 by @chinesepowered 在 https://github.com/QwenLM/qwen-code/pull/7532 * fix(web-shell): 同步后台代理状态 by @ytahdn 在 https://github.com/QwenLM/qwen-code/pull/7561 * feat(core): 传播受信任的守护进程调用上下文 by @callmeYe 在 https://github.com/QwenLM/qwen-code/pull/7279 * fix(feishu): 在媒体下载清理阶段等待流取消 by @chinesepowered 在 https://github.com/QwenLM/qwen-code/pull/7465 * fix(autofix): 使审查反馈报告评论完全支持双语 by @wenshao 在 https://github.com/QwenLM/qwen-code/pull/7569 * feat(cli): 当 PR 描述为中文时,以双语形式发布审查内容 by @wenshao 在 https://github.com/QwenLM/qwen-code/pull/7564 * feat(autofix): 自动重试因基础设施问题失败的检查(仅一次) by @wenshao 在 https://github.com/QwenLM/qwen-code/pull/7562 * fix(serve): 通过 epoch 令牌检测守护进程重启期间的过期 SSE 游标;保留回合归属并在重放时暴露压缩失败 by @doudouOUC 在 https://github.com/QwenLM/qwen-code/pull/7458 * feat(core): 将 GenAI 遥测数据与 ARMS 对齐 by @doudouOUC 在 https://github.com/QwenLM/qwen-code/pull/7536 * fix(serve): 避免 TOCTOU 竞态条件导致实时会话从列表响应中丢失 by @yiliang114 与 @Copilot 在 https://github.com/QwenLM/qwen-code/pull/7556 * fix(cli): 防止在 task_stop 后发送监控通知 by @yiliang114 在 https://github.com/QwenLM/qwen-code/pull/7573 * fix(cli): 使用 npm view 进行版本检查,替代 update-notifier (#7515) by @dtometzki 在 https://github.com/QwenLM/qwen-code/pull/7528 * fix(core): 避免生成空白的对话历史页面 by @ytahdn 在 https://github.com/QwenLM/qwen-code/pull/7582 * fix(cli): 暴露未处理的拒绝和渲染错误,而非静默吞没 by @chiga0 在 https://github.com/QwenLM/qwen-code/pull/7406 * fix(web-shell): 隔离斜杠命令插件页面 by @ytahdn 在 https://github.com/QwenLM/qwen-code/pull/7581 * feat(web-shell): 添加工作区代理管理 by @ytahdn 在 https://github.com/QwenLM/qwen-code/pull/7572 * fix(sdk-python): 将 max_tool_calls 和 max_subagent_depth 验证为整数 by @chinesepowered 在 https://github.com/QwenLM/qwen-code/pull/7548 * test(autofix): 从工作流中统一来源 infra-signature 列表 by @wenshao 在 https://github.com/QwenLM/qwen-code/pull/7565 * fix(cli): 修正排队消息的显示样式和排序 by @chiga0 在 https://github.com/QwenLM/qwen-code/pull/7381 * perf(cli): 延迟 ACP 遥测初始化 by @doudouOUC 在 https://github.com/QwenLM/qwen-code/pull/7558 * fix(core): 持久化仅使用工具的子代理回合用量 by @DragonnZhang 在 https://github.com/QwenLM/qwen-code/pull/7557 * fix(core): 当提供商需要思考时重试请求 by @yiliang114 在 https://github.com/QwenLM/qwen-code/pull/7534 * feat(autofix): 当门禁拒绝落后于 main 分支的修复时,更新过期的基础版本 by @wenshao 在 https://github.com/QwenLM/qwen-code/pull/7595 * fix(core): 在 FileReadCache 中记录自动记忆索引读取 by @han-dreamer 在 https://github.com/QwenLM/qwen-code/pull/7468 * fix(web-shell): 通过 ID 初始化工作区选择器 by @patrick-andstar 在 https://github.com/QwenLM/qwen-code/pull/7518 * fix(core): 拒绝嵌套的后台请求 by @patrick-andstar 在 https://github.com/QwenLM/qwen-code/pull/7593 * fix(web-shell): 防止 React 测量详情导致内存溢出 (OOM) by @ytahdn 在 https://github.com/QwenLM/qwen-code/pull/7596 * fix(core): jsonl write([]) 应保留空文件,而非产生多余换行 by @chinesepowered 在 https://github.com/QwenLM/qwen-code/pull/7533 * fix(core): 从钩子和工具发现子环境变量中剥离守护进程密钥 by @chinesepowered 在 https://github.com/QwenLM/qwen-code/pull/7527 * fix(core): 保留已禁用的推理强度设置 by @WladmirJunior 在 https://github.com/QwenLM/qwen-code/pull/7541 * feat(sdk-java): 添加守护进程传输层 by @doudouOUC 在 https://github.com/QwenLM/qwen-code/pull/7463 * fix(web-shell): 在触控设备上渲染纯文本域编辑器 by @ComplexSimply 在 https://github.com/QwenLM/qwen-code/pull/7587 * fix(core): 在 splitCommands 中将单引号内的反斜杠视为字面量 by @chinesepowered 在 https://github.com/QwenLM/qwen-code/pull/7526 * fix(cli): 停止将 version-manager 的 npm 垫片识别为 npm-cli.js by @nerdalytics 在 https://github.com/QwenLM/qwen-code/pull/7545 * fix(core,cli): 将队友主导回合与代理上下文隔离 by @yiliang114 在 https://github.com/QwenLM/qwen-code/pull/7576 * feat(autofix): 自动更新仅基于已修复的过期基础版本的 PR 状态 by @wenshao 在 https://github.com/QwenLM/qwen-code/pull/7554 * test: 修复 tool-control E2E 测试中 write_file 内容断言的不稳定问题 by @yiliang114 与 @Copilot 在 https://github.com/QwenLM/qwen-code/pull/7613 * fix(sdk-java): 允许终端继续启动下一个提示 by @wenshao 在 https://github.com/QwenLM/qwen-code/pull/7615 * feat(autofix): 自动恢复停留在过期基础版本上的 PR by @wenshao 在 https://github.com/QwenLM/qwen-code/pull/7602 * fix(channels): 将 Telegram 回复路由到论坛主题 by @hogeheer499-commits 在 https://github.com/QwenLM/qwen-code/pull/7612 * fix(acp): 对其他认证类型隐藏已停用的 OAuth 模型 由 @hogeheer499-commits 在 https://github.com/QwenLM/qwen-code/pull/7522 * test(sdk-java): 在慢速测试中扩大 SSE 空闲看门狗的边距 由 @wenshao 在 https://github.com/QwenLM/qwen-code/pull/7617 * feat(core): 添加 Goal v3 状态协议 由 @qqqys 在 https://github.com/QwenLM/qwen-code/pull/7517 * feat(daemon): 添加显式通道交付 由 @BenGuanRan 在 https://github.com/QwenLM/qwen-code/pull/7388 * feat(serve): 将通道生命周期范围限定为工作区运行时 由 @qqqys 在 https://github.com/QwenLM/qwen-code/pull/7577 ## 新贡献者 * @ovochouovo 在 https://github.com/QwenLM/qwen-code/pull/7492 中首次贡献 * @Truraly 在 https://github.com/QwenLM/qwen-code/pull/7343 中首次贡献 * @zjgzx1988 在 https://github.com/QwenLM/qwen-code/pull/7478 中首次贡献 * @hogeheer499-commits 在 https://github.com/QwenLM/qwen-code/pull/7258 中首次贡献 * @dtometzki 在 https://github.com/QwenLM/qwen-code/pull/7528 中首次贡献 * @patrick-andstar 在 https://github.com/QwenLM/qwen-code/pull/7518 中首次贡献 * @WladmirJunior 在 https://github.com/QwenLM/qwen-code/pull/7541 中首次贡献 * @nerdalytics 在 https://github.com/QwenLM/qwen-code/pull/7545 中首次贡献 **完整更新日志**: https://github.com/QwenLM/qwen-code/compare/v0.20.1...v0.20.1-nightly.20260724.7d17c44a3