← 返回更新日志

Qwen Code v0.21.1-nightly.20260730.1643a6c9a 预发布

2026-07-30 · GitHub 原文
<!-- 使用 release/v0.21.1-nightly.20260730.1643a6c9a 分支下 .github/release.yml 中的配置生成 --> ## 更新内容 * 修复(ci):在 qwen-triage 的容器任务中添加默认 bash shell by @qwen-code-dev-bot 在 https://github.com/QwenLM/qwen-code/pull/7838 * 修复(web-shell):在 composer 中保留粘贴的文本 by @ytahdn 在 https://github.com/QwenLM/qwen-code/pull/7824 * 新增(web-shell):添加监控任务详情 by @ytahdn 在 https://github.com/QwenLM/qwen-code/pull/7817 * 修复(ci):为容器任务添加 git safe.directory by @qwen-code-dev-bot 在 https://github.com/QwenLM/qwen-code/pull/7843 * 修复(ci):为容器任务添加 --init 以回收僵尸进程 by @qwen-code-dev-bot 在 https://github.com/QwenLM/qwen-code/pull/7848 * 修复(core):在结算后台 shell 前等待输出流刷新 by @ComplexSimply 在 https://github.com/QwenLM/qwen-code/pull/7833 * 修复(scripts):重试模型调用并展示降级版发布说明 by @he-yufeng 在 https://github.com/QwenLM/qwen-code/pull/7535 * 新增(web-shell):将语音范围限定至 composer 工作区 by @doudouOUC 在 https://github.com/QwenLM/qwen-code/pull/7754 * 新增(hooks):添加已提交提示词的来源追踪 by @doudouOUC 在 https://github.com/QwenLM/qwen-code/pull/7762 * 修复(ci):防止 worktree 清理操作导致 verify 任务失败 by @qwen-code-dev-bot 在 https://github.com/QwenLM/qwen-code/pull/7857 * 性能(acp):在会话创建后预加载 providers by @doudouOUC 在 https://github.com/QwenLM/qwen-code/pull/7767 * 测试(channels):在 CI 中运行飞书、微信和 qqbot 测试套件 by @chinesepowered 在 https://github.com/QwenLM/qwen-code/pull/7853 * 新增(autofix):对确定性拒绝重试一次 by @qqqys 在 https://github.com/QwenLM/qwen-code/pull/7796 * 修复(release):发布所有频道包,而不仅仅是 channel-base by @yiliang114 在 https://github.com/QwenLM/qwen-code/pull/7845 * 新增(web-shell):添加频道管理页面 by @qqqys 在 https://github.com/QwenLM/qwen-code/pull/7793 * 新增(acp):添加会话级运行时 MCP by @qqqys 在 https://github.com/QwenLM/qwen-code/pull/7847 * 新增(core):持久化并回放 Goal v3 状态 by @qqqys 在 https://github.com/QwenLM/qwen-code/pull/7815 * 新增(core):添加全分辨率图像缩放工具 by @qqqys 在 https://github.com/QwenLM/qwen-code/pull/7809 * 修复(scripts):强化重试分类并保留超时错误上下文 by @yiliang114 在 https://github.com/QwenLM/qwen-code/pull/7854 * 新增(web-shell):添加 composer 页脚渲染器 by @dreamWB 在 https://github.com/QwenLM/qwen-code/pull/7856 * 修复(core):对永久性配额耗尽的 429 错误快速失败,而非静默重试 by @yiliang114 在 https://github.com/QwenLM/qwen-code/pull/7842 * 修复(web-shell):隔离历史记录与会话草稿 by @ytahdn 在 https://github.com/QwenLM/qwen-code/pull/7810 * 修复(triage):在归咎于 PR 之前,先对瞬态 npm ci 失败进行重试 by @wenshao 在 https://github.com/QwenLM/qwen-code/pull/7884 * 修复(webui):回退使用 history_truncated 标记的 recordId 作为转录分页锚点 by @wenshao 在 https://github.com/QwenLM/qwen-code/pull/7829 * 新增:将会话写入者租约限制为可选加入 by @doudouOUC 在 https://github.com/QwenLM/qwen-code/pull/7894 * 修复(review):将剩余时间预算分配给 review 重试 by @wenshao 在 https://github.com/QwenLM/qwen-code/pull/7852 * 修复(integration):为已提交提示词来源测试配置 Docker 沙箱网络 (#7879) by @qwen-code-dev-bot 在 https://github.com/QwenLM/qwen-code/pull/7881 * 修复(cli):报告真实的 $0.00 成本而非 N/A by @chinesepowered 在 https://github.com/QwenLM/qwen-code/pull/7784 * 修复(core):拒绝 socks5h 和 socks4a 代理 URL by @chinesepowered 在 https://github.com/QwenLM/qwen-code/pull/7786 * 修复(core):修正 checkContentLoop 中的字符类 by @chinesepowered 在 https://github.com/QwenLM/qwen-code/pull/7788 * 修复(web-shell):使仅带索引的 /copy 命令生效 by @chinesepowered 在 https://github.com/QwenLM/qwen-code/pull/7789 * 修复(core):拒绝 -i 不在末尾的组合 sed 标志 by @chinesepowered 在 https://github.com/QwenLM/qwen-code/pull/7790 * 修复(core):将 Grep 模式放在 -e 之后传递,以避免前导短横线被识别为选项 by @chinesepowered 在 https://github.com/QwenLM/qwen-code/pull/7863 * 新增(ci):通过在现有 issue 上评论来去重 E2E 失败问题 by @yiliang114 在 https://github.com/QwenLM/qwen-code/pull/7792 * 修复(core):像其他 getErrorMessage 路径一样限制裸 Error 的消息长度 by @chinesepowered 在 https://github.com/QwenLM/qwen-code/pull/7865 * 修复(cli):使 wrapToVisualLines 像其兄弟函数一样计算零宽字符 by @chinesepowered 在 https://github.com/QwenLM/qwen-code/pull/7873 * 修复(core):将分隔符和省略号计入预览预算 by @chinesepowered 在 https://github.com/QwenLM/qwen-code/pull/7874 * 修复(cli):在重新打开分割围栏时不计算不完整的末尾行 by @chinesepowered 在 https://github.com/QwenLM/qwen-code/pull/7875 * 修复(cli):使 /copy <message> <index> 选择代码块 by @chinesepowered 在 https://github.com/QwenLM/qwen-code/pull/7883 * 新增(triage):添加 revert-pattern 高风险路径检测 by @yiliang114 在 https://github.com/QwenLM/qwen-code/pull/7414 * 新增(web-shell):添加原生工作区文件夹选择器 by @qqqys 在 https://github.com/QwenLM/qwen-code/pull/7849 * 新增(web-shell):添加频道配置流程 by @qqqys 在 https://github.com/QwenLM/qwen-code/pull/7893 * 修复(test):恢复首次输出基准测试的测量有效性并修正其制品 schema by @doudouOUC 在 https://github.com/QwenLM/qwen-code/pull/7820 * 修复(daemon):强化 Todo Stop Guard 的继续执行逻辑 by @doudouOUC 在 https://github.com/QwenLM/qwen-code/pull/7821 * 修复(core):从公共 git 目录读取 stash reflog by @chinesepowered 在 https://github.com/QwenLM/qwen-code/pull/7774 * fix(core): 在 toOpenAPI30 中保留 Draft 4 布尔值互斥边界 by @chinesepowered in https://github.com/QwenLM/qwen-code/pull/7782 * fix(core): 将 maxDepth 应用于扁平格式内存导入 by @chinesepowered in https://github.com/QwenLM/qwen-code/pull/7851 * fix(core): 渲染思维部分的推理内容而非布尔标志 by @chinesepowered in https://github.com/QwenLM/qwen-code/pull/7866 * fix(core): 为纯文本模型桥接工具结果图片 by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/7484 * fix(cli): 修补 ink 以在间接子树移除时清除 staticNode by @chiga0 in https://github.com/QwenLM/qwen-code/pull/7816 * fix(core): 在 API 调用期间自动重试瞬态网络错误 by @chiga0 in https://github.com/QwenLM/qwen-code/pull/7898 * fix(cli): 隐藏来自之前轮次的过期粘性待办事项 by @chiga0 in https://github.com/QwenLM/qwen-code/pull/7900 * fix(serve): 在关闭时释放托管会话写入器锁 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/7812 * perf(core): 在稳定的系统前缀上添加早期 Anthropic 缓存断点 by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/7912 * fix(cli): 为 git 分支名称显示添加轮询回退机制 by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/7830 * fix(cli): 移除 @mention 工具卡片中冗余的“读取文件”前缀 by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/7902 * feat(core): 添加 ARMS 会话用户 ID by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/7921 * fix(safe-mode): 保留调用方提供的顶级 MCP 服务器 by @VitaliBabkin in https://github.com/QwenLM/qwen-code/pull/7827 * fix(ci): 保持 main 分支上合并后的 E2E 信号存活 by @wenshao in https://github.com/QwenLM/qwen-code/pull/7795 * fix(core): 当输出流无法刷新时短路(跳过)刷新等待 by @ComplexSimply in https://github.com/QwenLM/qwen-code/pull/7905 * fix(core): 在 splitCommands 中追踪命令替换内的引号 by @chinesepowered in https://github.com/QwenLM/qwen-code/pull/7870 * fix(core): 将每个服务器和每个工具的“始终允许”结果计为审批 by @chinesepowered in https://github.com/QwenLM/qwen-code/pull/7869 * fix(web-shell): 在启动新聊天时向主机报告预期的工作区 by @wenshao in https://github.com/QwenLM/qwen-code/pull/7910 * fix(cli): 默认使用虚拟化终端历史记录 by @ZevGit in https://github.com/QwenLM/qwen-code/pull/5738 * fix(ci): 在清理过程中恢复工作区所有权以防止 EACCES 错误 by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/7931 * perf(ci): 将 E2E 套件运行时间从约 40 分钟缩短至约 24 分钟 by @wenshao in https://github.com/QwenLM/qwen-code/pull/7798 * feat(channels): 在守护进程会话中暴露循环工具 by @qqqys in https://github.com/QwenLM/qwen-code/pull/7891 * fix(review): 当未重新处理 --effort 时恢复已解决的耗时 by @wenshao in https://github.com/QwenLM/qwen-code/pull/7855 * feat(web-shell): 支持语音保持模式 by @callmeYe in https://github.com/QwenLM/qwen-code/pull/7839 * feat(web-shell): 管理 Channel 配对请求 by @qqqys in https://github.com/QwenLM/qwen-code/pull/7909 * feat(channels): 按原因分发 GitHub 通知 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/7826 * feat(web-shell): 添加 git 分支选择器、提交对话框和创建 PR 流程 by @wenshao in https://github.com/QwenLM/qwen-code/pull/7731 * feat(triage): 在 CI 路径上展示沙箱通道 by @wenshao in https://github.com/QwenLM/qwen-code/pull/7917 * fix(scripts): 精简发布说明模型提示词并记录请求耗时 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/7941 * feat(web-shell): 为旁支问题建议 BTW by @carffuca in https://github.com/QwenLM/qwen-code/pull/7935 * fix(release): 在发布版本升级期间将 channel-base 依赖固定为精确版本 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/7953 * feat(triage): 使验证报告支持中文可读 by @wenshao in https://github.com/QwenLM/qwen-code/pull/7918 * fix(triage): 使构建过程守卫具备可诊断性和僵尸进程感知能力 by @wenshao in https://github.com/QwenLM/qwen-code/pull/7858 * fix(ci): 为每个作业分配独立的代理包装目录 by @wenshao in https://github.com/QwenLM/qwen-code/pull/7951 * feat(autofix): 在五轮修改后延迟提供修复建议 by @qqqys in https://github.com/QwenLM/qwen-code/pull/7913 * feat(core): 将 Goal v3 连接到回合引擎 by @qqqys in https://github.com/QwenLM/qwen-code/pull/7895 * feat(core): 限制图像读取以实现可靠缩放 by @qqqys in https://github.com/QwenLM/qwen-code/pull/7911 * fix(integration): 根据环境变量超时时间调整交互式先读后写等待时间 (#7942) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/7943 * test(integration): 修复 asyncGenerator canUseTool 内容断言的不稳定问题 (#7937) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/7939 * fix(ci): 在检出前清理过期的 .qwen/ 目录以防止权限拒绝 by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/7977 * feat(triage): 将未验证语句转化为机械式的 2b-bis 触发器 by @wenshao in https://github.com/QwenLM/qwen-code/pull/7965 * fix(ci): 恢复验证工作区权限 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/7992 * feat(external-context): 添加已提交提示词的自动召回 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/7877 * fix(ci): 更新 ECS 运行器使用的 Qwen 二进制文件 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/8000 * feat(web-shell): 使用 markdown-chart 渲染流式图表 by @zhangxy-zju in https://github.com/QwenLM/qwen-code/pull/7916 * feat: 增强 ripgrep 的健壮性 by @water-in-stone in https://github.com/QwenLM/qwen-code/pull/7888 * fix(core): 标记从未扩展过项预算的文件夹 by @chinesepowered in https://github.com/QwenLM/qwen-code/pull/7868 * 修复(feishu):通过 @chinesepowered 在 https://github.com/QwenLM/qwen-code/pull/7850 限制代码块分块大小,使其不超过消息长度限制 * 修复(web-shell):通过 @ytahdn 在 https://github.com/QwenLM/qwen-code/pull/7926 保留会话 URL 中的 token 和基础路径 * ci:通过 @DennisYu07 在 https://github.com/QwenLM/qwen-code/pull/7656 添加独立的 DSW SWE-bench 发布流水线 * 修复(web-shell):通过 @qqqys 在 https://github.com/QwenLM/qwen-code/pull/7997 优化频道配对请求 * 修复(cli):通过 @chiga0 在 https://github.com/QwenLM/qwen-code/pull/7998 修正全屏模式下硬件光标差一错误 * 修复(cli):通过 @chiga0 在 https://github.com/QwenLM/qwen-code/pull/7988 防止 Windows 上 SGR 鼠标事件被误吞为粘贴操作 * 新增(channels):通过 @BenGuanRan 在 https://github.com/QwenLM/qwen-code/pull/6930 添加钉钉交互卡片 * 新增(web-shell):通过 @ytahdn 在 https://github.com/QwenLM/qwen-code/pull/7999 完善高级表格控件 * 修复(serve):通过 @doudouOUC 在 https://github.com/QwenLM/qwen-code/pull/7947 允许对大型文本文件进行有界读取 * 修复(web-shell):通过 @ytahdn 在 https://github.com/QwenLM/qwen-code/pull/7973 在卡片中优先使用制品类型元数据 * 修复(web-shell):通过 @ytahdn 在 https://github.com/QwenLM/qwen-code/pull/8015 降低 Composer 输入延迟 * 修复(webui):通过 @ytahdn 在 https://github.com/QwenLM/qwen-code/pull/8001 稳定会话历史分页 * 修复(release):通过 @qwen-code-dev-bot 在 https://github.com/QwenLM/qwen-code/pull/7970 当上一版本与目标分支分叉时跳过 notes-start-tag (#7969) * 修复(sdk):通过 @wenshao 在 https://github.com/QwenLM/qwen-code/pull/8024 将守护进程浏览器包预算提升至 177KB * 修复(cli):通过 @chiga0 在 https://github.com/QwenLM/qwen-code/pull/7996 将 Kitty Super (Command) 修饰键映射为 meta * 修复(daemon):通过 @destire-mio 在 https://github.com/QwenLM/qwen-code/pull/7932 区分正在退出的频道工作器诊断信息 * 新增(triage):通过 @wenshao 在 https://github.com/QwenLM/qwen-code/pull/7974 在验证评论前添加定性结论,并折叠中文内容 * 修复(review):通过 @wenshao 在 https://github.com/QwenLM/qwen-code/pull/7986 在构建测试安装和构建前预检可用磁盘空间 * 测试(integration):通过 @yiliang114 在 https://github.com/QwenLM/qwen-code/pull/7934 将不稳定的 E2E 测试迁移至 fake-openai-server * 新增(triage):通过 @wenshao 在 https://github.com/QwenLM/qwen-code/pull/7985 在清理工作区后于 ECS 上运行外部 /verify * 修复(cli):通过 @chiga0 在 https://github.com/QwenLM/qwen-code/pull/8011 保留 Ctrl+Shift+C 用于终端复制,而非退出/清屏 * 修复(core):通过 @chiga0 在 https://github.com/QwenLM/qwen-code/pull/7914 自动记录制品文件写入操作 * 修复(cli):通过 @qwen-code-dev-bot 在 https://github.com/QwenLM/qwen-code/pull/7995 修复 MCP 提示词补全不再阻塞可选参数的 Enter 键 * 新增(hooks):通过 @xurik 在 https://github.com/QwenLM/qwen-code/pull/7968 添加 security.allowPrivateNetworkHooks 以允许可信作用域绕过 SSRF 范围检查 * 新增(web-shell):通过 @samuelhsin 在 https://github.com/QwenLM/qwen-code/pull/7808 为拆分窗格头部操作槽位添加溢出处理 * 新增(channels):通过 @OrbitZore 在 https://github.com/QwenLM/qwen-code/pull/7862 添加 GitLab 轮询频道适配器 * 修复(channels):通过 @qqqys 在 https://github.com/QwenLM/qwen-code/pull/8034 在守护进程会话中禁用原生 cron * 新增(channels):通过 @qqqys 在 https://github.com/QwenLM/qwen-code/pull/8045 添加配对审批管理 API * 新增(github-channel):通过 @xianjianlf2 在 https://github.com/QwenLM/qwen-code/pull/8031 过滤通知原因 * 修复(channels):通过 @zjunothing 在 https://github.com/QwenLM/qwen-code/pull/8055 拒绝不可用的 GitHub 自允许列表 * 修复(core):通过 @netbrah 在 https://github.com/QwenLM/qwen-code/pull/7989 从 send_message 工具模式中移除顶层 oneOf * 修复(cli):通过 @chiga0 在 https://github.com/QwenLM/qwen-code/pull/8009 防止调整大小重绘引发滚动风暴 * 新增(review):通过 @wenshao 在 https://github.com/QwenLM/qwen-code/pull/7987 将针对非平凡差异的“零问题通过”披露为低信号 * 修复(core):通过 @DragonnZhang 在 https://github.com/QwenLM/qwen-code/pull/7927 恢复时重新绑定 fork 能力 * 新增(core):通过 @DragonnZhang 在 https://github.com/QwenLM/qwen-code/pull/7922 在上下文窗口阈值内预加载延迟工具 * 修复(channels):通过 @yiliang114 在 https://github.com/QwenLM/qwen-code/pull/8033 使 GitHub 最终响应发布仅执行一次 * 修复(ci):通过 @yiliang114 在 https://github.com/QwenLM/qwen-code/pull/8062 在 PR 审查任务的 checkout 前恢复工作区所有权 * 修复(release):通过 @yiliang114 在 https://github.com/QwenLM/qwen-code/pull/7978 将预览版基础版本提升至已发布稳定版之上 * 测试(web-shell):通过 @PratikWayase 在 https://github.com/QwenLM/qwen-code/pull/7907 扩展恢复历史分页的回归测试覆盖范围 * 修复(serve):通过 @doudouOUC 在 https://github.com/QwenLM/qwen-code/pull/7976 添加认证会话写入器交接机制 * 测试(integration):通过 @doudouOUC 在 https://github.com/QwenLM/qwen-code/pull/7994 测量即时提示词分发阶段 ## 新贡献者 * @VitaliBabkin 在 https://github.com/QwenLM/qwen-code/pull/7827 首次贡献 * @xianjianlf2 在 https://github.com/QwenLM/qwen-code/pull/8031 首次贡献 **完整更新日志**: https://github.com/QwenLM/qwen-code/compare/dsw-manual-poc-20260727-1...v0.21.1-nightly.20260730.1643a6c9a