← 返回更新日志

Qwen Code desktop-v0.25.0

2026-10-05 · GitHub 原文
<!-- 发布说明由 .github/release.yml 中位于 6788c035698a0ada471c958d1e789e96c6cddd9b 的配置生成 --> ## 变更内容 * fix(serve): 保留会话创建失败的诊断信息,由 @callmeYe 提交:https://github.com/QwenLM/qwen-code/pull/12331 * feat(sdk-java): 添加托管运行时证明客户端,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/12522 * feat(web-shell): 在轨迹概览中选择时间范围以缩小表格范围,由 @qqqys 提交:https://github.com/QwenLM/qwen-code/pull/12543 * feat(serve,web-shell): 从设置中配置 Qwen Live 端点和模型,由 @qqqys 提交:https://github.com/QwenLM/qwen-code/pull/12529 * feat(channels): 分离私聊和群组访问策略,由 @qqqys 提交:https://github.com/QwenLM/qwen-code/pull/12547 * fix(core): 限制 MCP 工具返回的超大图片,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/10835 * feat(serve): 通过 Web Shell 运行 Qwen Live,并支持选择启用原生 macOS Host,由 @qqqys 提交:https://github.com/QwenLM/qwen-code/pull/12534 * feat(web-shell): 支持在当前对话中搜索,由 @samuelhsin 提交:https://github.com/QwenLM/qwen-code/pull/12234 * perf(serve): 使用目录计算工作区扩展激活投影,由 @callmeYe 提交:https://github.com/QwenLM/qwen-code/pull/12541 * fix(core): 根据字节内容而非标签决定 MCP 媒体处理方式,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12567 * fix(core): 拆分内容时,将单引号内的反斜杠视为字面量,由 @TianYuan1024 提交:https://github.com/QwenLM/qwen-code/pull/11765 * perf(web-shell): 仅计算一次会话工作流投影并在各界面间共享(#10865),由 @now-ing 提交:https://github.com/QwenLM/qwen-code/pull/11237 * fix(skills): 刷新后重新加载已更改的内容,由 @jkxiao 提交:https://github.com/QwenLM/qwen-code/pull/12182 * feat(web-shell): 添加用于模型管理的 Host 控件,由 @Lilian0122 提交:https://github.com/QwenLM/qwen-code/pull/12345 * fix(cli): 在回调标识变化时保持 CoreToolScheduler 稳定,由 @kabishou11 提交:https://github.com/QwenLM/qwen-code/pull/12069 * fix(web-shell): 将移动端访问改为选择启用,并简化分栏编辑器,由 @ytahdn 提交:https://github.com/QwenLM/qwen-code/pull/12537 * test(cli): 在基础树测试之间让出事件循环,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12573 * feat(browser-use): 使捆绑的运行时自包含,由 @tanzhenxin 提交:https://github.com/QwenLM/qwen-code/pull/12548 * fix(cli): 在两个身份比较器中保持 64 位文件 ID 精确,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12568 * fix(cli): 对 64 位文件 ID 保持计划身份保护逻辑精确,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12577 * fix(java): 在调度租约失效后传递代理取消操作,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12583 * feat(web-shell): 支持缩放和平移轨迹概览,由 @qqqys 提交:https://github.com/QwenLM/qwen-code/pull/12557 * fix(core): 为每张重新附加的图片添加标签,避免将旧图片视为当前图片,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12549 * feat(review): 审计已应用的 `--fix`,检查未固定的新假设,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/10169 * feat(channels): 将消息路由到特定前缀的会话,由 @qqqys 提交:https://github.com/QwenLM/qwen-code/pull/12595 * fix(java): 使用仓库时钟隔离已失效的工具执行,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12608 * feat(web-shell): 按真实时间显示轨迹,包括空闲时间,由 @qqqys 提交:https://github.com/QwenLM/qwen-code/pull/12607 * fix(review): 更正修复审计向读者展示的内容,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12610 * fix(serve): 在渠道状态中报告 `serve.channels` 恢复失败,由 @qqqys 提交:https://github.com/QwenLM/qwen-code/pull/12542 * test(review): 通过 yargs 命令驱动修复审计构建,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12614 * feat(sdk-java): 仅在证明通过后采用托管运行时,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/12552 * feat(web-shell): 按提示词检查会话工具调用,由 @ytahdn 提交:https://github.com/QwenLM/qwen-code/pull/12466 * feat(web-shell): 支持选择性集成 Host 构件,由 @dreamWB 提交:https://github.com/QwenLM/qwen-code/pull/12588 * fix(web-shell): 停止在工具卡片中渲染空参数和空输入 JSON,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12601 * feat(live): 将共享屏幕流式传输到浏览器语音通话中,由 @qqqys 提交:https://github.com/QwenLM/qwen-code/pull/12623 * docs(extensions): 补充工作流重新加载说明并添加中文设计文档,由 @BlackishGreen33 提交:https://github.com/QwenLM/qwen-code/pull/12625 * fix(core): 在会话提交注册中覆盖所有 commit 拼写形式及提升后的路径,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12556 * feat(desktop): 添加 `QWEN_DESKTOP_DISABLE_UPDATES`,用于选择退出启动时更新检查,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12587 * perf(cli): 避免单次运行重复启动 CLI,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12602 * perf(cli): 在无头启动时跳过仅交互模式需要的探测,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12603 * docs: 修复 `/clear` 描述、`.qwen` 说明及过时的 CLI 名称,由 @yc2bgr8 提交:https://github.com/QwenLM/qwen-code/pull/12555 * docs(conversations-recovery): 记录 ACP 写入器非正常退出后的恢复方式,由 @dvd233 提交:https://github.com/QwenLM/qwen-code/pull/12268 * docs: 修复与实际代码相矛盾的注释和 JSDoc,由 @sxh313 提交:https://github.com/QwenLM/qwen-code/pull/11950 * fix(cli): 在 `--bare` 模式下遵循使用统计选择退出设置,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12604 * fix(ci): 在检出前将任务工作区设为 Git `safe.directory`,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12648 * test(review): 为保存构件覆盖保护添加硬链接见证测试(#12578),由 @holny 提交:https://github.com/QwenLM/qwen-code/pull/12581 * test(java): 使本地进程配置器测试具有确定性,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12639 * feat(review): 记录可在变基后保留的逐文件内容判定,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/9661 * feat(web-shell): 从 Git 对话框管理仓库工作树,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12154 * docs(tools): 将 Firecrawl 添加到 Web 搜索 MCP 服务列表,由 @JuampiHernandez 提交:https://github.com/QwenLM/qwen-code/pull/12646 * feat(sdk-java): 添加 Hosted Harness 私有客户端,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/12654 * test(java): 固定早期审查中尚未闭合的运行时代理保护逻辑,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12632 * feat(java): 根据运行时证据协调 `UNKNOWN` 工具执行,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12655 * test(cli): 固定托管运行时工作进程的启动、绑定和关闭保护逻辑,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12633 * fix(review): 当某轮无法锚定时持久化本地发现账本,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12660 * fix(core): 在工具调用轮次之间保留 Claude 的思考内容,由 @pomelo-nwu 提交:https://github.com/QwenLM/qwen-code/pull/12621 * feat(cli): 声明 v2 `execute/status/cancel` 托管运行时契约,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/12630 * fix(cli): 避免单次运行的系统提醒前缀进入 Shell 模式,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12605 * feat(sdk-java): 协调并采用已恢复的运行时绑定,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/12627 * fix(standalone): 固定 `@lydell/node-pty-linux-arm64`,并在缺失预构建产物时使发布失败,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12649 * feat(cli): 在 `qwen sessions ps` 中列出托管的 Agent View 会话,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/10942 * fix(web-shell): 在没有草稿目标的 Live 聊天中,为“新任务”回退到普通草稿,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12626 * chore(desktop): 将 `packages/desktop-shell` 重命名为 `packages/desktop`,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12653 * test(java): 在租约续期测试中,于推进后的时间点等待续期,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12656 * fix(cli): 当 npm 拒绝输出全局配置时,仍能解析该配置,由 @tanzhenxin 提交:https://github.com/QwenLM/qwen-code/pull/12675 * feat(scripts): 将启动性能基准测试工具纳入仓库,由 @tanzhenxin 提交:https://github.com/QwenLM/qwen-code/pull/12674 * fix(web-shell): 允许从侧边栏和选择器中删除当前会话,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12636 * fix(core): 使延迟工具桥接的两端保持在同一工具上,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12539 * feat(sdk-java): 将 v2 工具操作添加到运行时传输层,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/12637 * feat: 添加原生 Advisor 工具,由 @ZijianZhang989 提交:https://github.com/QwenLM/qwen-code/pull/9636 * feat(sdk-java): 添加 W0a 托管工作区绑定契约,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12681 * perf(cli): 当环境文件仅包含模型凭据时,保持原地运行,由 @tanzhenxin 提交:https://github.com/QwenLM/qwen-code/pull/12680 * feat(cli): 将 v2 工具操作挂载到托管运行时工作进程,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/12671 * perf(cli): 将全新启动到可输入状态的时间减半,并减少 60% 的 RSS,由 @tanzhenxin 提交:https://github.com/QwenLM/qwen-code/pull/12622 * fix(cli): 使 Agent Team 队友标签页的记录在 VP 模式下可滚动,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/9531 * fix(cli): 在托管 npm 更新激活时恢复 ripgrep 的可执行位,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12673 * fix(cli): Linux 剪贴板工具存在但查询失败时发出通知,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12666 * fix(core): 在 Hook 聚合中将 `PreToolUse permissionDecision` 按最严格原则排序,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12689 * perf(serve): 合并进行中的扩展状态加载,由 @callmeYe 提交:https://github.com/QwenLM/qwen-code/pull/12638 * feat(cli): 定义 `managed-context/1` 信封契约,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12700 * feat(serve): 添加受保护的 Hosted Runtime 基础设施,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/12691 * feat(managed-agent): 添加 Spring 控制平面和双路径 WebShell,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/12692 * feat(serve): 支持在创建会话时选择模型和推理模式,由 @callmeYe 提交:https://github.com/QwenLM/qwen-code/pull/12308 * feat(core): 添加持久化托管会话日志和故障转移,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/12693 * fix(cli): 完成延后的 `/context` 计费跟进事项,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12540 * fix(core): 在第二轮处理中去除系统提示指导内容的重复项,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/12546 * feat(cli): 添加由代理准备的 Batch API 工作流(`/batch-api`),由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12492 * feat: 完善 Advisor 咨询行为和使用限制,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12688 * test(cli): 补齐从 `managed-context/1` 延后的夹具缺口,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12712 * fix(mcp): 保留通过 Header 发现的注册 URL,由 @dvd233 提交:https://github.com/QwenLM/qwen-code/pull/12205 * feat(managed-agent): 接纳绑定工作区但不执行的会话,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/12709 * feat(cli): 在会话的工作区目录中运行托管运行时工具,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12732 * feat(acp-bridge): 在旧版和托管引擎之间路由会话,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12698 * feat(serve): 启用私有 Hosted Harness 的无工具文本轮次,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/12713 * fix(core): 对非 UTF-8 输出,先查询系统代码页,再使用 chardet,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12731 * fix(core): 在 `web_fetch` HTTPS 升级回退中,将 `EHOSTUNREACH/ENETUNREACH` 视为连接级错误,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12705 * feat(managed-agent): 定义 `managed-tool-result/1` 契约(O1a),由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12729 * fix(cli): 将更新后重新启动的命令行原样传递给 cmd,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12694 * fix(core): 在托管会话资源中容忍 Win32 拒绝同步目录,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12718 * fix(core): 在工具建议中优先显示已注册前缀,由 @yc2bgr8 提交:https://github.com/QwenLM/qwen-code/pull/12743 * test(managed-agent): 添加 Hosted 无工具进程门禁,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12733 * feat(acp-bridge): 使用会话所有者和类型化拒绝机制支持配对引擎选择,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12746 * fix(cli): 在启用 v2 启动前完成 W0c-1 工作进程的跟进事项,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12747 * fix(serve): 恢复独立会话的记录读取,由 @qqqys 提交:https://github.com/QwenLM/qwen-code/pull/12615 * fix(serve): 完成配对引擎所有者的审查跟进事项,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12750 * fix(serve): 在短暂读取失败后结算 Hosted 轮次,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/12742 * feat(runtime-broker): 安装托管工作区上下文(W0c-2),由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/12730 * feat(web-shell): 从侧边栏准备更新并重启,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12734 * fix(serve): 完整保留 ACP 子进程错误消息和独立会话冲突,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12753 * test(core): 补齐从 #12747 延后的编译缓存测试和文档缺口,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12759 * test(runtime-broker): 为工具路径添加阶段 F 多进程故障门禁,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12752 * fix(extensions): 对 HTTP 归档 URL 返回可操作的错误,而不是尝试 Git 克隆,由 @liwenjie200543 提交:https://github.com/QwenLM/qwen-code/pull/12697 * fix(cli): 报告列表无法读取的批处理任务记录,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12741 * fix(web-shell): 清除折叠侧边栏轨道中的 `scrollbar-gutter`(#12453),由 @holny 提交:https://github.com/QwenLM/qwen-code/pull/12652 * feat(memory): 提取结构化扫描和有界检索,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12726 * fix(core,cli): 防止陈旧工作树清理销毁 Git 忽略的内容,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12763 * fix(serve): 恢复时不再验证仅加载字段,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12768 * fix(core): 防止陈旧工作树清理删除未跟踪文件,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12739 * fix(ci): 根据磁盘空间下限控制 E2E 池任务(#12764),由 @qwen-code-dev-bot 提交:https://github.com/QwenLM/qwen-code/pull/12769 * fix(cli): 显示真实的 `/update` 错误,并自动修复陈旧的待处理交换,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12755 * fix(desktop): 识别缺失的 node-pty 版本固定,由 @barry166 提交:https://github.com/QwenLM/qwen-code/pull/12684 * fix(vscode-ide-companion): 在回退操作写入记录前暂缓发送编辑内容,由 @yar3333 提交:https://github.com/QwenLM/qwen-code/pull/12711 * fix(core): 记录失败 Schema 自身的错误并补齐编译缓存缺口,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12777 * feat(acp-bridge): 为每个配对渠道提供独立的工作区运行时身份,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12776 * feat(managed-agent): 接入私有工作区执行(W0c-3),由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/12754 * feat(web-shell): 在编辑器添加菜单中公开 BTW,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12775 * test(integration): 在 Hosted 会话存储失败中注明请求名称,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12786 * fix(runtime-broker): 精确读取证明整数,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12774 * fix(core): 在第三轮提示处理中去除待办指导重复项并压缩注释规则,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/12784 * fix(core): 对可选的 `-32601` 响应保留 MCP 状态,由 @dvd233 提交:https://github.com/QwenLM/qwen-code/pull/12500 * fix(core): 将 sed 静默别名识别为只读,由 @dvd233 提交:https://github.com/QwenLM/qwen-code/pull/12221 * fix(acp-bridge): 丢弃超大通知,而不是断开渠道,由 @kabishou11 提交:https://github.com/QwenLM/qwen-code/pull/11925 * fix(web-shell): 完善设置面板的简体中文翻译,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/12783 * fix(hooks): 按名称而非身份标识记录启用状态,由 @PratikWayase 提交:https://github.com/QwenLM/qwen-code/pull/11965 * feat(mobile): 支持限定范围的原生文档选择(第二阶段),由 @jabrailkhalil 提交:https://github.com/QwenLM/qwen-code/pull/12126 * feat(core): 添加本地托管工具结果分段存储,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/12767 * feat(acp-bridge): 恢复被隔离的配对渠道,并按引擎运行,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12795 * test(managed-agent): 在 Hosted 无工具切片上控制工具驱动的故障转移 E2E 模式,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12801 * fix(core): 根据任意连接尝试而非首次尝试对多地址连接失败进行分类,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12794 * fix(sdk-java): 拒绝无法读取的小数位数,由 @yc2bgr8 提交:https://github.com/QwenLM/qwen-code/pull/12798 * test(runtime-broker): 为 W0c 上下文安装添加阶段 F 故障门禁,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12804 * fix(cli): 在会话导出中保留来源身份,由 @banned2054 提交:https://github.com/QwenLM/qwen-code/pull/12118 * test(serve): 在能力基线中容忍 `workspace_runtime_stop` 信封偏差(#12490),由 @qwen-code-dev-bot 提交:https://github.com/QwenLM/qwen-code/pull/12494 * test(cli): 拆分 W0c-3 发布测试,使 Windows 仅跳过重命名操作,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12815 * feat(acp-bridge): 将工作区变更传递给每个配对引擎,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12807 * fix(ci): 在资源池争用时重试一次 helper-tests 步骤(#12772),由 @qwen-code-dev-bot 提交:https://github.com/QwenLM/qwen-code/pull/12780 * fix(cli): 报告已保存工作流斜杠命令的完成状态,由 @destire-mio 提交:https://github.com/QwenLM/qwen-code/pull/12415 * docs(design): 明确 B2d 的配对引擎 Host 接线方案,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12771 * feat(managed-agent): 添加公共 API 契约及契约测试,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12808 * fix(mcp): 支持更大的应用、限定范围的工具调用和隔离来源,由 @samuelhsin 提交:https://github.com/QwenLM/qwen-code/pull/12258 * fix(managed-agent): 使 Flyway 运行时表与 Broker Schema 保持一致,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12816 * test(managed-agent): 使 Hosted 无工具门禁断言可证伪,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12819 * test(cli): 在 Windows 的 Git Bash 下运行 W0c-3 目录丢失测试,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12818 * fix(cli): 允许过期的 `.deferred` 标记绕过“更新仍在应用”阻塞,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12810 * feat(cli): 添加 `/commit` 斜杠命令,使用 AI 起草提交消息,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/10586 * feat(web-shell): 支持为分支会话选择性使用工作树,由 @water-in-stone 提交:https://github.com/QwenLM/qwen-code/pull/11816 * fix(acp-bridge): 完成配对隔离恢复的审查跟进事项,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12811 * test(sdk-java): 在 Hosted Harness 无内容响应时关闭连接,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12824 * fix(cli): 删除暂存交换前要求提供进程已终止的证明,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12787 * feat(web-shell): 选择并绑定托管工作区,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/12797 * feat(core): 使用本地回执捕获前台托管 Shell 结果,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/12821 * fix(sdk-java): 保留配置的 JDBC 租约时长,由 @yc2bgr8 提交:https://github.com/QwenLM/qwen-code/pull/12788 * chore(sdk-java): 将 fastjson2 版本统一为 2.0.65,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12836 * perf(core): 精简重复的工具指导,并限制常驻工具范围,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12532 * feat(managed-agent): 实现会话查询契约(阶段 D2),由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12822 * test(acp-bridge): 固定后台清空所有权的中间项及 `backgroundTurn` 忙碌保护逻辑,由 @Oscar-Williams 提交:https://github.com/QwenLM/qwen-code/pull/12250 * feat(memory): 提取元数据迁移和写入器兼容性,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12757 * fix(cli): 在选定的工作区运行时中恢复会话,由 @XIQIXIQIXIQI 提交:https://github.com/QwenLM/qwen-code/pull/9050 * feat(managed-agent): 定义 `managed-extension-record/1` 契约(H0b),由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12837 * feat(serve): 在选择启用后,将配对执行引擎接入普通 Host,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12828 * feat(managed-agent): 添加计划中的阶段 H 任务契约(H0a),由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12830 * docs(tools): 使 `shell.md` 与已发布的 `run_shell_command` 契约同步,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12841 * fix(web-shell): 完善 Skill 开关反馈和控件,由 @BlackishGreen33 提交:https://github.com/QwenLM/qwen-code/pull/12641 * feat(managed-agent): 实现事件重放(阶段 D3),由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12840 * feat(serve): 添加受门禁控制的 Hosted Workspace 文件工具轮次,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/12831 * fix(web-shell): 将芯片销毁时的 React 根节点卸载延后到 CodeMirror 更新周期之外,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12834 * feat(managed-agent): 设计普通 Host 托管引擎并完成其前置条件(M1),由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12861 * test(managed-agent): 完成延后的 H0b 记录契约跟进事项,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12863 * test(managed-agent): 完成延后的 Hosted 无工具门禁跟进事项,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12864 * feat(desktop): 在桌面端发布矩阵中添加 `linux-aarch64` 任务,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12833 * fix(node-repl): 在运行器高负载下扩大有界取消测试的时间余量,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12884 * test(managed-agent): 添加 FG6a Hosted Broker 回复丢失门禁,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12873 * test(integration): 为 ACP 模型往返测试提供独立的请求预算,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12885 * fix(acp): 对 MCP 发现配置禁用 LSP,由 @dvd233 提交:https://github.com/QwenLM/qwen-code/pull/12256 * feat(managed-agent): 添加严格配置快照和托管兼容性评估(M3),由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12883 * test(managed-agent): 添加 FG6b 会话存储失败门禁,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12888 * feat(managed-agent): 添加 W0e 终态恢复屏障,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/12839 * feat(managed-agent): 将会话关闭、归档和删除设为持久化操作(阶段 D4),由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12881 * fix(core): 重放时保留内存读取限制信号,由 @yc2bgr8 提交:https://github.com/QwenLM/qwen-code/pull/12893 * fix(web-shell): 将停靠的右侧面板缩进至 macOS 标题栏拖动区域下方,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12876 * fix(core): 在解析时恢复内置 ripgrep 的可执行位,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12892 * fix(runtime-broker): 拒绝超出 ±2048 的 BigDecimal 小数位数,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12870 * feat(computer-use): 允许远程会话通过 `node_repl` 中继使用本机桌面,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/11799 * docs: 修复 GitHub Action、扩展和隐私页面中的失效链接,由 @pratikgx 提交:https://github.com/QwenLM/qwen-code/pull/12717 * docs: 更正 CSP 无效来源注释,由 @sherxlg-gif 提交:https://github.com/QwenLM/qwen-code/pull/12163 * fix(managed-agent): 将会话操作迁移移至 V17,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12900 * feat(agents): 添加持久化工作区协作状态,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12854 * feat(memory): 添加结构化按需回忆,由 @ZijianZhang989 提交:https://github.com/QwenLM/qwen-code/pull/10183 * fix(managed-agent): 拒绝旧版系统重命名由托管系统拥有的记录(M1 跟进),由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12906 * fix(managed-agent): 将依赖工作目录的设置位置视为未知(M3 跟进),由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12903 * feat(channels): 轮换有界路由会话,由 @qqqys 提交:https://github.com/QwenLM/qwen-code/pull/12616 * test(managed-agent): 添加 FG6c 进程崩溃门禁,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12896 * fix(cli): 在 `qwen mcp reconnect` 中遵循使用统计选择退出设置及代理配置,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12857 * feat(managed-agent): 提交阶段 H 记录并提供任务列表(H0c),由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12855 * fix(runtime-broker): 强制执行编解码器读取器的总位数预算,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12910 * fix(cli): 在提供商异常后解除 `qwen batch` 卡死;按最坏情况限制 `maxCostUsd`,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12895 * fix(core): 清理仅包含符号链接或嵌套构建输出的陈旧工作树,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12785 * docs(developers): 记录 CI 和发布仓库变量,由 @Theater-ahyeon 提交:https://github.com/QwenLM/qwen-code/pull/11129 * fix(cli): 在跨会话消息门禁中遵循 `--bare` 和 `--safe-mode`,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/9845 * fix(vscode-ide-companion): 为端口转发窗口提供可操作的认证前 `Invalid Host header` 403 错误,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12897 * test(cli): 为 Hosted 工具轮次的 `waitFor` 设置明确超时(#12911),由 @qwen-code-dev-bot 提交:https://github.com/QwenLM/qwen-code/pull/12915 * test(managed-agent): 添加 FG6d Hosted 取消门禁,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12924 * fix(web-shell): 隐藏空的 MCP 审批副标题,由 @BlackishGreen33 提交:https://github.com/QwenLM/qwen-code/pull/12644 * fix(core): 未注册 Skill 工具时跳过 Skill 列表,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12838 * feat(serve): 添加受门禁控制的 Hosted 前台 Shell 轮次,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/12848 * test(managed-agent): 添加 FG6e Hosted SSE 缺口门禁,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12942 * fix(daemon): 在冷恢复过程中保留会话审批模式,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/12918 * fix(core): 持久化工作流重放后缀失效状态,由 @qqqys 提交:https://github.com/QwenLM/qwen-code/pull/12948 * feat(managed-agent): 提供公共轮次列表和详情(阶段 D5),由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12932 * feat(web-shell): 明确轨迹概览指标,由 @qqqys 提交:https://github.com/QwenLM/qwen-code/pull/12944 * fix(serve): 持久化 Hosted 文件路径拒绝,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/12950 * fix(managed-agent): 共享兼容性评估中的主目录展开和进程生成环境规则,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12934 * feat(managed-agent): 采用持久化本地运行时工作进程,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/12865 * test(hosted): 为 Shell 输出捕获失败添加门禁(FG6f),由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12954 * feat(core): 在 Code Mode 中延迟加载延后工具,由 @tanzhenxin 提交:https://github.com/QwenLM/qwen-code/pull/12898 * perf(memory): 减少自动提取的 Token 开销,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12951 * fix(memory): 索引重建失败时保留迁移进度,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12913 * fix(managed-agent): 完成事件重放的合并后审查,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12968 * docs(managed-agent): 将本地引擎交付延后至 Hosted 之后,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/12920 * feat(core): 添加 Landlock 执行回退,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/12278 * fix(memory): 收紧结构化回忆契约,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12916 * fix(cli): 从辅助模型选择器的出站数据中清除用户信息凭据,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12862 * fix(managed-agent): 声明租户过滤器对任务读取路由返回 403,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12966 * fix(core): 启用工作流时保留 Code Mode 缓存,由 @tanzhenxin 提交:https://github.com/QwenLM/qwen-code/pull/12933 * fix(core): 允许“完全访问”批准工作区外的 Shell 和监控目录,由 @tanzhenxin 提交:https://github.com/QwenLM/qwen-code/pull/12927 * fix(core): 不向工具策略中没有 Skill 工具的子代理提供 SkillManager,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12545 * feat(runtime-broker): 在会话接管时协调执行状态,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12964 * feat(managed-agent): 将托管会话记录为托管会话日志(M4),由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12935 * fix(managed-agent): 使延迟运行时的顺序证明与 15 秒标准一致,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12967 * fix(core): 按调用隔离声明式子代理 Hook,由 @qqqys 提交:https://github.com/QwenLM/qwen-code/pull/12949 * fix(workflow): 调度前验证结构化输出 Schema,由 @qqqys 提交:https://github.com/QwenLM/qwen-code/pull/12978 * fix(memory): 保留任务生命周期信号,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12917 * test(core): 在恢复列表夹具中注册 Skill 工具,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12996 * fix(cli): 将快速模型固定到所选提供商端点,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12773 * refactor: 将回退映射锚定到稳定的提示词身份,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/9466 * test(integration): 在 Advisor 和遥测 CLI 测试中禁用托管自动记忆(#12979),由 @qwen-code-dev-bot 提交:https://github.com/QwenLM/qwen-code/pull/12981 * fix(e2e): 放宽监控和 Cron 交互测试中的 LLM 轮次超时,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13002 * test(runtime-broker): 在持久化本地故障门禁中接受接管扫描的结算结果,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13000 * feat(web-shell): 就地检查轨迹记录,由 @qqqys 提交:https://github.com/QwenLM/qwen-code/pull/12971 * feat(managed-agent): 在受信任的本地重启后恢复工作区持有者(W0e-3),由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/12869 * fix(runtime-broker): 精确读取 ready、seed 和 request 整数,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12972 * test(managed-agent): 当不确定的提交得到解决后,接受重复取消,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13011 * fix(core): 并发运行安全的 Code Mode 调用,由 @tanzhenxin 提交:https://github.com/QwenLM/qwen-code/pull/12931 * fix(runtime-broker): 完成从 #12761 延后的 W0c-2 问题,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12975 * fix(core): 使 Code Mode 文本与延迟工具发现保持一致,由 @tanzhenxin 提交:https://github.com/QwenLM/qwen-code/pull/12990 * fix(permissions): 遵循已批准的跨目录工具调用,由 @tanzhenxin 提交:https://github.com/QwenLM/qwen-code/pull/12987 * fix(cli): 加载补全建议时不再吞掉 Enter 键(#13015),由 @qwen-code-dev-bot 提交:https://github.com/QwenLM/qwen-code/pull/13021 * fix(cli): 将守护进程扩展设置加载与共享进程状态隔离,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13022 * test(managed-agent): 记录 Hosted 延迟基线,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12945 * feat(agents): 添加本地工作区代理协作,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/11206 * feat(serve): 实现通用 Broker 提供商控制,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12868 * feat(managed-agent): 启用 G0 公共工作区文件轮次,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12955 * fix(serve): 以 512 KiB 分块上传会话附件,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/12923 * test(managed-agent): 固定 M4 关闭锚点和已发布定义(M4 跟进),由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12995 * fix(cli): 限制重新启动的子进程超过其监督进程的存活时间,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13036 * test(managed-agent): 为提供商重试和释放顺序添加门禁,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13061 * test(managed-agent): 避免轮次声明测试与恢复扫描器产生竞争,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13032 * fix(core): 使用统计 RUM 上传遵循 `NO_PROXY`,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13023 * fix(runtime-broker): 将被拒绝的提供商启动回复为 unknown 而非 prepared,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13064 * fix(runtime-broker): 原始运行时无法回答时保留 `UNKNOWN` 答案,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13069 * feat(sdk-java): 添加经审计的 Hosted Workspace 操作员恢复,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/12977 * fix(workflow): 提前拒绝不支持的脚本和超大批次,由 @qqqys 提交:https://github.com/QwenLM/qwen-code/pull/13012 * fix(hooks): 将工具调用前和 ACP 失败上下文传递给模型,由 @qqqys 提交:https://github.com/QwenLM/qwen-code/pull/13006 * fix(core): 不将已传递的通知轮次计入 ACP 回退序号,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13029 * fix(core): 扩展生命周期事件遵循使用统计选择退出设置,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12789 * feat(memory): 将 Mem0 与主 CLI 一并打包,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12891 * feat(agents): 为工作区代理添加 A2A 访问和共享,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12851 * feat(managed-agent): 请求 Hosted 工具审批(D6a),由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13071 * fix(web-shell): 防止统计标题重叠和原始 JSON 输出,由 @qqqys 提交:https://github.com/QwenLM/qwen-code/pull/13091 * fix(managed-agent): 确定任务事件和取消语义,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12998 * fix(managed-agent): 保护排队中的 Hosted 审批过期处理,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13098 * feat(managed-agent): 添加持久化远程 Shell 结果传递,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/12894 * feat(managed-agent): 实现私有 Hosted MCP 运行时(H1),由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12946 * perf(sdk-java): 将运行时代理 JSON 直接序列化为字节,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13108 * test(cli): 为结算重试的 `waitFor` 设置明确超时(#13034),由 @qwen-code-dev-bot 提交:https://github.com/QwenLM/qwen-code/pull/13058 * test(managed-agent): 明确哪些协调器拒绝路径是真实存在的,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13099 * docs(managed-agent): 在 E2E README 中注明真实工作进程入口,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13093 * feat(managed-agent): 提供持久化权限操作(D6b),由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13101 * test(managed-agent): 完成 G0 准入跟进事项,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13095 * fix(web-shell): 保留大型上下文使用量快照,由 @qqqys 提交:https://github.com/QwenLM/qwen-code/pull/13097 * fix(managed-agent): 完善租户范围 403 契约,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13117 * feat(managed-agent): 添加经过验证的 W1a 工作区冷恢复,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/13088 * feat(web-shell): 添加可折叠的轨迹瀑布图,由 @qqqys 提交:https://github.com/QwenLM/qwen-code/pull/13081 * test(managed-agent): 固定提供商控制拒绝保护逻辑,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13118 * fix(managed-agent): 恢复 Hosted MCP 释放重试,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13109 * fix(managed-agent): 通过有界验证恢复发布过期状态,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/13114 * test(core): 在不删除测试的情况下压缩 Core 测试套件,由 @tanzhenxin 提交:https://github.com/QwenLM/qwen-code/pull/13007 * fix(cli): 发布设置时避免出现文件缺失窗口,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/13119 * fix(web-shell): 将内联芯片注解保持在芯片的真实范围内,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12992 * fix(cli): 持久化计划任务的 Cron 提示词,由 @XIQIXIQIXIQI 提交:https://github.com/QwenLM/qwen-code/pull/8838 * test(managed-agent): 覆盖 G0 启动和缓存拒绝,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13116 * test(managed-agent): 完善操作者范围失败诊断,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13127 * feat(managed-agent): 将持久化工具结果投影到 WebShell,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/13037 * test(core): 在回忆扫描延迟门禁中将 GitHub 托管任务视为共享环境,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13094 * feat(managed-agent): 在私有 ACP 子进程中托管托管会话(M2),由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13131 * feat(managed-agent): 添加 Hosted 文件历史和撤销功能,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13110 * fix(runtime-broker): 在丢失清理期间续订恢复声明(#13017),由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13115 * test(integration): 消除监控工具调用 E2E 测试受提供商延迟影响的不稳定性(#13001),由 @qwen-code-dev-bot 提交:https://github.com/QwenLM/qwen-code/pull/13005 * test(integration): 在向 ACP 子进程发送 SIGKILL 前订阅会话事件流(#12925),由 @qwen-code-dev-bot 提交:https://github.com/QwenLM/qwen-code/pull/12930 * test(integration): 在 E2E 工具中默认禁用托管自动记忆(#13009),由 @qwen-code-dev-bot 提交:https://github.com/QwenLM/qwen-code/pull/13013 * test(managed-agent): 补齐 H0b 记录夹具缺口,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13120 * fix(core,cli): 限制捆绑 Skill 列表;当没有提供商总数时移除 OpenTUI 分类标题,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13159 * feat(web-shell): 在托管面板中显示并响应 Hosted 工具审批,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13107 * fix(core): 修复提醒行中的延迟工具选择规则,并为 `tool_call` 添加已审查 Schema 门禁,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13020 * feat(managed-agent): 添加 Hosted 轮次接管和 G1 故障转移 E2E,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13083 * feat(core): 在 Code Mode 中支持自由格式输入,由 @tanzhenxin 提交:https://github.com/QwenLM/qwen-code/pull/13150 * fix(core): 使 exec 输出与 Codex 保持一致,由 @tanzhenxin 提交:https://github.com/QwenLM/qwen-code/pull/13153 * feat(managed-agent): 实现持久化 Hosted Hook(H2),由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13129 * feat(core): 允许在 Code Mode 中并发调用 Bash,由 @tanzhenxin 提交:https://github.com/QwenLM/qwen-code/pull/13151 * fix(managed-hooks): 限制 Hook 准入和冷恢复成本,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13136 * chore: 移除会隐藏 web-shell 源码、未锚定的 `workspace/` 忽略规则,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13155 * feat(managed-agent): 保护会话所有工具输出的退役过程,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/13084 * fix(serve): 准确报告 Hosted Hook 拒绝和冲突,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13137 * fix(managed-agent): 验证撤销回执并披露备份限制,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13144 * fix(ci): 稳定 Hosted 浏览器冒烟门禁,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13172 * ci(sdk-java): 保护 Flyway 版本唯一性并监控主分支失败运行,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/12965 * feat(managed-agent): 添加离线 W1b 恢复包,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/13138 * fix(web-shell): 防止内存面板替换其无法读取的全局 `QWEN.md`,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13154 * feat(managed-agent): 可靠关闭绑定工作区的会话,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/13135 * fix(managed-agent): 将会话关闭迁移重新编号为 V32,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13223 * fix(web): 将快速模型固定到所选提供商端点,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13227 * feat(core): 从 models.dev 目录解析模型限制和模态,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/11959 * fix(web-shell): 不再向无权响应的查看者提供托管审批,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13165 * feat(agents): 添加隔离的远程 Qwen 运行时 Host,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12582 * feat(managed-agent): 存储不可变的 AgentDefinition 修订版本(阶段 D8a),由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13142 * test(managed-agent): 在 ManagedEventReplayTest 中禁用 MockMvc 结果输出,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13229 * fix(web-shell): 离线重试时保留身份验证片段,由 @jabrailkhalil 提交:https://github.com/QwenLM/qwen-code/pull/13176 * fix(core): 允许工作流元数据声明前存在前导注释(#12217),由 @holny 提交:https://github.com/QwenLM/qwen-code/pull/12651 * fix(cli): 剪贴板粘贴使用 Linux 专用的不可用提示(#12504),由 @holny 提交:https://github.com/QwenLM/qwen-code/pull/12507 * feat(managed-agent): 归档和删除已关闭的工作区会话,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/13194 * fix(core): 不再将格式错误的工具调用参数误判为 `max_tokens` 截断,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/12982 * test(core): 在单元测试层面固定 CodeModeOnly 桥接行为,由 @waybarrios 提交:https://github.com/QwenLM/qwen-code/pull/12497 * fix(serve): 仅释放由加载操作拥有的 Hook 运行时,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13195 * fix(core): 将失败且无提醒的通知轮次恢复为 `interrupted_prompt`,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13126 * feat(qqbot): 接收传入的图片和视频,由 @Eric-GoodBoy-Tech 提交:https://github.com/QwenLM/qwen-code/pull/12850 * fix(acp): 切换模型时保留配置的 OpenAI 身份验证选项,由 @tanzhenxin 提交:https://github.com/QwenLM/qwen-code/pull/13152 * fix(core): Windows 锁定目录时通过复制交换扩展构件,由 @niheaven 提交:https://github.com/QwenLM/qwen-code/pull/11889 * feat(managed-agent): 恢复安全的已退役工具输出收集,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/13225 * fix(memory): 提取时保留 Markdown 强调样式,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13240 * feat(managed-agent): 允许绑定工作区的会话创建者提交、取消和重命名,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13112 * test(managed-agent): 添加工具输出收集部署门禁,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/13090 * feat(channels): 添加 IMAP 和 SMTP 电子邮件渠道,由 @destire-mio 提交:https://github.com/QwenLM/qwen-code/pull/12939 * feat(sdk-java): 添加 SpotBugs 高置信度门禁、CodeQL Java 扫描和 Maven Dependabot,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13216 * fix(managed-agent): 保留写入器和发布 Epoch 截止时间,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13192 * feat(managed-agent): 默认启用持久化本地进程和受信任重启恢复,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13211 * fix(web-shell): 跳过损坏的托管 SSE 帧并合并缺口重同步,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13206 * feat(mobile): 添加限定范围的麦克风许可(第二阶段),由 @jabrailkhalil 提交:https://github.com/QwenLM/qwen-code/pull/12127 * perf(extensions): 先加载列表元数据,再加载所选项目详情,由 @callmeYe 提交:https://github.com/QwenLM/qwen-code/pull/12640 * test(feishu): 将媒体分发覆盖测试与外部 API 隔离,由 @jabrailkhalil 提交:https://github.com/QwenLM/qwen-code/pull/13170 * feat(managed-agent): 在运行时工作进程中运行托管会话工具(M5a),由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13167 * fix(managed-agent): 在被动接管时采用运行时会话,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13173 * fix(memory): 保持 `MEMORY.md` 索引链接目标可解析,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13156 * fix(cli): 强化设置失败和沙箱命令流处理,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/13140 * fix(channels): 配置丢失后清理所属工作进程,由 @XIQIXIQIXIQI 提交:https://github.com/QwenLM/qwen-code/pull/11071 * test(web-shell): 固定单次跳过的重同步边界和停滞阈值,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13277 * fix(ci): 提高 serve-ab 握手预算,报告失效的 CodeQL 夜间任务,并将受信任 PR 任务路由到 ECS,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13270 * fix(workflow): 区分传输重试等待与停滞,由 @qqqys 提交:https://github.com/QwenLM/qwen-code/pull/13274 * fix(core): 根据剩余窗口限制主轮次输出截断下限,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13286 * test(managed-agent): 修复 managed-agent-server E2E 运行器的真实模型模式,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13263 * fix(channels): 将 channel-email 固定到 channel-base 0.24.7,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13305 * fix(ci): 将所有者脚本作为 Cone 目录进行稀疏检出,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13306 * fix(ci): 通过 REST Assignees 端点分配 PR 所有者,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13310 * fix(serve): 在 Shell 发布器清空及确认丢失期间保持 Hosted 会话可用,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13304 * fix(managed-agent): 显示混合版本接管时具名的加载拒绝,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13349 * fix(managed-agent): 当中途重试触发重放时撤回已发布前缀,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13351 * fix(managed-agent): 将超过截止时间的 Hosted 轮次结算为已分类失败,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13359 * fix(web-shell): 重新加载时恢复托管审批重试预算,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13294 * fix(cli): 在回复丢失后使 Hosted 接管加载保持幂等,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13350 * feat(managed-agent): 持久化工作区会话工具配置,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13301 * fix(agents): 区分已接受的 Host 结果和终态运行,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13241 * fix(serve): 在收到明确忙碌拒绝时,将绑定工作区的 Hosted 轮次加入队列,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13366 * test(core): 在监督进程停止的 Hook 场景中等待回收(#13356),由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13357 * feat(prompt): 在调查前先根据对话历史回答,由 @Andrea-Bruno 提交:https://github.com/QwenLM/qwen-code/pull/12580 * feat(memory): 为唯一的新回忆命中添加可选择启用的选择器跳过功能,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13158 * test(core): 为 CI 限制 Hook 历史夹具,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13382 * fix(cli): 将 `/context` 估算保持在上下文窗口内,由 @Shizoqua 提交:https://github.com/QwenLM/qwen-code/pull/13246 * fix(managed-agent): 防止缺口锁定的重放探测在同租户突发准入时发生死锁,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13365 * fix(serve): 允许 Web Shell 在没有终端时信任工作区,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13146 * chore(managed-agent): 将 JDBC 连接池从 HikariCP 替换为 Druid,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13363 * fix(mobile): 允许带方括号的 IPv6 回环地址使用明文连接,由 @jabrailkhalil 提交:https://github.com/QwenLM/qwen-code/pull/12963 * docs(cli): 更正 Hosted Runtime Broker 选项帮助,由 @Shxiao101 提交:https://github.com/QwenLM/qwen-code/pull/13141 * test(core): 固定携带错误的已取消 Shell 结果的 `executionStatus`,由 @Shxiao101 提交:https://github.com/QwenLM/qwen-code/pull/13212 * feat(review): `capture-tui`:使用像素而非文字证明渲染结果,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/9273 * fix(runtime-broker): 修复跨进程释放竞争并强化调度,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13214 * test(integration): 在崩溃门禁中识别已封存写入器的续订,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13385 * fix(web-shell): 在全部三个位置延后编辑器标签根节点卸载,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13262 * test(web-shell): 补齐 #12692 的 R2 审查中托管会话测试缺口,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13346 * fix(managed-agent): 避免会话热路径放大数据库负载,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13217 * feat(managed-agent): 添加 `dev:managed-agent` 一次性开发启动器,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13218 * fix(managed-agent): 避免 Hosted Harness 流和 Runtime Broker 保护逻辑固定虚拟线程载体,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13388 * test(core): 移除恢复矩阵中冗余的工具注册表覆盖,由 @Shxiao101 提交:https://github.com/QwenLM/qwen-code/pull/13213 * fix(core): 保留原始 Code Mode Goal 证据,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13324 * fix(managed-agent): 完成 H0c 审查跟进项 R3-6、R3-9、R3-10 和 R3-11,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13347 * test: 修复 Hosted 崩溃隔离和审批等待,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13380 * test(cli): 为未知 Hook 屏障的 `waitFor` 设置明确超时(#13316),由 @qwen-code-dev-bot 提交:https://github.com/QwenLM/qwen-code/pull/13323 * test(cli): 为已结算文件工具结果的 `waitFor` 设置明确超时(#13408),由 @qwen-code-dev-bot 提交:https://github.com/QwenLM/qwen-code/pull/13411 * test(managed-agent): 完成 H0c 审查建议 R2-1、R2-2、R3-4、R3-5、R3-7、R3-8 和 R3-12,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13345 * test(integration): 使调用方提供会话 ID 的服务路由测试可安全重试(#13417),由 @qwen-code-dev-bot 提交:https://github.com/QwenLM/qwen-code/pull/13418 * fix(core): 补齐 PR #12302 审查遗留的托管记录验证缺口,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13311 * fix(managed-agent): 强化并诊断 Hosted 冷加载拒绝门禁,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13361 * test(integration): 停止通过 Hosted 存储代理转发逐跳 Header,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13419 * feat(managed-agent): 添加 Broker 身份验证及由 Broker 配置的写入器凭据,由 @wenshao 提交:https://github.com/QwenLM/qwen-code/pull/13210 * fix(managed-agent): 对受保护输出收集候选项执行退避,由 @doudouOUC 提交:https://github.com/QwenLM/qwen-code/pull/13296 * fix(core): 在会话存储测试中允许选择启用明文 HTTP,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13434 * fix(cli): 在权限处理前拒绝外部 Host 工具,由 @yiliang114 提交:https://github.com/QwenLM/qwen-code/pull/13406 * test(email): 为发送方被拒绝的准入 `waitFor` 设置明确超时(#13433),由 @qwen-code-dev-bot 提交:https://github.com/QwenLM/qwen-code/pull/13438 * feat(web-shell): 添加自适应导航栏和统一的 Live 设置,由 @ytahdn 提交:https://github.com/QwenLM/qwen-code/pull/12943 ## 新贡献者 * @jkxiao 在 https://github.com/QwenLM/qwen-code/pull/12182 完成了首次贡献 * @BlackishGreen33 在 https://github.com/QwenLM/qwen-code/pull/12625 完成了首次贡献 * @yc2bgr8 在 https://github.com/QwenLM/qwen-code/pull/12555 完成了首次贡献 * @sxh313 在 https://github.com/QwenLM/qwen-code/pull/11950 完成了首次贡献 * @holny 在 https://github.com/QwenLM/qwen-code/pull/12581 完成了首次贡献 * @JuampiHernandez 在 https://github.com/QwenLM/qwen-code/pull/12646 完成了首次贡献 * @liwenjie200543 在 https://github.com/QwenLM/qwen-code/pull/12697 完成了首次贡献 * @banned2054 在 https://github.com/QwenLM/qwen-code/pull/12118 完成了首次贡献 * @Oscar-Williams 在 https://github.com/QwenLM/qwen-code/pull/12250 完成了首次贡献 * @pratikgx 在 https://github.com/QwenLM/qwen-code/pull/12717 完成了首次贡献 * @sherxlg-gif 在 https://github.com/QwenLM/qwen-code/pull/12163 完成了首次贡献 * @waybarrios 在 https://github.com/QwenLM/qwen-code/pull/12497 完成了首次贡献 * @niheaven 在 https://github.com/QwenLM/qwen-code/pull/11889 完成了首次贡献 * @Andrea-Bruno 在 https://github.com/QwenLM/qwen-code/pull/12580 完成了首次贡献 * @Shizoqua 在 https://github.com/QwenLM/qwen-code/pull/13246 完成了首次贡献 * @Shxiao101 在 https://github.com/QwenLM/qwen-code/pull/13141 完成了首次贡献 **完整变更日志**:https://github.com/QwenLM/qwen-code/compare/cua-driver-rs-v0.20.11...desktop-v0.25.0