<!-- 使用 release/v0.24.0-nightly.20260917.f822124af5 分支下 .github/release.yml 中的配置生成发布说明 -->
## 更新内容
* 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): 在移除 smoke 工作区前等待守护进程排空 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12049
* fix(core,cli): 修复 Windows 流水线剩余的 3 项失败测试 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
## 新贡献者
* @Lilian0122 在 https://github.com/QwenLM/qwen-code/pull/11975 中完成了首次贡献
**完整更新日志**: https://github.com/QwenLM/qwen-code/compare/v0.24.0...v0.24.0-nightly.20260917.f822124af5
<!-- Release notes generated using configuration in .github/release.yml at release/v0.24.0-nightly.20260917.f822124af5 -->
## What's Changed
* docs(serve): record merged ACP boundary acceptance by @wenshao in https://github.com/QwenLM/qwen-code/pull/12024
* fix(ci): wait for the published export renderer before packaging the VSIX by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12036
* fix(web-shell): stop dropping the daemon credential on two navigation paths by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12011
* fix(acp): restore managed auto-memory extraction by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12018
* fix(cli): close twelve OpenTUI parity gaps found against ink by @chiga0 in https://github.com/QwenLM/qwen-code/pull/11806
* fix(core): count Stop-hook blocks across tool round trips by @qqqys in https://github.com/QwenLM/qwen-code/pull/12062
* feat(workflows): let agent() narrow a subagent to an explicit tool allowlist by @qqqys in https://github.com/QwenLM/qwen-code/pull/12051
* fix(core): avoid false interruption after completed slash commands by @ytahdn in https://github.com/QwenLM/qwen-code/pull/12052
* test(cli): refresh the loop-guard comments to the shipped mechanism by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12065
* fix(web-shell): restore context usage after page refresh by @ytahdn in https://github.com/QwenLM/qwen-code/pull/12070
* docs(hooks): merge the duplicated Browsing sections by @qqqys in https://github.com/QwenLM/qwen-code/pull/12071
* feat: select the OpenAI wire API per model by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/11538
* fix(desktop): wait out the daemon drain before removing the smoke workspace by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12049
* fix(core,cli): green the Windows lane's three remaining failures by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12063
* fix(ci): wait for the release on npm before dispatching the benchmark by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12086
* feat(core): identify hook invocations in progress events and announce the message bus by @qqqys in https://github.com/QwenLM/qwen-code/pull/12075
* feat(external-context): Support configurable Mem0 providers by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/9952
* fix(extensions): show progress and clear the update flag after an update by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11886
* fix(acp): preserve user resource links in transcript replay by @XIQIXIQIXIQI in https://github.com/QwenLM/qwen-code/pull/12088
* feat(web-shell): support host settings item exclusions by @Lilian0122 in https://github.com/QwenLM/qwen-code/pull/11975
* feat(web-shell): fold oversized pastes into an attachment card by @ytahdn in https://github.com/QwenLM/qwen-code/pull/12084
* feat(browser-use): add Playwright-based Browser SDK by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/11241
* feat(workflows): add a name-only lock that restricts the Workflow tool to named workflows by @qqqys in https://github.com/QwenLM/qwen-code/pull/12078
* fix(core): load system-scope hooks under their own source by @qqqys in https://github.com/QwenLM/qwen-code/pull/12077
* fix(core): report real outcomes from the http, prompt and function hook runners by @qqqys in https://github.com/QwenLM/qwen-code/pull/12081
* fix(core): scrub a known path the filesystem re-spells by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12087
* fix(vscode): reject unsupported IPv6 remote webview URLs by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12092
* feat(web-shell): manage git remotes from the workspace branch picker by @wenshao in https://github.com/QwenLM/qwen-code/pull/11163
* fix(web-shell): alias the tools.workflowNameOnly settings row by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/12100
* test(core): compare hook progress outcomes without the invocation id by @qqqys in https://github.com/QwenLM/qwen-code/pull/12104
* fix(web-shell): alias tools.workflowNameOnly in the settings panel (#12094) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/12103
* docs(core): tell /goal-draft the objective limit propose_goal enforces by @qqqys in https://github.com/QwenLM/qwen-code/pull/12101
* feat(cli): write Goal state records into session exports by @qqqys in https://github.com/QwenLM/qwen-code/pull/12099
* feat(goal): judge terminal proposals from the transcript tail by @qqqys in https://github.com/QwenLM/qwen-code/pull/12105
* fix(cli): prefer per-session cached token count in /context by @kabishou11 in https://github.com/QwenLM/qwen-code/pull/12066
* refactor(goal): stop showing checkpoint health on every surface by @qqqys in https://github.com/QwenLM/qwen-code/pull/12114
## New Contributors
* @Lilian0122 made their first contribution in https://github.com/QwenLM/qwen-code/pull/11975
**Full Changelog**: https://github.com/QwenLM/qwen-code/compare/v0.24.0...v0.24.0-nightly.20260917.f822124af5