<!-- 使用 release/v0.23.5-preview.0 分支中 .github/release.yml 的配置生成的发布说明 -->
## 更新内容
* test: 记录 Windows inode 门控隐藏的内容,并逐一取消跳过 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11853
* fix(cua): 保留 Linux 观测数据和 REPL 诊断信息 by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/11829
* feat(core): 限制每个会话的 web_search 调用次数 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11852
* fix(core)!: 允许 bash 在命令钩子中展开项目目录变量 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11864
* fix(cua): 使 Linux 输入传递自适应 by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/11876
* fix(core): 在管道列表条目边缘保留转义空格 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11860
* docs(hooks): 补全事件目录并更正过时声明 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11863
* chore(pnpm): 更正 range-key 原理说明并覆盖版本并集 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11845
* fix(serve): 从目录中解析技能标识以用于切换守卫 by @harjothkhara in https://github.com/QwenLM/qwen-code/pull/11831
* feat: 跨守护进程和 Web Shell 跟踪后台结果执行 by @ytahdn in https://github.com/QwenLM/qwen-code/pull/11636
* fix(standalone): 打包 @lydell/node-pty 预编译文件以启用 Web 终端 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11881
* test(cli): 在审查清理套件中模拟 realpathSync,使 Windows 上的 cwd 见证生效 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11893
* feat(cli): 在 OpenTUI 中提供完整的 /hooks 对话框 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11903
* feat(core): 发出钩子进度事件 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11906
* feat(extensions): 从扩展中交付动态工作流 by @qqqys in https://github.com/QwenLM/qwen-code/pull/11805
* fix(cua): 限制 Linux 观测数据并准备 SDK 0.20.9 by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/11910
* 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 指令共享每轮次令牌预算 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): 移除未使用的令牌限制镜像 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
**完整更新日志**: https://github.com/QwenLM/qwen-code/compare/v0.23.4...v0.23.5-preview.0
<!-- Release notes generated using configuration in .github/release.yml at release/v0.23.5-preview.0 -->
## What's Changed
* test: record what the Windows inode gates are hiding, and un-skip one by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11853
* fix(cua): preserve Linux observations and REPL diagnostics by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/11829
* feat(core): cap web_search calls per session by @qqqys in https://github.com/QwenLM/qwen-code/pull/11852
* fix(core)!: let bash expand project directory variables in command hooks by @qqqys in https://github.com/QwenLM/qwen-code/pull/11864
* fix(cua): make Linux input delivery adaptive by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/11876
* fix(core): keep escaped whitespace at pipe-list entry edges by @qqqys in https://github.com/QwenLM/qwen-code/pull/11860
* docs(hooks): complete the event catalog and correct stale claims by @qqqys in https://github.com/QwenLM/qwen-code/pull/11863
* chore(pnpm): correct the range-key rationale and cover the version union by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11845
* fix(serve): resolve skill identity from the catalog for toggle guards by @harjothkhara in https://github.com/QwenLM/qwen-code/pull/11831
* feat: track background result execution across daemon and web shell by @ytahdn in https://github.com/QwenLM/qwen-code/pull/11636
* fix(standalone): bundle @lydell/node-pty prebuilds so the web terminal works by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11881
* test(cli): mock realpathSync in the review cleanup suite so the cwd witness holds on Windows by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11893
* feat(cli): full /hooks dialog in OpenTUI by @qqqys in https://github.com/QwenLM/qwen-code/pull/11903
* feat(core): emit hook progress events by @qqqys in https://github.com/QwenLM/qwen-code/pull/11906
* feat(extensions): ship dynamic workflows from extensions by @qqqys in https://github.com/QwenLM/qwen-code/pull/11805
* fix(cua): bound Linux observations and prepare SDK 0.20.9 by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/11910
* fix(cli): scope the ACP permission queue to the session by @chiga0 in https://github.com/QwenLM/qwen-code/pull/11802
* feat(channels): add shared output modes with DingTalk support by @qqqys in https://github.com/QwenLM/qwen-code/pull/11822
* feat(web-shell): slide the active pill between tabs by @callmeYe in https://github.com/QwenLM/qwen-code/pull/11844
* refactor(goal): delete the first-generation Stop-hook Goal implementation by @qqqys in https://github.com/QwenLM/qwen-code/pull/11900
* fix(ci): separate autofix runner labels from queued reviews by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11912
* feat(daemon): enumerate installed extension skills locally by @callmeYe in https://github.com/QwenLM/qwen-code/pull/11281
* feat(web-shell): follow the reading position in the global turn navigation by @callmeYe in https://github.com/QwenLM/qwen-code/pull/11801
* feat(workflows): share a per-turn token budget from a +Nk directive by @qqqys in https://github.com/QwenLM/qwen-code/pull/11917
* feat(serve): add budget-based ACP child admission by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/11911
* feat(cli): add bwrap kernel sandbox backend for Linux by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/11614
* fix(cli): restore shared Skill status and runner CI checks by @qqqys in https://github.com/QwenLM/qwen-code/pull/11933
* fix(vscode): retire legacy ACP input bridges by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11928
* feat(core): support external reasoning profiles and defaults by @callmeYe in https://github.com/QwenLM/qwen-code/pull/11856
* feat(settings): turn cross-session messaging on by default by @qqqys in https://github.com/QwenLM/qwen-code/pull/11840
* fix(web-shell): show Qwen Live tasks in session sidebar by @qqqys in https://github.com/QwenLM/qwen-code/pull/11830
* fix(ci): isolate runner schedule fixture module scope by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/11938
* feat(core): run saved workflows by name and pin workflow grants to script content by @qqqys in https://github.com/QwenLM/qwen-code/pull/11943
* feat(workflow): preserve source references across runs and resumes by @qqqys in https://github.com/QwenLM/qwen-code/pull/11931
* refactor(vscode): remove unused token limit mirror by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11946
* fix(core): carry the PTY load reason on the call, not in module state by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11923
* feat(workflow): correlate agent dispatches and nested workflow calls by @qqqys in https://github.com/QwenLM/qwen-code/pull/11932
* docs(goal): retire the Stop-hook era prose after the implementation was removed by @qqqys in https://github.com/QwenLM/qwen-code/pull/11922
* fix(core): keep escaped trailing whitespace when trimming hook matchers by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11871
* feat(workflows): size guideline, structure preview and large-run warning by @qqqys in https://github.com/QwenLM/qwen-code/pull/11939
* fix(core): expand ${session_id} and stamp User-Agent on the Responses wire by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11947
* feat(workflows): let the model invoke extension workflows that declare whenToUse by @qqqys in https://github.com/QwenLM/qwen-code/pull/11957
* feat(daemon): support summary projection for prompt and replay APIs by @ytahdn in https://github.com/QwenLM/qwen-code/pull/11920
* ci(desktop): publish the desktop app when the CLI releases by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11575
* test(cli): unbreak the bwrap sandbox suites on the Windows lane (#11968) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/11970
* fix(core): keep tool parameters on the MiniMax chat-completions wire by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11842
* fix(web-shell): stop the approval sheet resizing while reading by @ytahdn in https://github.com/QwenLM/qwen-code/pull/11930
* fix(release): gate pool-routed validation jobs on a disk floor by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/11972
* feat(web-shell): add footnote previews and per-turn sources by @callmeYe in https://github.com/QwenLM/qwen-code/pull/11480
* fix(web-shell): preserve separators in tool description paths by @ytahdn in https://github.com/QwenLM/qwen-code/pull/11977
* feat(telemetry): emit a Goal lifecycle event and metrics by @qqqys in https://github.com/QwenLM/qwen-code/pull/11927
* feat(cli): reload hook registry when /hooks opens by @qqqys in https://github.com/QwenLM/qwen-code/pull/11904
* fix(core): persist Goal turn endings outside model history by @qqqys in https://github.com/QwenLM/qwen-code/pull/11924
* feat(serve): reclaim idle ACP children when admission is full by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/11940
* feat(web-shell): connect to a selected remote daemon by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11548
* fix(web-shell): keep the recap below a turn's outputs and dedupe it by @ytahdn in https://github.com/QwenLM/qwen-code/pull/11986
* feat(web-shell): preview files from expanded tool details by @ytahdn in https://github.com/QwenLM/qwen-code/pull/11982
* fix(ci): heal the docker lock cache ownership in e2e-test-linux (#11990) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/11992
* feat(serve): start workflow runs with args, sourceRef and a caller-supplied script by @qqqys in https://github.com/QwenLM/qwen-code/pull/11979
* refactor(serve): separate ACP control plane and channel harness by @wenshao in https://github.com/QwenLM/qwen-code/pull/11916
* fix(cli): register model-invocable commands before headless turns by @qqqys in https://github.com/QwenLM/qwen-code/pull/11994
* fix(vscode): reach the workspace daemon from a remote window's webview by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11983
* feat(web-shell): customize context details and collapse snapshots by @ytahdn in https://github.com/QwenLM/qwen-code/pull/11996
**Full Changelog**: https://github.com/QwenLM/qwen-code/compare/v0.23.4...v0.23.5-preview.0