← 返回更新日志

Qwen Code v0.22.2

2026-08-26 · GitHub 原文
<!-- qwen-release-notes:v1 --> ## 亮点 _详见下方的完整变更列表。_ ## 破坏性变更 - refactor(node-repl)!: 将持久化 Node REPL 作为独立的 MCP 服务器交付 ([#9499](https://github.com/QwenLM/qwen-code/pull/9499)) by @LaZzyMan ## 完整变更列表 ### 功能 - 在审查简报中添加了 temporal-reachability 和 incident-replay 透镜,以分析关键指标是否在正确的时间点存在,从而引导决策。 ([#9708](https://github.com/QwenLM/qwen-code/pull/9708)) by @wenshao - 审查发现现在包含修复的具体测试验收标准,并明确判定不收敛的情况,以减少“审查-修复”循环。 ([#9596](https://github.com/QwenLM/qwen-code/pull/9596)) by @wenshao - 守护进程会话现在在重启和分离后会恢复到上次选择的模型,而新会话继续使用当前设置中的默认值。 ([#9687](https://github.com/QwenLM/qwen-code/pull/9687)) by @doudouOUC - 在 Aone 目标上发布 /review --comment 前验证内联锚点,将 Critical 发现移至摘要正文,若锚点无效则丢弃 Suggestions。 ([#9634](https://github.com/QwenLM/qwen-code/pull/9634)) by @wenshao - 向 GoalRecord 添加了 tokensUsed 字段,用于在 lastGoal 摘要中报告 Goal 消耗的总 token 数及其轮次。 ([#9583](https://github.com/QwenLM/qwen-code/pull/9583)) by @qqqys - 通过 tools.workflowsEnabled 用户设置启用动态工作流,替代了之前未记录的环境变量方法。 ([#9098](https://github.com/QwenLM/qwen-code/pull/9098)) by @qqqys - 在 /review 命令中为 Aone Code 目标启用 PR 上下文获取,恢复完整的审查能力,包括原生审批和 Issue 保真。 ([#9621](https://github.com/QwenLM/qwen-code/pull/9621)) by @wenshao - Web Shell 现在在切换后能正确刷新 composer 技能,防止已禁用的技能重新出现,并显示刷新失败而非过时建议。 ([#9131](https://github.com/QwenLM/qwen-code/pull/9131)) by @samuelhsin - 审查技能现在支持 Aone Code 目标的 comment-status 和 presubmit 流程,生成与 GitHub 相同的 JSON 报告架构,用于 merge-gate 和 CI 状态检查。 ([#9627](https://github.com/QwenLM/qwen-code/pull/9627)) by @wenshao - feat(models): 支持双角色图像生成模型 ([#9650](https://github.com/QwenLM/qwen-code/pull/9650)) by @callmeYe - 审查编排现在在关键发现跨轮次持续存在时显示“带残留风险合并”的警告,提示需手动接受风险才能退出循环。 ([#9526](https://github.com/QwenLM/qwen-code/pull/9526)) by @wenshao - Node.js 的 Computer Use SDK 已更新至 v0.20.0,在 macOS、Windows 和 Linux 平台上提供版本化的无障碍观察和稳定的元素 token。 ([#9587](https://github.com/QwenLM/qwen-code/pull/9587)) by @LaZzyMan - 新增对 MCP 2026 核心协议的支持,并引入 MCP Apps 主机,用于在守护进程支持的 WebShell 会话中渲染内联应用程序。 ([#8992](https://github.com/QwenLM/qwen-code/pull/8992)) by @samuelhsin - 向 /review 技能验证器添加了 do-not-refute 列表和可构造的拒绝栏,以防止对推测性发现的不当拒绝。 ([#9799](https://github.com/QwenLM/qwen-code/pull/9799)) by @wenshao - feat(core): 仅在 qwen serve 下声明 create_sub_session ([#9425](https://github.com/QwenLM/qwen-code/pull/9425)) by @DragonnZhang - 新增支持通过提供可选的 sessionId 创建重用现有活跃会话的定时任务。 ([#9361](https://github.com/QwenLM/qwen-code/pull/9361)) by @yiliang114 - 紧凑模式现在将相邻的思考、工具活动和并行代理折叠为 Web Shell 中的单个可展开摘要行。 ([#9657](https://github.com/QwenLM/qwen-code/pull/9657)) by @ytahdn - 新增 Kimi (Moonshot AI) 作为内置第三方提供商,支持国际和中国端点,并提供可编辑的模型目录。 ([#9814](https://github.com/QwenLM/qwen-code/pull/9814)) by @TianYuan1024 - Workflow 工具现在在执行前显示详细的审批对话框,包含脚本名称、阶段和参数。 ([#9837](https://github.com/QwenLM/qwen-code/pull/9837)) by @qqqys - WebShell 现在暴露一个可选回调,用于向嵌入主机报告活跃会话的完整子代理任务快照。 ([#9637](https://github.com/QwenLM/qwen-code/pull/9637)) by @callmeYe - 为 Web Shell 主机添加了可选的异步 prepareSubmit 回调,以便在提交前动态解析上下文。 ([#9802](https://github.com/QwenLM/qwen-code/pull/9802)) by @dreamWB - 新增四种内置输出风格(简洁、主动、解释、学习),用于控制代理在整个会话中报告工作的方式。 ([#9565](https://github.com/QwenLM/qwen-code/pull/9565)) by @qqqys - 引入 qwen serve --open-with-auth,使用提供的或自动生成的 token 以 bearer 认证方式打开回环 Web Shell。 ([#9738](https://github.com/QwenLM/qwen-code/pull/9738)) by @doudouOUC - 采用共享的 WebShell 转录渲染器作为 VS Code 伴侣端中默认且唯一的对话时间线,替换了旧版渲染器。 ([#9719](https://github.com/QwenLM/qwen-code/pull/9719)) by @yiliang114 - 将内置的 Computer Use 工具替换为捆绑技能,首次使用时自动配置外部 Node REPL MCP 服务器和 CUA SDK。 ([#9856](https://github.com/QwenLM/qwen-code/pull/9856)) by @LaZzyMan - 将 language-pitfall 和 wrapper/proxy 检查从 Agent 1a 提升至专用的高耗时 Step 3A 角色,以实现更彻底的代码审查。 ([#9805](https://github.com/QwenLM/qwen-code/pull/9805)) by @wenshao - 当识别出整体方案而非当前补丁是主要开放问题时,/review 命令现在会添加一条建议说明。 ([#9340](https://github.com/QwenLM/qwen-code/pull/9340)) by @qqqys - 新增 find-simplifications 扫描技能,用于识别死代码和孤立资源,并生成有证据支持的提案供维护者审核。([#9384](https://github.com/QwenLM/qwen-code/pull/9384)) by @qqqys - 通过定义五种特定触发器,要求在启动工作流前必须获得用户明确同意,以防止意外的多智能体编排。([#9806](https://github.com/QwenLM/qwen-code/pull/9806)) by @qqqys - 审查执行现在在由操作员策略定义的容器边界内运行仓库自身的命令,而非依赖本地安装。([#9723](https://github.com/QwenLM/qwen-code/pull/9723)) by @wenshao - feat(core): 新增按项目隔离的外部仓库制品落地页 ([#9776](https://github.com/QwenLM/qwen-code/pull/9776)) by @wenshao - feat(review): 以类型化契约的形式向客户端报告发现结果 ([#9794](https://github.com/QwenLM/qwen-code/pull/9794)) by @wenshao - 在连续两轮持续发现率后即刻触发严重性阈值下限,而非等待固定的第 6 轮调度。([#9938](https://github.com/QwenLM/qwen-code/pull/9938)) by @wenshao - 由于代码已分叉至 OpenWork 仓库,移除了 Electron 桌面包及相关同步脚本。([#9085](https://github.com/QwenLM/qwen-code/pull/9085)) by @yiliang114 - 新增通过 ACP 通道对守护进程子进程进行可选的存活检查,包含重试和超时机制,以检测故障并避免主机挂起导致的误报。([#9976](https://github.com/QwenLM/qwen-code/pull/9976)) by @doudouOUC - 新增内置钉钉工作空间通道,支持使用经过身份验证的 DWS CLI 配置进行私聊、@提及、文档通知和待办事项跟踪。([#9394](https://github.com/QwenLM/qwen-code/pull/9394)) by @qqqys - feat(review): 新增 --topology 最小单次遍历 A/B 测试分支 ([#9919](https://github.com/QwenLM/qwen-code/pull/9919)) by @wenshao - feat(cli): 管理智能体视图会话生命周期 ([#9986](https://github.com/QwenLM/qwen-code/pull/9986)) by @ZijianZhang989 - feat(goal): 将 get_goal 的默认视图改为摘要而非完整目录 ([#9973](https://github.com/QwenLM/qwen-code/pull/9973)) by @qqqys - feat(goal): 当目标的检查点连续停滞三次时自动停止该目标 ([#9975](https://github.com/QwenLM/qwen-code/pull/9975)) by @qqqys - feat(web-shell): 将紧凑视图设为唯一模式 ([#9993](https://github.com/QwenLM/qwen-code/pull/9993)) by @ytahdn - feat(daemon): 支持当前会话的定时任务 ([#9838](https://github.com/QwenLM/qwen-code/pull/9838)) by @doudouOUC - feat(core): 信任生成的脚本根目录以加载工作流 scriptPath ([#9987](https://github.com/QwenLM/qwen-code/pull/9987)) by @qqqys - feat(providers): 在编辑前加载模型推荐 ([#9980](https://github.com/QwenLM/qwen-code/pull/9980)) by @qqqys - feat(goal): 在用户重新设定的 token 预算处停止自主延续 ([#9891](https://github.com/QwenLM/qwen-code/pull/9891)) by @qqqys - feat(acp): 启用托管的自动内存生命周期 ([#9992](https://github.com/QwenLM/qwen-code/pull/9992)) by @zgxkbtl - feat(cli): 为无项目任务添加独立会话 ([#9978](https://github.com/QwenLM/qwen-code/pull/9978)) by @doudouOUC - feat(web-shell): 新增会话 token 用量面板 ([#9988](https://github.com/QwenLM/qwen-code/pull/9988)) by @ytahdn - feat(core): 在入站网关后接受跨会话消息 ([#9576](https://github.com/QwenLM/qwen-code/pull/9576)) by @qqqys - feat(goal): 当目标不可行时允许提前停止 ([#10125](https://github.com/QwenLM/qwen-code/pull/10125)) by @qqqys - feat(goal): 在预算耗尽停止目标前,允许一次交接回合 ([#10132](https://github.com/QwenLM/qwen-code/pull/10132)) by @qqqys - feat(core): 新增内置的 goal-draft 技能,用于编写可被验证器评判的目标 ([#10002](https://github.com/QwenLM/qwen-code/pull/10002)) by @qqqys ### 错误修复 - 在会话概览面板中点击会话时,现在会正确地在原始工作区目录中打开它,而不是默认打开主工作区。 ([#9730](https://github.com/QwenLM/qwen-code/pull/9730)) by @wenshao - Web Shell 现在会在流空闲时中途插入被拒绝的情况下,通过普通提示路径自动重试消息,从而避免不必要的错误提示。 ([#9732](https://github.com/QwenLM/qwen-code/pull/9732)) by @ytahdn - 审查流水线现在不再在因较新版本运行开始而取消运行时发布回退评论,同时仍会对作业级超时进行评论。 ([#9716](https://github.com/QwenLM/qwen-code/pull/9716)) by @wenshao - Web Shell 侧边栏中的固定会话现在会根据固定时间保持稳定的顺序,并在固定或取消固定时提供即时视觉反馈。 ([#9560](https://github.com/QwenLM/qwen-code/pull/9560)) by @yiliang114 - 将 qwen-autofix.yml 的工作流大小基线更新为 397656 字节,以匹配实际发布的文件大小并解除 CI 检查的阻塞。 ([#9747](https://github.com/QwenLM/qwen-code/pull/9747)) by @wenshao - fix(ci): 根据审查载荷提供的字段限制分叉信号 ([#9469](https://github.com/QwenLM/qwen-code/pull/9469)) by @qqqys - 拒绝与提示词示例字符串完全匹配的会话标题,从而触发 auto-title 和 /rename --auto 的现有回退行为。 ([#9709](https://github.com/QwenLM/qwen-code/pull/9709)) by @yiliang114 - 使用静态解析器替换工作流元字面量的 VM 评估,以防止恶意模型生成代码导致的挂起或无界内存分配。 ([#9325](https://github.com/QwenLM/qwen-code/pull/9325)) by @qqqys - 启用使用相对守护进程基础 URL 下载工作区工件,以修复配置了同源路径的 Web Shell 集成中的无效 URL 错误。 ([#9734](https://github.com/QwenLM/qwen-code/pull/9734)) by @ytahdn - 将修复尝试代理预算增加至 45 分钟,并调整相关步骤上限,以防止在确定性拒绝期间出现不透明的检查失败。 ([#9691](https://github.com/QwenLM/qwen-code/pull/9691)) by @qqqys - 将工作流停滞看门狗窗口从 60 秒延长至 180 秒,以防止在长时间传输重试或模型响应缓慢时出现误超时。 ([#9397](https://github.com/QwenLM/qwen-code/pull/9397)) by @qqqys - 将技能公告限制为模型是否明确声明了 Skill 工具,从而防止工具列表受限的子代理浪费回合。 ([#9718](https://github.com/QwenLM/qwen-code/pull/9718)) by @wenshao - 在审查统计中将修复引发的重新报告计为新工作,以区分它们与现有发现的简单重新发布。 ([#9744](https://github.com/QwenLM/qwen-code/pull/9744)) by @wenshao - 通过在通用文档处理之前正确分类,在 Web Shell 中启用 Markdown、HTML 和光栅图像的预览功能。 ([#9760](https://github.com/QwenLM/qwen-code/pull/9760)) by @ytahdn - fix(daemon): 加载后保持恢复的 ask_user_question 有效 ([#9763](https://github.com/QwenLM/qwen-code/pull/9763)) by @doudouOUC - 公共 GitHub 扩展现在可在 Git 版本低于 2.37 的系统上运行,方法是将 refs 解析为不可变提交,并通过安全归档路径而非原生 Git 进行下载。 ([#9690](https://github.com/QwenLM/qwen-code/pull/9690)) by @yiliang114 - 审查工作流现在会在清理残留工作树失败前修复权限并重试,确保作业不会因删除错误而失败。 ([#9748](https://github.com/QwenLM/qwen-code/pull/9748)) by @wenshao - 会话标题回显比较现在对候选标题和示例标题均使用对称归一化,以防止误匹配。 ([#9809](https://github.com/QwenLM/qwen-code/pull/9809)) by @yiliang114 - 通过限制 performance.measure 的累积量并每 16,384 条记录清除一次时间线,修复了 Web Shell 中 React 开发模式的内存泄漏。 ([#9770](https://github.com/QwenLM/qwen-code/pull/9770)) by @wenshao - 钉钉频道现在能正确解析转发聊天记录,并将其标题和摘要包含在代理的上下文中。 ([#9339](https://github.com/QwenLM/qwen-code/pull/9339)) by @qqqys - 通过添加 remark-cjk-friendly 插件,Web Shell 现在能在强调标记与中日韩标点符号相邻时正确渲染粗体文本。 ([#9457](https://github.com/QwenLM/qwen-code/pull/9457)) by @cactuser-Lu - 更新设置架构以接受包含 prompt 和 model 字段的提示词钩子,使 VS Code 验证与运行时行为保持一致。 ([#8779](https://github.com/QwenLM/qwen-code/pull/8779)) by @zjunothing - 在创建会话前的 WebShell 欢迎状态中,为 qwen3.8-max 模型添加了只读的推理强度预览。 ([#9599](https://github.com/QwenLM/qwen-code/pull/9599)) by @callmeYe - 当配置了 Google Cloud 项目但未设置 API 密钥时,启用使用应用默认凭据进行 Vertex AI 认证。 ([#9017](https://github.com/QwenLM/qwen-code/pull/9017)) by @axiom-of-choice - 更新 cd-cua-driver.yml 的工作流大小基线,以防止因其发布的文件大小增加而导致的 CI 失败。 ([#9822](https://github.com/QwenLM/qwen-code/pull/9822)) by @wenshao - 在调用完成回调之前立即清除工具显示列表,以防止 TUI 中出现重复渲染。 ([#9602](https://github.com/QwenLM/qwen-code/pull/9602)) by @qwen-code-dev-bot - 规范化 MCP 批准键中的 Windows 驱动器字母大小写,以确保 CLI 和 VS Code 之间的服务器识别一致。 ([#9779](https://github.com/QwenLM/qwen-code/pull/9779)) by @zhou2024NAU - 文件读取现在在信任扩展名之前通过魔数(magic bytes)验证图像内容,防止带有图像扩展名的文本文件被错误分类。 ([#9113](https://github.com/QwenLM/qwen-code/pull/9113)) by @rbalachandar - Windows 上的会话导出现在能正确保留文件链接中的盘符路径,使其能在本地打开而非在浏览器中失败。 ([#8953](https://github.com/QwenLM/qwen-code/pull/8953)) by @yefuyou - CLI 输入框边框现在可通过截断长标题来适应终端大小调整,防止布局溢出和行抖动。 ([#8991](https://github.com/QwenLM/qwen-code/pull/8991)) by @tlysanhuo - 后台代理通知现在包含同一所有者剩余活跃代理的数量,以提升协调状态的可见性。 ([#9018](https://github.com/QwenLM/qwen-code/pull/9018)) by @tao943 - 推理努力层级现在会自动限制为各特定模型端点支持的最高级别,以防止请求错误。 ([#9501](https://github.com/QwenLM/qwen-code/pull/9501)) by @harjothkhara - 麦克风权限检查现在仅在开始录音时触发,而非在语音预热期间,从而避免不必要的早期权限提示。 ([#8912](https://github.com/QwenLM/qwen-code/pull/8912)) by @Nas01010101 - 改进了循环检测机制,当模型在内容或推理流中重复长段原文时,将停止当前回合。 ([#9668](https://github.com/QwenLM/qwen-code/pull/9668)) by @yiliang114 - 通过确保在所有残留探测命令中已验证的 Git 身份保持一致,加强了审查流程的安全性。 ([#9742](https://github.com/QwenLM/qwen-code/pull/9742)) by @wenshao - 修复了嵌套子代理审批请求未显示在 UI 上的问题,该问题曾导致后台代理挂起。 ([#9793](https://github.com/QwenLM/qwen-code/pull/9793)) by @wenshao - 确保代理启动失败时能正确填充错误字段,以便作为失败的 tool call 进行报告。 ([#9519](https://github.com/QwenLM/qwen-code/pull/9519)) by @yiliang114 - 在处理队友关闭请求期间限制任务分配,从而防止出现幽灵挂起关闭状态。 ([#9550](https://github.com/QwenLM/qwen-code/pull/9550)) by @AaronZ345 - 缓存的分支快照现在按会话 ID 隔离,以防止在后台读取期间发生跨会话数据泄露。 ([#9471](https://github.com/QwenLM/qwen-code/pull/9471)) by @tomsen02 - 证据目录预览现在限制为 240 个 UTF-8 字节(而非字符),以防止非 ASCII 语言导致的目标失败。 ([#9835](https://github.com/QwenLM/qwen-code/pull/9835)) by @qqqys - 在 ConPTY 环境下运行时跳过重绘优化器,从而修复 WSL 终端中的文本重复问题。 ([#7897](https://github.com/QwenLM/qwen-code/pull/7897)) by @C0d3N1nja97342 - 修复了令牌计数跟踪机制,当活动模型路由变更时使数据失效,从而确保会话限制和压缩提示准确无误。 ([#9506](https://github.com/QwenLM/qwen-code/pull/9506)) by @yiliang114 - 将条件关闭拒绝持有量限制为每会话 1,024 次,以防止过大响应破坏缓存保留机制。 ([#9820](https://github.com/QwenLM/qwen-code/pull/9820)) by @doudouOUC - 通过使审批处理具备实例感知能力并防止过期事件影响较新实例,实现了钩子回弹后的工作流重新审批。 ([#9547](https://github.com/QwenLM/qwen-code/pull/9547)) by @AaronZ345 - 修复了守护进程模式下的调试日志路由,使其使用异步局部会话 ID,防止不同会话的日志被写入同一文件。 ([#9538](https://github.com/QwenLM/qwen-code/pull/9538)) by @tomsen02 - 新增支持按提供商设置 `streamIdleTimeoutMs`,以应对不同模型提供商的延迟需求差异。 ([#9795](https://github.com/QwenLM/qwen-code/pull/9795)) by @yu-xin-c - 修复了内存管理问题,允许遗忘操作扫描与召回相同的无上限文档集合,防止过期条目持续存在。 ([#9530](https://github.com/QwenLM/qwen-code/pull/9530)) by @harjothkhara - fix(core):将团队关闭操作设为仅领导者可用的工具 ([#9401](https://github.com/QwenLM/qwen-code/pull/9401)) by @yiliang114 - CI 现在通过重命名将无法删除的工作区残留物移至一旁,而非在标准删除方法遇到权限问题时直接失败。 ([#9868](https://github.com/QwenLM/qwen-code/pull/9868)) by @wenshao - 实时任务桥接操作现在统一使用规范的小写 UUID,以防止因大小写不匹配导致会话查找失败。 ([#9819](https://github.com/QwenLM/qwen-code/pull/9819)) by @doudouOUC - fix(core):以不区分大小写的方式映射 OpenAI 兼容的 finish_reason ([#9884](https://github.com/QwenLM/qwen-code/pull/9884)) by @yiliang114 - 重试耗尽后,系统现在会接受工具结果后的静默模型完成响应,而非因 API 错误中止运行。 ([#9196](https://github.com/QwenLM/qwen-code/pull/9196)) by @yiliang114 - 在架构的 `output.format` 设置允许值中新增 `stream-json`,确保 VS Code 设置与 CLI 运行时能力保持一致。 ([#8966](https://github.com/QwenLM/qwen-code/pull/8966)) by @harjothkhara - 系统现在将已完成的 Anthropic 工具参数验证为严格 JSON 对象,拒绝格式错误的输入以防止执行无效调用。 ([#9013](https://github.com/QwenLM/qwen-code/pull/9013)) by @tlysanhuo - 修复了 CI 清理逻辑,仅清除 A/B 签出目录而非整个工作区,防止 900 MB Git 历史重新下载及运行器挂起。 ([#9228](https://github.com/QwenLM/qwen-code/pull/9228)) by @qwen-code-dev-bot - 禁用了默认的权限响应超时设置,使请求保持挂起状态直至用户做出决定,同时仍支持通过 `--permission-response-timeout-ms` 设置显式超时。 ([#9933](https://github.com/QwenLM/qwen-code/pull/9933)) by @doudouOUC - 从 OpenAI 兼容请求的函数架构中移除了不受支持的 `uniqueItems` 约束,以防止 DashScope 端点拒绝请求。 ([#9869](https://github.com/QwenLM/qwen-code/pull/9869)) by @qqqys - 统一所有界面中的目标续传提示词,采用受保护的 JSON 块以防止提示词注入并确保目标一致性。 ([#9834](https://github.com/QwenLM/qwen-code/pull/9834)) by @qqqys - 禁止在覆盖率简报中包含未执行的变异声明,要求将未运行的变异标记为带有见证说明的假设。 ([#9923](https://github.com/QwenLM/qwen-code/pull/9923)) by @wenshao - 当 PR 未修改已增长的文件时,将工作流大小棘轮(ratchet)失败降级为警告,防止因基线变更导致误报。 ([#9931](https://github.com/QwenLM/qwen-code/pull/9931)) by @wenshao - 通过将流式思考文本排除在顶层渲染路径之外,并卸载折叠的工具详情,减少 Web Shell 中的渲染卡顿。 ([#9914](https://github.com/QwenLM/qwen-code/pull/9914)) by @ytahdn - 在自动修复的 stdout 回显中中和现代 `::name::` 和旧版 `##[name]` 工作流命令,以防止作业日志中的注入攻击。 ([#9871](https://github.com/QwenLM/qwen-code/pull/9871)) by @wenshao - 在注册运行前编译工作流脚本,确保无效脚本能干净地失败,而不会创建幽灵行或遥测事件。 ([#9873](https://github.com/QwenLM/qwen-code/pull/9873)) by @qqqys - 修复持久化会话生命周期操作,以处理空、格式错误或孤立的话语文本文件,同时将冲突返回为会话级错误。 ([#9626](https://github.com/QwenLM/qwen-code/pull/9626)) by @doudouOUC - CLI 现在能优雅地处理无法读取的提示词文件,通过记录警告并使用默认重写提示词来避免崩溃。 ([#9753](https://github.com/QwenLM/qwen-code/pull/9753)) by @yiliang114 - 目标所有权现在独立于会话元数据进行加载,使 Slash 命令能够更快加载,无需等待较慢的元数据请求。 ([#9977](https://github.com/QwenLM/qwen-code/pull/9977)) by @ytahdn - `/goal resume` 命令现在通过重置证据游标同时保留目标和修订数据,正确恢复证据受限的目标。 ([#9840](https://github.com/QwenLM/qwen-code/pull/9840)) by @qqqys - 将 Git 凭据配置限制为由 Qwen Code 发起的作用域操作内,确保凭据与 URL、日志和环境变量隔离。 ([#9870](https://github.com/QwenLM/qwen-code/pull/9870)) by @callmeYe - 确保分支会话继承源会话的显示名称并附加数字后缀,而非随机 UUID,提升会话识别度和一致性。 ([#9764](https://github.com/QwenLM/qwen-code/pull/9764)) by @water-in-stone - 通过在会话切换失败时使用显式事务修复遥测聚合错误,防止重放历史导致的使用记录膨胀。 ([#9844](https://github.com/QwenLM/qwen-code/pull/9844)) by @yiliang114 - 通过在专用集合中跟踪活动提示词而非依赖不可靠的流状态指示器,修正 QQ Bot 的 cron 消息处理。 ([#9971](https://github.com/QwenLM/qwen-code/pull/9971)) by @yiliang114 - fix(cli): 在横幅中标记预估压缩令牌数量 ([#9568](https://github.com/QwenLM/qwen-code/pull/9568)) by @yiliang114 - 通过在 API 负载中发出原生推理参数,确保 OpenRouter 请求在配置关闭时明确禁用推理功能。 ([#9758](https://github.com/QwenLM/qwen-code/pull/9758)) by @yiliang114 - fix(core): 针对实时提供程序验证技能命令以应对延迟附加 ([#9824](https://github.com/QwenLM/qwen-code/pull/9824)) by @yiliang114 - fix(cli): 在实时会话重放期间保持进行中的工具调用处于挂起状态 ([#9705](https://github.com/QwenLM/qwen-code/pull/9705)) by @yiliang114 - fix(core): 拒绝无法验证的已验证读取 inode ([#9857](https://github.com/QwenLM/qwen-code/pull/9857)) by @AaronZ345 - fix(review): 沙箱默认命名了一个不存在的镜像 ([#9972](https://github.com/QwenLM/qwen-code/pull/9972)) by @wenshao - fix(web-shell): 本地化视觉桥接通知 ([#10003](https://github.com/QwenLM/qwen-code/pull/10003)) by @ytahdn - fix(web-shell): 允许在会话创建前选择推理模式 ([#10008](https://github.com/QwenLM/qwen-code/pull/10008)) by @callmeYe - fix(core): 将协调技能的队友数量限制在配置的上限内 ([#9403](https://github.com/QwenLM/qwen-code/pull/9403)) by @yiliang114 - fix: 修复 Windows 和 macOS 测试通道的失败问题 ([#9728](https://github.com/QwenLM/qwen-code/pull/9728)) by @wenshao - fix(ci): 重新为 macOS 和 Windows 通道添加触发器 ([#9370](https://github.com/QwenLM/qwen-code/pull/9370)) by @wenshao - fix(core): 使 `permissions.allow` 限制发送给模型的工具模式 ([#9829](https://github.com/QwenLM/qwen-code/pull/9829)) by @yiliang114 - fix(webui): 在事件启动期间保留已加载的目标状态 ([#10012](https://github.com/QwenLM/qwen-code/pull/10012)) by @ytahdn - fix(cli): 在失败关闭轮次中将审查锚点向前嫁接 ([#9932](https://github.com/QwenLM/qwen-code/pull/9932)) by @wenshao - fix(live): 移除桌面端后恢复 Live Host ([#9994](https://github.com/QwenLM/qwen-code/pull/9994)) by @yiliang114 - fix(goal): 引用本轮交付的输出而非拒绝覆盖它 ([#9880](https://github.com/QwenLM/qwen-code/pull/9880)) by @qqqys - fix(serve): 使通道工作进程能够访问启用 TLS 的守护进程 ([#9392](https://github.com/QwenLM/qwen-code/pull/9392)) by @qqqys - fix(cli): 删除破坏主构建的重复虚假属性 ([#10022](https://github.com/QwenLM/qwen-code/pull/10022)) by @yiliang114 - fix(core): 在权限别名表中注册 `report_findings` ([#10033](https://github.com/QwenLM/qwen-code/pull/10033)) by @yiliang114 - fix(cli): 保留中途媒体处理的桥接超时设置 ([#9995](https://github.com/QwenLM/qwen-code/pull/9995)) by @ytahdn - fix(mcp): 恢复会话内和 CLI 中重启的 HTTP MCP 服务器 ([#9962](https://github.com/QwenLM/qwen-code/pull/9962)) by @yiliang114 - fix(core): 将已加载技能状态与历史驱逐同步 ([#9500](https://github.com/QwenLM/qwen-code/pull/9500)) by @ZijianZhang989 - fix(core): 为多模态 DeepSeek 保留图像 ([#9854](https://github.com/QwenLM/qwen-code/pull/9854)) by @shenyankm - fix(ci): 在脚本测试之间让出事件循环,以避免 vitest RPC 超时 (#10037) ([#10050](https://github.com/QwenLM/qwen-code/pull/10050)) by @qwen-code-dev-bot - fix(vscode): 同步伴生令牌限制 ([#9850](https://github.com/QwenLM/qwen-code/pull/9850)) by @AaronZ345 - fix(ui): 抑制单次交互中重复且相同的 TodoList 面板 ([#9692](https://github.com/QwenLM/qwen-code/pull/9692)) by @PratikWayase - fix(ci): 重试沙箱镜像构建,并在发布构建失败时提交 issue ([#9916](https://github.com/QwenLM/qwen-code/pull/9916)) by @yiliang114 - fix(web-shell): 限制响应式侧边栏抽屉 ([#10020](https://github.com/QwenLM/qwen-code/pull/10020)) by @dreamWB - fix(core): 通过规范标识符对分层记忆文件去重 ([#9600](https://github.com/QwenLM/qwen-code/pull/9600)) by @yiliang114 - fix(cua-driver): 支持沙箱化的 Windows SDK 客户端 ([#10120](https://github.com/QwenLM/qwen-code/pull/10120)) by @LaZzyMan - fix(node-repl): 使包验证具备幂等性 ([#10133](https://github.com/QwenLM/qwen-code/pull/10133)) by @LaZzyMan - fix(review): 为已取消的运行任务提供准确的回退内容,而非失败评论 ([#10114](https://github.com/QwenLM/qwen-code/pull/10114)) by @wenshao - fix(cua-driver): 同步发布版本标记 ([#10135](https://github.com/QwenLM/qwen-code/pull/10135)) by @LaZzyMan - fix(core): 将未覆盖白名单的工具保留为延迟注册状态,而非将其移除 (#10075) ([#10082](https://github.com/QwenLM/qwen-code/pull/10082)) by @yiliang114 - fix(daemon): 在计划任务绑定前持久化空会话 ([#10144](https://github.com/QwenLM/qwen-code/pull/10144)) by @doudouOUC - fix(channels): 使同聊天交付具备会话感知能力 ([#10145](https://github.com/QwenLM/qwen-code/pull/10145)) by @doudouOUC ### Performance - 终端虚拟滚动现在最高支持 60 FPS 渲染,相比之前 30 FPS 的上限,消除了卡顿现象并提升了大型 PTY 窗口的滚动流畅度。 ([#9681](https://github.com/QwenLM/qwen-code/pull/9681)) by @DragonnZhang ### Documentation - 通过明确命名“rank 3”涉及的轴来澄清文档,解决修剪与保留操作之间的歧义。 ([#9759](https://github.com/QwenLM/qwen-code/pull/9759)) by @wenshao - docs(agent): 澄清参数前置条件 ([#9580](https://github.com/QwenLM/qwen-code/pull/9580)) by @tao943 - 更正 VS Code 扩展 README,将实际最低要求版本从 1.85.0 更新为 1.96.0。 ([#9852](https://github.com/QwenLM/qwen-code/pull/9852)) by @AaronZ345 - docs(core): 修复目标评估器超时单位 ([#9861](https://github.com/QwenLM/qwen-code/pull/9861)) by @AaronZ345 - 更新 ReadFile 工具文档,将默认分页限制引用为 truncateToolOutputLines 设置,而非硬编码的行数。 ([#9863](https://github.com/QwenLM/qwen-code/pull/9863)) by @AaronZ345 - 修复 TypeScript SDK 超时示例,改用正确的 query({ prompt, options }) 工厂签名,替代过时的位置参数格式。 ([#9867](https://github.com/QwenLM/qwen-code/pull/9867)) by @AaronZ345 - docs: 整合多项文档修正 ([#9855](https://github.com/QwenLM/qwen-code/pull/9855)) by @AaronZ345 ### Internal Changes - 将 autofix 说明文档迁移至设计记录,以减小工作流文件大小,并实现了棘轮机制,以限制审查中未来增长的可见性。 ([#9677](https://github.com/QwenLM/qwen-code/pull/9677)) by @wenshao - 新增测试,确认子代理注册表排除了 MCP 指令,确保 buildMcpServerInstructionsReminder 在不修改生产代码的情况下保持安全。 ([#9720](https://github.com/QwenLM/qwen-code/pull/9720)) by @wenshao - 通过将领域耦合模块移出 CLI utils 叶子层,并添加 ESLint 规则以防止向上导入,强化了架构边界。 ([#9737](https://github.com/QwenLM/qwen-code/pull/9737)) by @yiliang114 - 重构 ACP 技能管理,将源获取与变更逻辑提取到内聚的内部模块中。 ([#8865](https://github.com/QwenLM/qwen-code/pull/8865)) by @callmeYe - 图像生成现在通过使用正确的请求 schema 并处理 URL 和 base64 响应,支持 MiniMax 端点。 ([#8322](https://github.com/QwenLM/qwen-code/pull/8322)) by @octo-patch - 重构目标继续提示词,使用单一核心渲染器,确保所有界面输出一致。 ([#9581](https://github.com/QwenLM/qwen-code/pull/9581)) by @qqqys - 审查技能清单被拆分为核心主体与判决门控参考文件,以根据发布状态优化加载。 ([#9804](https://github.com/QwenLM/qwen-code/pull/9804)) by @wenshao - chore(ci):刷新核心 issue 所有者池 ([#9808](https://github.com/QwenLM/qwen-code/pull/9808)) by @yiliang114 - 重构 core utils 为严格的叶子层,不依赖其他核心模块的运行时依赖,确保更清晰的架构边界。 ([#9778](https://github.com/QwenLM/qwen-code/pull/9778)) by @yiliang114 - 集中管理 core、CLI 和 SDK 中的审批模式契约,确保验证一致性,防止未来更新中出现静默不匹配。 ([#9796](https://github.com/QwenLM/qwen-code/pull/9796)) by @yiliang114 - 通过新的 deriveConfig 工厂边界及生命周期变更守卫,为派生 Config 实例建立明确的归属权。 ([#8100](https://github.com/QwenLM/qwen-code/pull/8100)) by @yiliang114 - ACP 定时任务测试现在在清理阶段终止整个 CLI 进程树,以防止在 POSIX 和 Windows 上出现目录删除错误。 ([#9815](https://github.com/QwenLM/qwen-code/pull/9815)) by @dream-creator - 从核心内容生成器接口中移除未使用的 token 计数与摘要思考能力,以简化 provider 实现。 ([#9676](https://github.com/QwenLM/qwen-code/pull/9676)) by @DragonnZhang - 更新 Vertex 模式懒加载生成器测试,使用 embedContent 替代已移除的 countTokens 方法,以修复 TypeScript 构建。 ([#9888](https://github.com/QwenLM/qwen-code/pull/9888)) by @AaronZ345 - 以 root 身份运行时跳过 unreadable-ledger 测试,因为权限检查会被绕过,从而确保 root 环境下的测试稳定性。 ([#9913](https://github.com/QwenLM/qwen-code/pull/9913)) by @wenshao - 更新内部注释,正确说明重放安全性依赖于丢弃失败的尝试回合,而非从历史记录中排除思维部分。 ([#8861](https://github.com/QwenLM/qwen-code/pull/8861)) by @ComplexSimply - 重构 Core 客户端,通过直接从定义处导入 approval-mode 枚举来移除运行时导入循环。 ([#9959](https://github.com/QwenLM/qwen-code/pull/9959)) by @DragonnZhang - Workspace Git 和状态路由现在共享单一可信运行时解析器,以确保所有端点的安全验证一致。 ([#9958](https://github.com/QwenLM/qwen-code/pull/9958)) by @DragonnZhang - chore(github):添加 @qqqys 为 core 包代码所有者 ([#9982](https://github.com/QwenLM/qwen-code/pull/9982)) by @yiliang114 - test(cli):使 session-swap 遥测模拟具备 /branch 标题先决条件 ([#9998](https://github.com/QwenLM/qwen-code/pull/9998)) by @yiliang114 - refactor(acp-bridge):缩小 workspace 事件能力范围 ([#9957](https://github.com/QwenLM/qwen-code/pull/9957)) by @DragonnZhang - refactor(web-shell):提取共享上下文 ([#9954](https://github.com/QwenLM/qwen-code/pull/9954)) by @DragonnZhang - refactor(web-shell):复用标准 todo 解析器 ([#9956](https://github.com/QwenLM/qwen-code/pull/9956)) by @DragonnZhang - refactor(cli):移除未使用的 EnumSelector 组件 ([#9997](https://github.com/QwenLM/qwen-code/pull/9997)) by @qqqys - ci:从 pull requests 中移除 macOS 和 Windows 构建流水线 ([#10059](https://github.com/QwenLM/qwen-code/pull/10059)) by @wenshao - refactor(core):移除未使用的 LruCache 工具 ([#9926](https://github.com/QwenLM/qwen-code/pull/9926)) by @AaronZ345 - refactor(cli):移除未使用的 useInputHistoryStore 钩子 ([#10041](https://github.com/QwenLM/qwen-code/pull/10041)) by @qqqys - chore(ci):将 CUA npm 包迁移至可信发布 ([#9836](https://github.com/QwenLM/qwen-code/pull/9836)) by @yiliang114 - chore(cua-driver):将 SDK 升级至 0.20.1 ([#10127](https://github.com/QwenLM/qwen-code/pull/10127)) by @LaZzyMan ## 新贡献者 - @cactuser-Lu 在 [#9457](https://github.com/QwenLM/qwen-code/pull/9457) 中首次贡献 - @axiom-of-choice 在 [#9017](https://github.com/QwenLM/qwen-code/pull/9017) 中首次贡献 - @zhou2024NAU 在 [#9779](https://github.com/QwenLM/qwen-code/pull/9779) 中首次贡献 - @octo-patch 在 [#8322](https://github.com/QwenLM/qwen-code/pull/8322) 中首次贡献 - @yefuyou 在 [#8953](https://github.com/QwenLM/qwen-code/pull/8953) 中首次贡献 - @tao943 在 [#9018](https://github.com/QwenLM/qwen-code/pull/9018) 中首次贡献 - @AaronZ345 在 [#9550](https://github.com/QwenLM/qwen-code/pull/9550) 中首次贡献 - @yu-xin-c 在 [#9795](https://github.com/QwenLM/qwen-code/pull/9795) 中首次贡献 - @dream-creator 在 [#9815](https://github.com/QwenLM/qwen-code/pull/9815) 中首次贡献 - @zgxkbtl 在 [#9992](https://github.com/QwenLM/qwen-code/pull/9992) 中首次贡献 **完整更新日志**: https://github.com/QwenLM/qwen-code/compare/v0.22.0...v0.22.2