← 返回更新日志

Qwen Code desktop-v0.24.3

2026-09-21 · GitHub 原文
<!-- Release notes generated using configuration in .github/release.yml at 2800e9bb4f4536f421116a8e1e12740113e1063f --> ## What's Changed * fix(cli): 将 ACP 权限队列的作用域限制在会话内 by @chiga0 in https://github.com/QwenLM/qwen-code/pull/11802 * feat(channels): 新增支持钉钉的共享输出模式 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11822 * feat(web-shell): 在标签页之间滑动显示当前激活的指示条 by @callmeYe in https://github.com/QwenLM/qwen-code/pull/11844 * refactor(goal): 删除第一代 Stop-hook Goal 实现 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11900 * fix(ci): 将自动修复运行器标签与排队审查分离 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11912 * feat(daemon): 本地枚举已安装的扩展技能 by @callmeYe in https://github.com/QwenLM/qwen-code/pull/11281 * feat(web-shell): 在全局轮次导航中跟随阅读位置 by @callmeYe in https://github.com/QwenLM/qwen-code/pull/11801 * feat(workflows): 通过 +Nk 指令共享每轮次 Token 预算 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11917 * feat(serve): 新增基于预算的 ACP 子进程准入机制 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/11911 * feat(cli): 为 Linux 新增 bwrap 内核沙箱后端 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/11614 * fix(cli): 恢复共享 Skill 状态及运行器 CI 检查 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11933 * fix(vscode): 弃用旧版 ACP 输入桥接 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11928 * feat(core): 支持外部推理配置及默认值 by @callmeYe in https://github.com/QwenLM/qwen-code/pull/11856 * feat(settings): 默认开启跨会话消息传递 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11840 * fix(web-shell): 在会话侧边栏显示 Qwen Live 任务 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11830 * fix(ci): 隔离运行器计划测试夹具的模块作用域 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/11938 * feat(core): 按名称运行已保存的工作流,并将工作流权限绑定至脚本内容 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11943 * feat(workflow): 在运行和恢复期间保留源引用 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11931 * refactor(vscode): 移除未使用的 Token 限制镜像 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11946 * fix(core): 将 PTY 加载原因作为参数传递,而非保存在模块状态中 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11923 * feat(workflow): 关联智能体调度与嵌套工作流调用 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11932 * docs(goal): 实现已移除,同步废弃 Stop-hook 时代的文档说明 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11922 * fix(core): 在修剪钩子匹配器时保留转义的后导空格 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11871 * feat(workflows): 新增规模指导、结构预览及大规模运行警告 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11939 * fix(core): 展开 ${session_id} 并在 Responses 协议线上添加 User-Agent by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11947 * feat(workflows): 允许模型调用声明了 whenToUse 的扩展工作流 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11957 * feat(daemon): 为 prompt 和 replay API 支持摘要投影 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/11920 * ci(desktop): CLI 发布时同步发布桌面应用 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11575 * test(cli): 修复 Windows 环境下的 bwrap 沙箱测试套件 (#11968) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/11970 * fix(core): 在 MiniMax chat-completions 协议线上保留工具参数 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11842 * fix(web-shell): 阅读时停止审批面板的自动调整大小 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/11930 * fix(release): 基于磁盘最低容量限制池路由验证任务 by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/11972 * feat(web-shell): 新增脚注预览及每轮次来源 by @callmeYe in https://github.com/QwenLM/qwen-code/pull/11480 * fix(web-shell): 保留工具描述路径中的分隔符 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/11977 * feat(telemetry): 生成 Goal 生命周期事件及指标 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11927 * feat(cli): 打开 /hooks 时重新加载钩子注册表 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11904 * fix(core): 将 Goal 轮次结束状态持久化至模型历史记录之外 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11924 * feat(serve): 准入满载时回收空闲的 ACP 子进程 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/11940 * feat(web-shell): 连接至选定的远程守护进程 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11548 * fix(web-shell): 将摘要保持在轮次输出下方并去重 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/11986 * feat(web-shell): 从展开的工具详情中预览文件 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/11982 * fix(ci): 修复 e2e-test-linux 中的 docker 锁缓存所有权问题 (#11990) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/11992 * feat(serve): 使用参数、sourceRef 及调用方提供的脚本启动工作流运行 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11979 * refactor(serve): 分离 ACP 控制平面与通道组件 by @wenshao in https://github.com/QwenLM/qwen-code/pull/11916 * fix(cli): 在无头轮次执行前注册模型可调用命令 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11994 * fix(vscode): 从远程窗口的 webview 访问工作区守护进程 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11983 * feat(web-shell): 自定义上下文详情并折叠快照 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/11996 * docs(serve): 明确守护进程事件恢复契约 by @wenshao in https://github.com/QwenLM/qwen-code/pull/12015 * test(serve): 强化 REST 文档契约检查 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12009 * feat(goal): 对前台子代理和验证器令牌使用进行计费 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11998 * docs(users): 将新用户引导指向 Token 计划而非 Coding 计划 by @wenshao in https://github.com/QwenLM/qwen-code/pull/11980 * feat(dingtalk): 在私信中携带发送者身份 by @BenGuanRan in https://github.com/QwenLM/qwen-code/pull/12017 * feat(goal): 显示轮次和活跃时间预算 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11999 * fix(cli): 使 ink useBoxMetrics 循环保护机制独立于机器速度 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11835 * fix(ci): 跳过已完成的桌面版发布 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12013 * fix(web-shell): 在独立 Web Shell 中遵循 ui.theme 和 general.language 设置 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11961 * feat(omni): 将多模态媒体管线集成到主分支 by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/12019 * docs(daemon): 完善集成路径指南 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12005 * docs(serve): 记录已合并的 ACP 边界接受情况 by @wenshao in https://github.com/QwenLM/qwen-code/pull/12024 * fix(ci): 在打包 VSIX 前等待已发布的导出渲染器 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12036 * fix(web-shell): 修复在两条导航路径中丢失守护进程凭据的问题 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12011 * fix(acp): 恢复托管的自动记忆提取 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12018 * fix(cli): 修复与 ink 对比发现的 12 项 OpenTUI 功能差异 by @chiga0 in https://github.com/QwenLM/qwen-code/pull/11806 * fix(core): 跨工具往返调用统计 Stop-hook 阻塞 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12062 * feat(workflows): 允许 agent() 将子代理限制为显式工具白名单 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12051 * fix(core): 避免在斜杠命令完成后出现误中断 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/12052 * test(cli): 将循环保护注释刷新为已交付的机制 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12065 * fix(web-shell): 页面刷新后恢复上下文使用 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/12070 * docs(hooks): 合并重复的 Browsing 章节 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12071 * feat: 按模型选择 OpenAI wire API by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/11538 * fix(desktop): 在删除冒烟测试工作区前等待守护进程排空 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12049 * fix(core,cli): 修复 Windows 环境剩余的三项测试失败 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12063 * fix(ci): 在分派基准测试前等待 npm 发布 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12086 * feat(core): 在进度事件中识别钩子调用并公布消息总线 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12075 * feat(external-context): 支持可配置的 Mem0 提供商 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/9952 * fix(extensions): 更新后显示进度并清除更新标志 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11886 * fix(acp): 在回放转录时保留用户资源链接 by @XIQIXIQIXIQI in https://github.com/QwenLM/qwen-code/pull/12088 * feat(web-shell): 支持主机设置项排除 by @Lilian0122 in https://github.com/QwenLM/qwen-code/pull/11975 * feat(web-shell): 将过大粘贴内容折叠为附件卡片 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/12084 * feat(browser-use): 添加基于 Playwright 的浏览器 SDK by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/11241 * feat(workflows): 添加仅名称锁定,限制 Workflow 工具仅用于命名工作流 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12078 * fix(core): 按各自源加载系统范围钩子 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12077 * fix(core): 报告 http、prompt 和 function 钩子运行器的真实结果 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12081 * fix(core): 修复文件系统路径重拼写导致的已知路径问题 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12087 * fix(vscode): 拒绝不支持的 IPv6 远程 webview URL by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12092 * feat(web-shell): 从工作区分支选择器管理 git 远程仓库 by @wenshao in https://github.com/QwenLM/qwen-code/pull/11163 * fix(web-shell): 为 tools.workflowNameOnly 设置项添加别名 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12100 * test(core): 在不包含调用 ID 的情况下比较钩子进度结果 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12104 * fix(web-shell): 在设置面板中为 tools.workflowNameOnly 添加别名 (#12094) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/12103 * docs(core): 告知 /goal-draft propose_goal 强制的目标限制 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12101 * feat(cli): 将 Goal 状态记录写入会话导出 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12099 * feat(goal): 根据对话记录尾部判断终端提案 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12105 * fix(cli): 在 /context 中优先使用按会话缓存的 token 数量 by @kabishou11 in https://github.com/QwenLM/qwen-code/pull/12066 * refactor(goal): 停止在所有界面显示检查点状态 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12114 * feat(web-shell): 添加 PWA 安装支持及 Android 开发终端 by @jabrailkhalil in https://github.com/QwenLM/qwen-code/pull/11722 * fix(core): 在记录的对话中保留 MCP App 的 HTML 以便回放渲染 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12131 * fix(core): 在 V4 限制下解析 DeepSeek 官方 API 的 deepseek-flash 名称 by @he-yufeng in https://github.com/QwenLM/qwen-code/pull/11909 * refactor(goal): 删除证据检查点及目录相关代码 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12120 * refactor(cli): 使用 OpenTUI 已使用的视图绘制 ink Goal 卡片 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12110 * test(serve): 将指南操作绑定到对应的协议章节 by @mohammedmessaoudene-cmd in https://github.com/QwenLM/qwen-code/pull/11808 * fix(core): 在模型名称标准化过程中保留 DeepSeek V4 的生成后缀 by @he-yufeng in https://github.com/QwenLM/qwen-code/pull/12124 * fix(core): 在 isAsyncOperator 中仅将空格/制表符/换行符视为单词分隔符 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11865 * fix(mcp): 显示 MCP App 资源加载警告 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/11960 * fix(serve): 当工作区为 home 时从用户范围读取频道设置 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11083 * fix(core): 从日志历史中清除已删除会话的提示词 by @L4XB in https://github.com/QwenLM/qwen-code/pull/11769 * fix(workflows): 拒绝无日志的恢复请求,并在重启时保持运行的 sourceRef by @qqqys in https://github.com/QwenLM/qwen-code/pull/12097 * refactor(goal): 将 Goal 工具每次模型请求的开销降低五分之二 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12123 * feat(core): 在钩子列表中定义 enabled 和 disabledReason by @qqqys in https://github.com/QwenLM/qwen-code/pull/12139 * test(cli): 在提供商顺序测试中先遍历 Grok 再遍历 MiniMax by @harjothkhara in https://github.com/QwenLM/qwen-code/pull/10089 * feat(core): 导出钩子事件显示元数据及纯超时辅助函数 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12138 * docs(ci): 说明为何 review-pr 扫描需要整个工作区隔离 by @CanReader in https://github.com/QwenLM/qwen-code/pull/10493 * docs(daemon): 完善 REST 集成覆盖说明 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12144 * docs(config): 注明 baseUrl 是托管 OpenAI 兼容网关的 /v1 根路径 (#10362) by @now-ing in https://github.com/QwenLM/qwen-code/pull/11155 * fix(web-shell): 在 attach 被替代时保留首次提示会话 by @cactuser-Lu in https://github.com/QwenLM/qwen-code/pull/12149 * feat(browser-use): 添加 Chrome Native Messaging 中继 by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/11242 * fix(goal): 说明恢复过程中跳过了哪些较新记录 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12148 * fix(review): 将 PR worktree 绝对路径放入 dimension-agent 简报 by @kabishou11 in https://github.com/QwenLM/qwen-code/pull/11926 * feat(workflows): 为每次运行记录检查点,并展示被重启中断的运行 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12159 * fix(web-shell): 允许在会话创建期间进行顺序 SDK 请求 by @shenyankm in https://github.com/QwenLM/qwen-code/pull/11913 * feat(web-shell): 从结构化元数据渲染压缩结果 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/12141 * test(sdk): 按消息验证内容块停止行为 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12158 * feat(core): 为子代理添加容器执行支持 by @wenshao in https://github.com/QwenLM/qwen-code/pull/11711 * feat(web-shell): 跨所有分支以车道图形式绘制提交历史并支持搜索 by @wenshao in https://github.com/QwenLM/qwen-code/pull/12152 * refactor(goal): 停止恢复在 Goal 状态记录之前记录的 Goal by @qqqys in https://github.com/QwenLM/qwen-code/pull/12155 * feat(live): 将 Web Shell 接纳为浏览器 Live Host by @qqqys in https://github.com/QwenLM/qwen-code/pull/12166 * fix(web-shell): 缩小画布时保持 mermaid 画布位置固定 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/12177 * fix(core): 停止在会话恢复中标记未回复的通知 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12007 * fix(cli): 将完整轮次的工具取消操作排除在错误路径之外 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11154 * feat(web-shell): 添加每轮满意/不满意标记 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/12174 * feat(live): 从 realtimeOnly modelProviders 路由解析 Live Voice 模型 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12173 * refactor(goal)!: 停止触发 active_goal 流事件 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12181 * feat(web-shell): 随 CLI 版本发布该包 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12178 * refactor(goal): 在 ACP 线上保留一个 Goal 卡片并为其命名模块 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12187 * perf(core): 为扩展目录路由实现仅清单刷新 by @callmeYe in https://github.com/QwenLM/qwen-code/pull/12153 * feat(core): 从常驻工具集组装系统提示词 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12145 * feat(web-shell): 支持在浏览器中保持 Live Voice 语音通话 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12189 * refactor(goal): 通过核心阅读器读取不可读状态的运行卡片 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12194 * fix(release): 暂时暂停 web-shell 的发布 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12202 * test(core): 在 authoring-hint 测试中恢复前等待完整运行退出 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12196 * feat(web-shell): 在状态栏显示 Goal 的回合数和活跃时间上限 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12201 * feat(serve): 允许用户停止工作区运行时以释放 ACP 容量 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/12008 * fix(core): 按字节长度解析 LSP 帧,防止非 ASCII 响应被丢弃 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12210 * fix(desktop): 将 node-pty 预构建文件打包到捆绑运行时中 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12225 * docs(verify-pr): 添加本地后续发现、发布路径和构建配方 by @wenshao in https://github.com/QwenLM/qwen-code/pull/12232 * feat(web-shell): 将 Plan 入口移至 composer 添加菜单 by @wenshao in https://github.com/QwenLM/qwen-code/pull/12218 * fix(ci): 回收 Docker 缓存并清理 review 临时目录 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12135 * fix(core): 处理权限规则中的简单 Bash 注释 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12096 * fix(ci): 向失败监视器的 job-log 下载传递 --allow-escape-sequences 参数 by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/12117 * feat(web-shell): 恢复远程工作区添加流程 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12085 * feat(web-shell): 公开助手回合结算生命周期 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11251 * fix(cli): 对未决工作区要求显式信任 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12198 * fix(web-shell): 使发布的包对消费者可解析 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12188 * docs(session-recovery): 将 shape-B 声明与已落地的 provenance 通道同步 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12203 * docs(vscode): 记录远程 webview URL 拒绝带方括号的 IPv6 字面量的原因 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12140 * fix(web-shell): 为活跃的 Plan 芯片使用中性色 by @wenshao in https://github.com/QwenLM/qwen-code/pull/12241 * feat(core): 添加 bwrap 执行基础 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/12067 * fix(web-shell): 为 Git 模式芯片使用中性色 by @wenshao in https://github.com/QwenLM/qwen-code/pull/12251 * fix(cli): 使 /context 分类累加至提供者的总量 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12119 * test(ci): 在 yaml 导入 ratchet 中覆盖 review-scratch 套件 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12259 * test(core): 在 win32 上保持 scp 风格的移除见证逻辑 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12263 * refactor(web-shell): 简化远程工作区流程 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12264 * fix(ci): 重试一次瞬态 E2E 构建工件下载失败问题 (#12125) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/12128 * fix(web-shell): 当 Plan 芯片消失时移交键盘焦点 by @wenshao in https://github.com/QwenLM/qwen-code/pull/12248 * fix(web-shell): 在窄面板中限制内联消息编辑器的显示 by @Lilian0122 in https://github.com/QwenLM/qwen-code/pull/12175 * test(core): 在 win32 上跳过 bwrap 执行套件 (#12281) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/12282 * ci(shepherd): 关闭合并后不会有任何更改的机器人 PR by @wenshao in https://github.com/QwenLM/qwen-code/pull/12150 * ci(pnpm): 全面使用 pnpm 安装并弃用 package-lock.json by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11859 * feat(web-shell): 从设置卡片中选择 Live Voice 模型和语音 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12199 * feat(web-shell): 将 slash-command 导出公开为工件 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/12050 * feat(browser-use): 支持共享 Chrome 配置文件的并发会话 by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/12229 * docs(serve): 记录 ACP 子堆校准 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/12265 * fix(export): 提高转录增长时的文档运行时预算 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12298 * feat(web-shell): 简化移动端 composer 操作 by @wenshao in https://github.com/QwenLM/qwen-code/pull/12252 * fix(web-shell): 将 Live Voice 字符串排除在导出的 transcript 渲染器之外 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12305 * test(web-shell): 在构建的 transcript 包上保护 Live 字符串,而非源代码树 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12316 * fix(web-shell): 将 Live Voice 入口保留在 live boundary 中 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12319 * feat(cli,docs): 将每个上下文文件归属到其扩展名,并说明单个文件的成本 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12318 * fix(core): 隐藏不可用的图像缩放指引 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12271 * fix(core): 限制队友指引和大工具界面的预算 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12142 * feat(core): 根据目标会话判断每条入站跨会话消息 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12292 * feat(web-shell): 在新页面中打开链接产物 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/12317 * feat(web-shell): 在浏览器实时语音通话期间显示麦克风音量 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12294 * feat(acp-bridge): 在分页转录回放中显示请求和工具耗时 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12304 * feat(serve): 从持久化历史记录中重试和重新运行工作流 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12291 * feat(web-shell): 将工作区和 Git 标签移出组合器工具栏 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/12299 * fix(web-shell): 避免不必要的表格水平滚动 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/12312 * refactor(browser-use): 接受一组 Chrome 扩展 ID by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/12300 * feat(core,docs): 添加条件扩展规则并限制上下文警告 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12034 * test(core): 报告工具表面配置实际限制的内容 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12346 * fix(web-shell): 根据 npm pack 列表校验发布产物 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12343 * feat(web-shell): 将分页转录事件投影到轨迹中 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12337 * feat(core): 为延迟工具保留提示词缓存 by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/10410 * feat(core): 允许后台轮次携带来自其他会话的消息 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12342 * fix(workflows): 原子化写入运行快照 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12341 * feat(web-shell): 使用 AudioWorklet 捕获实时语音麦克风 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12338 * feat(core): 通过 bwrap 路由运行时工具 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/12269 * fix(review): 限制在挂载外保留状态时的基础树复用 by @wenshao in https://github.com/QwenLM/qwen-code/pull/11540 * feat(review): 在关键状态下将重新审查轮次切换为修复审计形状 by @wenshao in https://github.com/QwenLM/qwen-code/pull/10136 * perf(sdk): 按解析后的 URL 对进行中的工作区提供程序请求去重 by @Willam2004 in https://github.com/QwenLM/qwen-code/pull/12327 * feat(chrome-extension): 将扩展发布到 Chrome 应用商店 by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/12329 * docs(chrome): 披露浏览器数据处理及有限使用情况 by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/12330 * feat(web-shell): 支持主机设置项的白名单 by @Lilian0122 in https://github.com/QwenLM/qwen-code/pull/12328 * fix(web-shell): 恢复移动端历史记录导航 by @wenshao in https://github.com/QwenLM/qwen-code/pull/12362 * fix(workflows): 在注册前写入恢复运行的检查点 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12347 * fix(live): 当实时语音因非 Error 类型原因启动失败时报告具体原因 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12377 * fix(core): 拒绝支持广播的钩子进程 ID (PID) by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12344 * feat(java): 添加托管运行时状态基础 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/12301 * fix(web-shell): 防止标题显示新建会话占位符 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/12379 * feat(core): 添加托管会话记录基础 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/12302 * feat(live): 允许浏览器主机响应来自共享屏幕的屏幕请求 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12378 * fix(ci): 在 e2e.yml 安装步骤中重试瞬态 npm ci 失败 (#11726) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/11731 * fix(release): 重试瞬态独立运行时下载 (#11870) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/11879 * feat(serve): 让频道分组接受所有权提示并跳过可容忍的名称 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12383 * fix(cli): 当输出语言文件不可写时不导致启动崩溃 (#10453) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/10455 * fix(serve): 告知客户端哪些历史记录条目无法重试 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12349 * perf(cli): 优化一次性无头执行 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12340 * feat(serve): 启动时恢复每个受信任工作区各自的 serve.channels by @qqqys in https://github.com/QwenLM/qwen-code/pull/12385 * feat(java): 添加 JDBC 绑定与会话持久化 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/12390 * feat(web-shell): 展示结构化的 Shell 执行结果 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/12311 * feat(web-shell): 展示运行耗时分布的轨迹表格 by @qqqys in https://github.com/QwenLM/qwen-code/pull/12388 * feat(desktop): 集成 macOS 标题栏 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12393 * test(integration): 在 SDK 端到端测试中支持延迟 MCP 工具调用 by @dvd233 in https://github.com/QwenLM/qwen-code/pull/12365 * feat(serve): 定义托管测试框架私有协议 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/12409 * test(cli): 防止环境中的 GIT_CONFIG_GLOBAL 劫持 withHome by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12407 * fix(release): 恢复自动化 web-shell 发布 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12387 * feat(core): 在系统提示词指导中添加监控工具 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12408 * feat(daemon):添加批量工作区会话目录 by @samuelhsin in https://github.com/QwenLM/qwen-code/pull/12254 * refactor(build,release):使用 pnpm workspace 进行构建和发布 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12400 ## 新增贡献者 * @Lilian0122 在 https://github.com/QwenLM/qwen-code/pull/11975 中首次贡献 * @jabrailkhalil 在 https://github.com/QwenLM/qwen-code/pull/11722 中首次贡献 * @mohammedmessaoudene-cmd 在 https://github.com/QwenLM/qwen-code/pull/11808 中首次贡献 * @L4XB 在 https://github.com/QwenLM/qwen-code/pull/11769 中首次贡献 **完整更新日志**:https://github.com/QwenLM/qwen-code/compare/cua-driver-rs-v0.20.9...desktop-v0.24.3