← 返回更新日志

Qwen Code v0.23.1

2026-09-08 · GitHub 原文
<!-- qwen-release-notes:v1 --> ## 亮点 _详见下方的完整变更列表。_ ## 破坏性变更 - refactor!: 弃用 @qwen-code/webui ([#9812](https://github.com/QwenLM/qwen-code/pull/9812)) by @yiliang114 ## 完整变更列表 ### 新功能 - feat(web-shell): 可视化并管理动态工作流运行 ([#10594](https://github.com/QwenLM/qwen-code/pull/10594)) by @qqqys - feat(ipc): 在消息被拒绝时通知发送者,并使挂起的消息过期 ([#10809](https://github.com/QwenLM/qwen-code/pull/10809)) by @qqqys - feat(serve): 添加会话资源目录 ([#10837](https://github.com/QwenLM/qwen-code/pull/10837)) by @w9lsky - feat(web-shell): 在对话记录中为正在运行的子代理提供实时状态 ([#10939](https://github.com/QwenLM/qwen-code/pull/10939)) by @wenshao - 在 VP 模式下支持通过单击打开 OSC 8 链接,并添加包含“打开链接”、“复制链接地址”和“复制选区”的右键菜单。 ([#10979](https://github.com/QwenLM/qwen-code/pull/10979)) by @chiga0 - feat(channels): 添加工作树隔离的命名任务 ([#10643](https://github.com/QwenLM/qwen-code/pull/10643)) by @doudouOUC - 在守护进程和 SDK 中添加会话轮次导航协议支持,用于有界轮次索引、快照和对话记录分页。 ([#10751](https://github.com/QwenLM/qwen-code/pull/10751)) by @doudouOUC - feat(web-shell): 恢复环境面板状态 ([#10627](https://github.com/QwenLM/qwen-code/pull/10627)) by @ytahdn - feat(ipc): 保持对等端收件箱可达,并在不可达时予以提示 ([#10800](https://github.com/QwenLM/qwen-code/pull/10800)) by @qqqys - feat: 聊天对话记录导出为 HTML 格式 ([#10076](https://github.com/QwenLM/qwen-code/pull/10076)) by @water-in-stone - feat(serve): 通过强制会话租约对对话写入器进行隔离 ([#10924](https://github.com/QwenLM/qwen-code/pull/10924)) by @doudouOUC - feat: 从 ~/.qwen/output-styles 和 .qwen/output-styles 加载自定义输出样式 ([#10761](https://github.com/QwenLM/qwen-code/pull/10761)) by @qqqys - feat(ui): 添加 ui.showToolCallArgs 以以内联方式渲染工具调用参数 ([#10565](https://github.com/QwenLM/qwen-code/pull/10565)) by @TianYuan1024 - feat(ipc): 跨审查类保留对等端消息,仅允许仓库收紧入站设置 ([#11026](https://github.com/QwenLM/qwen-code/pull/11026)) by @qqqys - feat(skills): 添加内置的 zvec-grep 安装器 ([#10723](https://github.com/QwenLM/qwen-code/pull/10723)) by @zhourrr - feat(core): 将会话 ID 发送至 Routify 端点 ([#10896](https://github.com/QwenLM/qwen-code/pull/10896)) by @DragonnZhang - feat(core): 将 todo_write 设为可选 ([#10645](https://github.com/QwenLM/qwen-code/pull/10645)) by @DragonnZhang - feat(serve): 添加工作区范围的 Skills 运行时 ([#10697](https://github.com/QwenLM/qwen-code/pull/10697)) by @ytahdn - feat(channels): 按配置的 prefix 过滤消息 ([#10817](https://github.com/QwenLM/qwen-code/pull/10817)) by @qqqys - feat(review): 添加低开销召回下限 ([#9912](https://github.com/QwenLM/qwen-code/pull/9912)) by @yu-xin-c - feat(workflows): 返回运行句柄并持久化内联脚本 ([#11089](https://github.com/QwenLM/qwen-code/pull/11089)) by @qqqys - feat(review): 添加 prose-execution 审计和 counter-frame 审计 ([#10221](https://github.com/QwenLM/qwen-code/pull/10221)) by @wenshao - feat(web-shell): 添加无头全局轮次导航 ([#11054](https://github.com/QwenLM/qwen-code/pull/11054)) by @doudouOUC - feat(web-shell): 将浏览器授权的本地目录桥接至会话 ([#10962](https://github.com/QwenLM/qwen-code/pull/10962)) by @wenshao - feat(acp): 通过父级 tool_call 更新使子代理执行可见 ([#8729](https://github.com/QwenLM/qwen-code/pull/8729)) by @PratikWayase - feat(dingtalk): 将后台代理聚合设为可选 ([#10899](https://github.com/QwenLM/qwen-code/pull/10899)) by @qqqys - feat(ipc): 允许用户签发的控制器令牌驱动会话,无需逐条消息审查 ([#11090](https://github.com/QwenLM/qwen-code/pull/11090)) by @qqqys - feat(ci): 在自动修复轮次报告中显示已解析的模型和 CLI 版本 ([#11124](https://github.com/QwenLM/qwen-code/pull/11124)) by @wenshao - feat(web-shell): 对齐侧边栏会话范围 ([#11240](https://github.com/QwenLM/qwen-code/pull/11240)) by @ytahdn - feat(web-shell): 解释 Shell 审批命令 ([#11266](https://github.com/QwenLM/qwen-code/pull/11266)) by @ytahdn - feat(web-shell): 自定义制品图标 ([#11247](https://github.com/QwenLM/qwen-code/pull/11247)) by @ytahdn - feat(update): 支持可配置的发布下载基础 URL ([#11150](https://github.com/QwenLM/qwen-code/pull/11150)) by @XIQIXIQIXIQI - feat(web-shell): 显示 Goal 在允许的时间窗口内已消耗的额度 ([#11254](https://github.com/QwenLM/qwen-code/pull/11254)) by @qqqys - feat(external-context): 为管理员拥有的 Mem0 方言添加可选的自动召回 ([#11246](https://github.com/QwenLM/qwen-code/pull/11246)) by @doudouOUC - feat(goal): 显示 Goal 在允许的时间窗口内已消耗的额度 ([#11248](https://github.com/QwenLM/qwen-code/pull/11248)) by @qqqys - feat(channels): 实现命名会话的工作树重置(第 4B 部分) ([#11015](https://github.com/QwenLM/qwen-code/pull/11015)) by @doudouOUC - feat(serve): 允许具有会话隔离的并发独立守护进程 ([#11207](https://github.com/QwenLM/qwen-code/pull/11207)) by @doudouOUC - feat(web-shell): 添加连续历史记录和紧凑轮次导航 ([#11208](https://github.com/QwenLM/qwen-code/pull/11208)) by @doudouOUC - feat(external-context): 添加守护进程内存写入 ([#11311](https://github.com/QwenLM/qwen-code/pull/11311)) by @doudouOUC - feat(web-shell): 在右侧边栏添加上下文使用选项卡 ([#11177](https://github.com/QwenLM/qwen-code/pull/11177)) by @wenshao - feat(web-shell): 优化文件卡片并配置拖放目标 ([#11298](https://github.com/QwenLM/qwen-code/pull/11298)) by @ytahdn - feat(cli): 删除守护进程会话时清理已拥有的工作树 ([#11309](https://github.com/QwenLM/qwen-code/pull/11309)) by @doudouOUC - feat(channels): 在频道管理中添加共享多行指令字段 ([#11082](https://github.com/QwenLM/qwen-code/pull/11082)) by @yiliang114 - feat(goal): 目标在连续三次自主回合未取得进展后暂停 ([#11239](https://github.com/QwenLM/qwen-code/pull/11239)) by @qqqys - feat(core): 配置模型推理能力 ([#10999](https://github.com/QwenLM/qwen-code/pull/10999)) by @callmeYe - feat(goal): 为完整声明列表设置检查点验证器超时时间,并允许操作员配置 ([#11305](https://github.com/QwenLM/qwen-code/pull/11305)) by @qqqys - feat(dingtalk): 显示动态生命周期标签 ([#10504](https://github.com/QwenLM/qwen-code/pull/10504)) by @BenGuanRan - feat(external-context): 添加守护进程内存清理 ([#11337](https://github.com/QwenLM/qwen-code/pull/11337)) by @doudouOUC - feat(core): 在每个提供商的 customHeaders 中展开 ${session_id} ([#11282](https://github.com/QwenLM/qwen-code/pull/11282)) by @yiliang114 - feat(cli): 完成 OpenTUI 功能对齐(对话框、编辑器、Shell 模式) ([#11152](https://github.com/QwenLM/qwen-code/pull/11152)) by @chiga0 ### Bug Fixes - fix(web-shell): 使 30 秒概览轮询的端到端测试具有确定性 ([#10934](https://github.com/QwenLM/qwen-code/pull/10934)) by @yiliang114 - fix(cli): 从实时输入中提交精确的斜杠命令 ([#10929](https://github.com/QwenLM/qwen-code/pull/10929)) by @yiliang114 - fix(web-shell): 当分支落后于上游时禁用 Push 操作 ([#10754](https://github.com/QwenLM/qwen-code/pull/10754)) by @wenshao - fix(cli): 按请求解析会话管理设置,而非使用过期的 this.settings 缓存 ([#10095](https://github.com/QwenLM/qwen-code/pull/10095)) by @tomsen02 - fix(ci): 当主 CI 运行报告无测试结果时,命名失败的作业 ([#10855](https://github.com/QwenLM/qwen-code/pull/10855)) by @qwen-code-dev-bot - fix(cli): 补全实时斜杠提交依赖与测试夹具 (#10944) ([#10961](https://github.com/QwenLM/qwen-code/pull/10961)) by @qwen-code-dev-bot - fix(test): 结束测试从未关闭的交互式 PTY 会话 ([#10971](https://github.com/QwenLM/qwen-code/pull/10971)) by @qwen-code-dev-bot - fix(cli): 从实时输入中提交精确的 OpenTUI 斜杠命令 ([#10987](https://github.com/QwenLM/qwen-code/pull/10987)) by @yiliang114 - 修复 OpenTUI 逻辑,使 Enter 键根据实时编辑器缓冲区提交或接受补全,防止过时渲染状态错误路由按键。 ([#10986](https://github.com/QwenLM/qwen-code/pull/10986)) by @wenshao - 修复钉钉频道在 SDK 连接日志记录时向 stdout 打印 clientSecret 和 stream ticket 的问题。 ([#10945](https://github.com/QwenLM/qwen-code/pull/10945)) by @yiliang114 - 修复 OpenTUI 转录可见性问题,使斜杠命令输出、/clear 结果和引导消息能正确显示在转录记录中。 ([#10947](https://github.com/QwenLM/qwen-code/pull/10947)) by @chiga0 - 将文档中记录的守护进程能力数量同步为 153,以匹配近期功能添加后的当前注册表。 ([#11012](https://github.com/QwenLM/qwen-code/pull/11012)) by @yiliang114 - fix(dws): 识别机器人提及后的斜杠命令 ([#10930](https://github.com/QwenLM/qwen-code/pull/10930)) by @qqqys - fix(ci): 重试注册表侧的 npm audit 失败,而非将其报告为 CVE ([#11006](https://github.com/QwenLM/qwen-code/pull/11006)) by @yiliang114 - fix(cli): 允许在斜杠命令加载前退出 ([#11029](https://github.com/QwenLM/qwen-code/pull/11029)) by @yiliang114 - fix(test): 停止在共享 E2E 池中测量模型延迟 ([#11004](https://github.com/QwenLM/qwen-code/pull/11004)) by @qwen-code-dev-bot - fix(cli): 在聊天初始化完成前保持输入关闭 ([#11000](https://github.com/QwenLM/qwen-code/pull/11000)) by @yiliang114 - fix: 恢复与 ACP 相关的主 CI 检查 ([#11033](https://github.com/QwenLM/qwen-code/pull/11033)) by @yiliang114 - fix(web-shell): 正确标记使用量受限的目标卡片 ([#10553](https://github.com/QwenLM/qwen-code/pull/10553)) by @yu-xin-c - fix(test): 同步固定的无 AK 集成脚本列表 (#11050) ([#11052](https://github.com/QwenLM/qwen-code/pull/11052)) by @qwen-code-dev-bot - fix(web-shell): 将单元格值对话框中的全选范围限定为值本身 ([#10857](https://github.com/QwenLM/qwen-code/pull/10857)) by @LizunovSergey - fix(test): 提高内联 E2E 守护进程生成的 ACP 初始化预算 (#11034) ([#11041](https://github.com/QwenLM/qwen-code/pull/11041)) by @qwen-code-dev-bot - fix(core): 允许在自动模式阻塞后手动重试 ([#11025](https://github.com/QwenLM/qwen-code/pull/11025)) by @qqqys - fix(cli): 通过运行时根固定点路由回合索引读取 ([#11036](https://github.com/QwenLM/qwen-code/pull/11036)) by @yiliang114 - fix(core): 合并并发 Config.initialize() 调用 ([#11037](https://github.com/QwenLM/qwen-code/pull/11037)) by @yiliang114 - fix(cli): 修复主分支上实时斜杠门控的遗留问题 ([#10940](https://github.com/QwenLM/qwen-code/pull/10940)) by @qwen-code-dev-bot - fix(core): 拒绝歧义的 send_message 目标 ([#10090](https://github.com/QwenLM/qwen-code/pull/10090)) by @GCGH159 - fix(core): 从 Cerebras 请求中剥离 reasoning_content ([#11049](https://github.com/QwenLM/qwen-code/pull/11049)) by @yiliang114 - fix(goal): 在验证检查点结束守护进程回合 ([#11011](https://github.com/QwenLM/qwen-code/pull/11011)) by @qqqys - fix(core): 加固 Config.initialize() 的合并路径 ([#11075](https://github.com/QwenLM/qwen-code/pull/11075)) by @yiliang114 - fix(docs): 修正架构图中 DaemonSessionProvider 的路径 ([#11099](https://github.com/QwenLM/qwen-code/pull/11099)) by @yiliang114 - fix(cli): 在 OpenTUI 回合发送前等待启动聊天完成 (#11042) ([#11046](https://github.com/QwenLM/qwen-code/pull/11046)) by @qwen-code-dev-bot - fix(cli): 从提供商交付 Agent View 队列中的后续操作 ([#10315](https://github.com/QwenLM/qwen-code/pull/10315)) by @yiliang114 - fix(cli): 保持 tmux IME 输入法的组合单元格无固定背景 (#8177) ([#10998](https://github.com/QwenLM/qwen-code/pull/10998)) by @now-ing - fix(cli): 将转录本回合索引处理程序路由至 pin 瓶颈点 ([#11047](https://github.com/QwenLM/qwen-code/pull/11047)) by @wenshao - fix(release): 允许操作员重新调整质量通道超时时间 (#11104) ([#11110](https://github.com/QwenLM/qwen-code/pull/11110)) by @qwen-code-dev-bot - fix(release): 从预留主机定价静态质量通道 ([#11127](https://github.com/QwenLM/qwen-code/pull/11127)) by @qwen-code-dev-bot - fix(review): 防止引用代码导致底部状态栏显示异常 ([#10458](https://github.com/QwenLM/qwen-code/pull/10458)) by @wenshao - fix(web-shell): 关闭四个推迟的 #9812 review 后续处理 ([#11107](https://github.com/QwenLM/qwen-code/pull/11107)) by @yiliang114 - fix(release): 在任何异常头信息下阻断传输超时透传 ([#10902](https://github.com/QwenLM/qwen-code/pull/10902)) by @yiliang114 - fix(ci): 防止脚本套件超时配置在值为空时默认放行 ([#10910](https://github.com/QwenLM/qwen-code/pull/10910)) by @yiliang114 - fix(test): 将脚本套件的静默主机预算独立为单独配置项 ([#11106](https://github.com/QwenLM/qwen-code/pull/11106)) by @qwen-code-dev-bot - fix(ci): 挽救被替代的 review 运行记录,并维持循环报告时间基准刷新 ([#10123](https://github.com/QwenLM/qwen-code/pull/10123)) by @wenshao - fix(core): 为基于语法的提供商规范化工具模式 ([#10080](https://github.com/QwenLM/qwen-code/pull/10080)) by @yiliang114 - fix(core): 在编辑/写文件差异结果中同时包含完整 filePath 和 fileName ([#8607](https://github.com/QwenLM/qwen-code/pull/8607)) by @JonathanOrr - fix(export): 精简导出的转录本渲染器,仅保留只读转录本所需功能 ([#11038](https://github.com/QwenLM/qwen-code/pull/11038)) by @yiliang114 - fix(core): 在自动分类中保留主机确认的用户答案 ([#11084](https://github.com/QwenLM/qwen-code/pull/11084)) by @qqqys - fix(goal): 在每条用户取消路径上暂停 Goal,并说明原因 ([#10802](https://github.com/QwenLM/qwen-code/pull/10802)) by @qqqys - fix(acp): 输出标准的会话标题更新 ([#8782](https://github.com/QwenLM/qwen-code/pull/8782)) by @zjunothing - fix(ci): 记录 release.yml 尺寸漂移,累计两个在允许范围内的 PR ([#11157](https://github.com/QwenLM/qwen-code/pull/11157)) by @wenshao - fix(web-shell): 在手机上保持自适应对话框的边距 ([#11077](https://github.com/QwenLM/qwen-code/pull/11077)) by @yiliang114 - fix(dws): 隔离跨对话的 IM 消息摄入 ([#10952](https://github.com/QwenLM/qwen-code/pull/10952)) by @qqqys - fix(core): 在临时解绑后重放保留的 shell 通知 ([#11132](https://github.com/QwenLM/qwen-code/pull/11132)) by @yiliang114 - fix(test): 停止在导出分隔符绑定中计时 tsx 启动 ([#11044](https://github.com/QwenLM/qwen-code/pull/11044)) by @qwen-code-dev-bot - fix(web-shell): 按工作区限定模拟会话的作用域 ([#10273](https://github.com/QwenLM/qwen-code/pull/10273)) by @AaronZ345 - fix(export): 将文档指向已发布的渲染器,移除 mermaid ([#11167](https://github.com/QwenLM/qwen-code/pull/11167)) by @yiliang114 - fix(serve): 限定并诊断一个永远无法成功的会话回收 ([#11120](https://github.com/QwenLM/qwen-code/pull/11120)) by @doudouOUC - fix(web-shell): 在静默期间保持守护进程提示符状态的权威性 (#9487) ([#10941](https://github.com/QwenLM/qwen-code/pull/10941)) by @yiliang114 - fix(skills): 在 /<skill-name> 路径上注册 frontmatter 钩子 ([#11068](https://github.com/QwenLM/qwen-code/pull/11068)) by @TianYuan1024 - fix(ci): 赋予 web-shell E2E Smoke 测试与其他同类相同的 ECS 超时配额 ([#11212](https://github.com/QwenLM/qwen-code/pull/11212)) by @doudouOUC - fix(core): 暴露 ask_user_question 的取消原因 ([#9070](https://github.com/QwenLM/qwen-code/pull/9070)) by @destire-mio - fix(core): 在工具取消消息中添加明确的 stop 指令 ([#10180](https://github.com/QwenLM/qwen-code/pull/10180)) by @aniruddhaadak80 - fix(vscode): 规范化工作区路径 ([#11201](https://github.com/QwenLM/qwen-code/pull/11201)) by @yiliang114 - fix(serve): 将子会话拥有的回合报告为活跃工作 ([#11265](https://github.com/QwenLM/qwen-code/pull/11265)) by @yiliang114 - fix(cua): 稳定自动观察差异 ([#11293](https://github.com/QwenLM/qwen-code/pull/11293)) by @LaZzyMan - fix(cli): 防止清理操作在已删除的绑定挂载处挂起 ([#11285](https://github.com/QwenLM/qwen-code/pull/11285)) by @doudouOUC - fix(ci): 回收泄漏的 E2E 沙箱容器 ([#11264](https://github.com/QwenLM/qwen-code/pull/11264)) by @yiliang114 - fix(ci): 在 Vitest 分叉间隔离 E2E 目录 ([#11312](https://github.com/QwenLM/qwen-code/pull/11312)) by @yiliang114 - fix(goal-draft): 保持草稿简洁且可验证 ([#11284](https://github.com/QwenLM/qwen-code/pull/11284)) by @qqqys - fix(serve): 在 CDP 隧道中遇到不支持的目标变更时快速失败 ([#11315](https://github.com/QwenLM/qwen-code/pull/11315)) by @wenshao - fix(channels): 通过托管加载路径恢复 worktree-task 路由 ([#11308](https://github.com/QwenLM/qwen-code/pull/11308)) by @doudouOUC - fix(channels): 以规范形式拼写假 worktree 路径 (#11317) ([#11318](https://github.com/QwenLM/qwen-code/pull/11318)) by @qwen-code-dev-bot - fix(web-shell): 在卸载时取消待处理的定位滚动定时器 ([#11322](https://github.com/QwenLM/qwen-code/pull/11322)) by @doudouOUC - fix(live-host): 将打包保留在独立 npm 工作区中 ([#11329](https://github.com/QwenLM/qwen-code/pull/11329)) by @yiliang114 - fix(web-shell): 在重放过程中保留正在运行的子代理计时器 ([#11332](https://github.com/QwenLM/qwen-code/pull/11332)) by @ytahdn - fix(core): 阻止后台代理启动结果触发父级预览 ([#11324](https://github.com/QwenLM/qwen-code/pull/11324)) by @qqqys - fix(web-shell): 优先使用剪贴板文本而非图片附件 ([#11334](https://github.com/QwenLM/qwen-code/pull/11334)) by @ytahdn - fix(rewind): 关闭 #10959 合并后遗留的未关闭审查发现项 ([#11344](https://github.com/QwenLM/qwen-code/pull/11344)) by @yiliang114 - fix(goal): 将验证器从未回答的检查点计为停滞 ([#11304](https://github.com/QwenLM/qwen-code/pull/11304)) by @qqqys - fix(serve): 配置实时状态轮询,默认时间为五秒 ([#11339](https://github.com/QwenLM/qwen-code/pull/11339)) by @doudouOUC - fix(web-shell): 停止在对话记录中显示 SSE 背压警告 ([#11340](https://github.com/QwenLM/qwen-code/pull/11340)) by @ytahdn - fix(core): 重试无状态 SSE 限流错误 ([#11216](https://github.com/QwenLM/qwen-code/pull/11216)) by @DragonnZhang - fix(ci): 清理发布集成容器 ([#11330](https://github.com/QwenLM/qwen-code/pull/11330)) by @yiliang114 - fix(web-shell): 显示会话活跃工作 ([#11267](https://github.com/QwenLM/qwen-code/pull/11267)) by @yiliang114 - fix(docs): 防止守护进程能力总数不一致 ([#11370](https://github.com/QwenLM/qwen-code/pull/11370)) by @yiliang114 - fix(web-shell): 提交问题前需先回答 ([#11341](https://github.com/QwenLM/qwen-code/pull/11341)) by @ytahdn - fix(web-shell): 在显示对话轨道时,将对话记录列保留在编辑器轴上 ([#11338](https://github.com/QwenLM/qwen-code/pull/11338)) by @qqqys - fix(web-shell): 限制待办进度交互 ([#11382](https://github.com/QwenLM/qwen-code/pull/11382)) by @yiliang114 ### 性能优化 - perf(web-shell): 仅一次派生会话工作流投影 ([#10871](https://github.com/QwenLM/qwen-code/pull/10871)) by @yiliang114 - perf(cli): 避免对无效的内联图片缓存命中进行哈希计算 ([#10626](https://github.com/QwenLM/qwen-code/pull/10626)) by @zjunothing - perf(cli): 让测试单独解析核心模块 ([#10917](https://github.com/QwenLM/qwen-code/pull/10917)) by @yiliang114 - perf(cli): 直接导入核心模块而非包根目录 ([#10957](https://github.com/QwenLM/qwen-code/pull/10957)) by @yiliang114 - perf(dev): 添加 pnpm worktree 引导基础 ([#10449](https://github.com/QwenLM/qwen-code/pull/10449)) by @yiliang114 - perf(web-shell): 避免不必要的初始对话索引页请求 ([#11323](https://github.com/QwenLM/qwen-code/pull/11323)) by @doudouOUC ### 文档更新 - 更新 Web Shell 后续建议设置的文案,以准确描述 Tab、右箭头和 Enter 键的行为。 ([#10851](https://github.com/QwenLM/qwen-code/pull/10851)) by @Theater-ahyeon - docs(web-shell): 添加全局对话导航第二阶段设计 ([#11020](https://github.com/QwenLM/qwen-code/pull/11020)) by @doudouOUC - docs(cli): 在 qwen 认证移除通知中提及 Token Plan 环境变量设置 ([#10993](https://github.com/QwenLM/qwen-code/pull/10993)) by @now-ing - docs: 记录后台代理的显示位置及其所有者 ([#10951](https://github.com/QwenLM/qwen-code/pull/10951)) by @yiliang114 - docs(core): 说明为何 Todo 依赖语义未置于功能标志后 ([#11078](https://github.com/QwenLM/qwen-code/pull/11078)) by @yiliang114 - docs(arena): 澄清未设置的运行限制 ([#9860](https://github.com/QwenLM/qwen-code/pull/9860)) by @AaronZ345 - docs(auth): 记录 Token Plan 设置(端点、区域、环境变量键、settings.json 示例) ([#10980](https://github.com/QwenLM/qwen-code/pull/10980)) by @now-ing - docs(serve): 澄清仅 API 的 HTTP 集成 ([#11314](https://github.com/QwenLM/qwen-code/pull/11314)) by @yiliang114 - docs(serve): 使守护进程能力标签计数与注册表同步 ([#11368](https://github.com/QwenLM/qwen-code/pull/11368)) by @wenshao ### 内部变更 - test(integration): 同步中途 /quit 补全 ([#10926](https://github.com/QwenLM/qwen-code/pull/10926)) by @qwen-code-dev-bot - test(cli): 在共享池上保留敏感数据脱敏的 ReDoS 防护断言 ([#10912](https://github.com/QwenLM/qwen-code/pull/10912)) by @yiliang114 - ci(e2e): 在托管运行器上构建一次,并在每个阶段解压 ([#10894](https://github.com/QwenLM/qwen-code/pull/10894)) by @wenshao - refactor(cli): 通过 runWithPinnedRuntimeBaseDir 路由每个请求的运行时根目录锁定 ([#10988](https://github.com/QwenLM/qwen-code/pull/10988)) by @tomsen02 - refactor(rewind): 统一 ACP 和 TUI 的用户提示分类器 ([#10959](https://github.com/QwenLM/qwen-code/pull/10959)) by @yiliang114 - test(web-shell): 在可视化预览中渲染 Session Workflow 驾驶舱 ([#11014](https://github.com/QwenLM/qwen-code/pull/11014)) by @yiliang114 - chore(ci): 移除已废弃的 WebUI 依赖检查 ([#11095](https://github.com/QwenLM/qwen-code/pull/11095)) by @yiliang114 - test(e2e): 在 cron-interactive 中将模型延迟与 cron 触发预算分离 ([#11085](https://github.com/QwenLM/qwen-code/pull/11085)) by @he-yufeng - config: 使目标就绪方法改为 reject 而非同步抛出异常 ([#10647](https://github.com/QwenLM/qwen-code/pull/10647)) by @rootkiller6788 - test(core): 固定 Config.initialize() 的 join 顺序,使 await-drop 变异测试失败 ([#11113](https://github.com/QwenLM/qwen-code/pull/11113)) by @yiliang114 - test(sdk): 固定 transcript compactor keep-set 中的 skills 条目 ([#11079](https://github.com/QwenLM/qwen-code/pull/11079)) by @yiliang114 - test(web-shell): 修复分页滚动测试与自动滚动驱动器的竞态条件 ([#11105](https://github.com/QwenLM/qwen-code/pull/11105)) by @yiliang114 - test(ci): 使 verify-capture 回退断言在光栅化时安全 ([#10758](https://github.com/QwenLM/qwen-code/pull/10758)) by @qwen-code-dev-bot - test(integration): 使 compress E2E 测试确定性执行 ([#11175](https://github.com/QwenLM/qwen-code/pull/11175)) by @yiliang114 - test(integration): 使 BOM 读取确定性执行 ([#11187](https://github.com/QwenLM/qwen-code/pull/11187)) by @yiliang114 - test(integration): 使 spaced-path 写入确定性执行 ([#11181](https://github.com/QwenLM/qwen-code/pull/11181)) by @yiliang114 - test(integration): 将 compress seed 适配到 OpenTUI pty 视口中 (#11191) ([#11199](https://github.com/QwenLM/qwen-code/pull/11199)) by @qwen-code-dev-bot - ci(release): 移除不验证任何内容的冗余 Format Project 步骤 (#11109) ([#11195](https://github.com/QwenLM/qwen-code/pull/11195)) by @now-ing - ci: 将 Prettier 检查通道设为真正的门禁 ([#11117](https://github.com/QwenLM/qwen-code/pull/11117)) by @yiliang114 - chore(core): 将两个超宽取消断言进行换行包裹 ([#11232](https://github.com/QwenLM/qwen-code/pull/11232)) by @wenshao - ci: 为所有工作区提供共享池测试超时设置,而不仅仅是五个 ([#10915](https://github.com/QwenLM/qwen-code/pull/10915)) by @yiliang114 - chore(release): 将 node repl 升级至 0.1.3 ([#11299](https://github.com/QwenLM/qwen-code/pull/11299)) by @LaZzyMan - test(e2e): 隔离协议检查与 ACP 测试状态 ([#11286](https://github.com/QwenLM/qwen-code/pull/11286)) by @qwen-code-dev-bot - refactor(ci): 提取发布工作流脚本 ([#11165](https://github.com/QwenLM/qwen-code/pull/11165)) by @yiliang114 - chore: 在 WebUI 退役后恢复回归测试覆盖率 ([#11101](https://github.com/QwenLM/qwen-code/pull/11101)) by @yiliang114 - refactor(daemon): 解耦扩展激活刷新逻辑 ([#10991](https://github.com/QwenLM/qwen-code/pull/10991)) by @callmeYe - chore(core): 格式化 prettier 检查通道仍拒绝的那个文件 ([#11378](https://github.com/QwenLM/qwen-code/pull/11378)) by @wenshao - style(core): 格式化 Anthropic generator 测试 ([#11374](https://github.com/QwenLM/qwen-code/pull/11374)) by @yiliang114 ## 新贡献者 - @w9lsky 在 [#10837](https://github.com/QwenLM/qwen-code/pull/10837) 中首次贡献 - @Theater-ahyeon 在 [#10851](https://github.com/QwenLM/qwen-code/pull/10851) 中首次贡献 - @LizunovSergey 在 [#10857](https://github.com/QwenLM/qwen-code/pull/10857) 中首次贡献 - @zhourrr 在 [#10723](https://github.com/QwenLM/qwen-code/pull/10723) 中首次贡献 - @now-ing 在 [#10993](https://github.com/QwenLM/qwen-code/pull/10993) 中首次贡献 - @GCGH159 在 [#10090](https://github.com/QwenLM/qwen-code/pull/10090) 中首次贡献 - @rootkiller6788 在 [#10647](https://github.com/QwenLM/qwen-code/pull/10647) 中首次贡献 - @JonathanOrr 在 [#8607](https://github.com/QwenLM/qwen-code/pull/8607) 中首次贡献 - @aniruddhaadak80 在 [#10180](https://github.com/QwenLM/qwen-code/pull/10180) 中首次贡献 - @XIQIXIQIXIQI 在 [#11150](https://github.com/QwenLM/qwen-code/pull/11150) 中首次贡献 **完整更新日志**: https://github.com/QwenLM/qwen-code/compare/v0.23.0...v0.23.1