← 返回更新日志

Qwen Code desktop-v0.24.1

2026-09-19 · GitHub 原文
<!-- 使用 .github/release.yml 中的配置(提交哈希 e443e2d2384e3ba61d783bd96a265082298f4fe8)生成发布说明 --> ## 更新内容 * 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): 在修剪 hook 匹配器时保留转义的后导空白 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 时重新加载 hook 注册表 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 Plan 而非 Coding Plan 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 对比发现的十二项 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 的 Browser 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 应用 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 应用资源加载警告 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/11960 * fix(serve): 当工作区为家目录时,从用户作用域读取频道设置 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): 说明为何审查 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): 当首次提示会话的附加被取代时予以保留 by @cactuser-Lu in https://github.com/QwenLM/qwen-code/pull/12149 * feat(browser-use): 添加 Chrome 原生消息传递中继 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): 在 dimension-agent 简报中填入 PR 工作树的绝对路径 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 终端接纳为浏览器 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): 支持在浏览器中保持实时语音通话连接 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 ## 新贡献者 * @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.1