<!-- qwen-release-notes:v1 -->
## 亮点
_详见下方的完整变更列表。_
## 破坏性变更
暂无已知的破坏性变更。
## 完整变更列表
### 新功能
- feat(core): 扩展 Kimi、Qwen 和 DeepSeek 推理预设 ([#11349](https://github.com/QwenLM/qwen-code/pull/11349)) by @callmeYe
- feat(sessions): 记录注册的会话类型,并文档化注册表与 wire 契约 ([#11463](https://github.com/QwenLM/qwen-code/pull/11463)) by @qqqys
- feat(web-shell): 在处理后的摘要外部保留已回答问题可见 ([#11461](https://github.com/QwenLM/qwen-code/pull/11461)) by @ytahdn
- feat(web-shell): 改进会话概览导航与详情 ([#11238](https://github.com/QwenLM/qwen-code/pull/11238)) by @wenshao
- feat(core): 新增 OpenAI Responses API 内容生成器 ([#8169](https://github.com/QwenLM/qwen-code/pull/8169)) by @netbrah
- feat(providers): 优先显示最新发现的模型 ([#11449](https://github.com/QwenLM/qwen-code/pull/11449)) by @qqqys
- feat(web-shell): 新增统一会话来源 ([#11262](https://github.com/QwenLM/qwen-code/pull/11262)) by @callmeYe
- feat: 通过 ACP 将子代理回合委托给外部代理(优先支持 Claude Code) ([#11003](https://github.com/QwenLM/qwen-code/pull/11003)) by @wenshao
- feat(web-shell): 使产品名称和 Logo 可配置 ([#11244](https://github.com/QwenLM/qwen-code/pull/11244)) by @wenshao
- feat(autofix): 在修复审查提交前运行一次有界自检 (A/B) ([#11516](https://github.com/QwenLM/qwen-code/pull/11516)) by @wenshao
- feat(acp): 在会话注册表中注册守护进程管理的会话,并允许其发送对等消息 ([#11488](https://github.com/QwenLM/qwen-code/pull/11488)) by @qqqys
- feat(web-shell): 将用户消息中的 URL 渲染为可点击链接 ([#11464](https://github.com/QwenLM/qwen-code/pull/11464)) by @wenshao
- feat(serve): 默认支持 256 个工作区 ([#11515](https://github.com/QwenLM/qwen-code/pull/11515)) by @doudouOUC
### 缺陷修复
- fix(goal): 重试超出声明预算的检查点,而非消耗停滞时间 ([#11365](https://github.com/QwenLM/qwen-code/pull/11365)) by @qqqys
- fix(dws): 转发 Aone 沙箱标识符 ([#11462](https://github.com/QwenLM/qwen-code/pull/11462)) by @qqqys
- fix(cli): 在测试间静默处理 fire-and-forget serve 处理器 (#11346) ([#11362](https://github.com/QwenLM/qwen-code/pull/11362)) by @qwen-code-dev-bot
- fix(serve): 重新连接被驱逐的 SSE 客户端 ([#11467](https://github.com/QwenLM/qwen-code/pull/11467)) by @yiliang114
- fix(ci): 将 PR 创建与发布错开以避免二级速率限制 ([#11444](https://github.com/QwenLM/qwen-code/pull/11444)) by @yiliang114
- fix(cua): 保留降级 UIAccess 响应 ([#11479](https://github.com/QwenLM/qwen-code/pull/11479)) by @LaZzyMan
- fix(release): 将 Debian 11 仓库固定到一致的快照 ([#11487](https://github.com/QwenLM/qwen-code/pull/11487)) by @LaZzyMan
- fix(web-shell): 在紧凑页脚断点处隐藏侧边栏版本标签 ([#11470](https://github.com/QwenLM/qwen-code/pull/11470)) by @yiliang114
- fix(permissions): 为复合和虚拟操作 shell 拒绝引用匹配的拒绝规则 ([#11411](https://github.com/QwenLM/qwen-code/pull/11411)) by @yiliang114
- fix(core): 拒绝已预中止的排队工具请求 ([#11483](https://github.com/QwenLM/qwen-code/pull/11483)) by @lorenzozanee
- fix(web-shell): 避免重复冷会话恢复 ([#11413](https://github.com/QwenLM/qwen-code/pull/11413)) by @wenshao
- fix(core): 在历史合并期间保留每个推理片段的签名 ([#8260](https://github.com/QwenLM/qwen-code/pull/8260)) by @netbrah
- fix(dws): 重试已完成响应的交付 ([#11387](https://github.com/QwenLM/qwen-code/pull/11387)) by @qqqys
- fix(core): 通过内置 ConPTY 托管 Windows shell PTY 以防止 conhost.exe 孤立 ([#11497](https://github.com/QwenLM/qwen-code/pull/11497)) by @yiliang114
- fix(web-shell): 恢复独立页眉和滚动按钮样式 ([#11517](https://github.com/QwenLM/qwen-code/pull/11517)) by @ytahdn
- fix(desktop): 解除 macOS 和 Linux 桌面打包阻塞 ([#11518](https://github.com/QwenLM/qwen-code/pull/11518)) by @yiliang114
- fix(review): 将携带的发现回复至对应线程,并解决已修复项 ([#9940](https://github.com/QwenLM/qwen-code/pull/9940)) by @wenshao
- fix(desktop): 使发布测试与新签名步骤对齐 ([#11522](https://github.com/QwenLM/qwen-code/pull/11522)) by @yiliang114
- fix(bridge): 在刷新会话加载期间保持待处理的权限/问题 ([#11468](https://github.com/QwenLM/qwen-code/pull/11468)) by @wenshao
- fix(export): 恢复文档运行时预算余量 ([#11372](https://github.com/QwenLM/qwen-code/pull/11372)) by @yiliang114
- fix(core): 保留 Responses 流错误详情 ([#11523](https://github.com/QwenLM/qwen-code/pull/11523)) by @tanzhenxin
- fix(core): 在 Windows 上每次 PTY 后释放 node-pty 的 conout 工作进程 ([#11313](https://github.com/QwenLM/qwen-code/pull/11313)) by @yiliang114
- fix(web-shell): 使工作区提供程序守卫具备自诊断功能,并在根重试时重新加载 ([#11421](https://github.com/QwenLM/qwen-code/pull/11421)) by @wenshao
- fix(web-shell): 将计划任务行图标移至尾部元数据槽位 ([#11356](https://github.com/QwenLM/qwen-code/pull/11356)) by @qqqys
- fix(vscode): 在面板中恢复切换前的对话历史 ([#11495](https://github.com/QwenLM/qwen-code/pull/11495)) by @yiliang114
- fix(ci): 记录 qwen-autofix.yml 尺寸漂移,累计两个在允许范围内的 PR (#11529) ([#11537](https://github.com/QwenLM/qwen-code/pull/11537)) by @qwen-code-dev-bot
- fix(web-shell): 使两个套件与已发布行为对齐以修复主 CI (#11525) ([#11530](https://github.com/QwenLM/qwen-code/pull/11530)) by @qwen-code-dev-bot
- fix(ci): 为打包检查授予其调用者声明的权限 ([#11532](https://github.com/QwenLM/qwen-code/pull/11532)) by @yiliang114
- fix(dev): 在工作树初始化期间安装钩子 ([#11496](https://github.com/QwenLM/qwen-code/pull/11496)) by @yiliang114
- fix(review): 通过并行工作流分发审查代理 ([#11524](https://github.com/QwenLM/qwen-code/pull/11524)) by @wenshao
- fix(vscode): 保留活动文件排除设置 ([#11568](https://github.com/QwenLM/qwen-code/pull/11568)) by @yiliang114
- fix(cli): 当一轮交互出错时清空通知队列 ([#11559](https://github.com/QwenLM/qwen-code/pull/11559)) by @yiliang114
- fix(review): 将主机信任状态隔离在容器的可写区域之外 ([#9983](https://github.com/QwenLM/qwen-code/pull/9983)) by @wenshao
- fix(acp): 将 Shell 执行配置传递给工具调用 ([#11102](https://github.com/QwenLM/qwen-code/pull/11102)) by @yiliang114
### 性能
- perf(export): 将转录渲染器嵌入的 CSS 拆分为带版本号的静态资源 ([#11485](https://github.com/QwenLM/qwen-code/pull/11485)) by @yiliang114
### 文档
- docs: 在 README 中高亮显示 Qwen Code 接口 ([#11491](https://github.com/QwenLM/qwen-code/pull/11491)) by @pomelo-nwu
- docs(daemon): 添加 REST 集成入口点,并对路由暴露面进行防护 ([#11477](https://github.com/QwenLM/qwen-code/pull/11477)) by @yiliang114
### 内部变更
- refactor(cli): 移除旧的 Goal Stop 钩子连接逻辑 ([#11459](https://github.com/QwenLM/qwen-code/pull/11459)) by @qqqys
- refactor(core): 停止通过旧的 Stop 钩子路由 Goal 交互轮次 ([#11458](https://github.com/QwenLM/qwen-code/pull/11458)) by @qqqys
- test(channels): 规范化恢复的工作树测试用例路径 ([#11476](https://github.com/QwenLM/qwen-code/pull/11476)) by @yiliang114
- ci(desktop): 定期执行桌面端打包测试 ([#11519](https://github.com/QwenLM/qwen-code/pull/11519)) by @yiliang114
- test(integration): 修复 /compress E2E 事件预算测试的不稳定问题 (#11088) ([#11094](https://github.com/QwenLM/qwen-code/pull/11094)) by @qwen-code-dev-bot
- test(core): 补充内置 ConPTY 回退机制及终端回复的测试覆盖 ([#11555](https://github.com/QwenLM/qwen-code/pull/11555)) by @yiliang114
## 新贡献者
- @lorenzozanee 在 [#11483](https://github.com/QwenLM/qwen-code/pull/11483) 中完成了首次贡献
**完整更新日志**: https://github.com/QwenLM/qwen-code/compare/v0.23.2...v0.23.3
<!-- qwen-release-notes:v1 -->
## Highlights
_See the complete change list below._
## Breaking Changes
No known breaking changes.
## Complete Change List
### Features
- feat(core): expand Kimi, Qwen and DeepSeek reasoning presets ([#11349](https://github.com/QwenLM/qwen-code/pull/11349)) by @callmeYe
- feat(sessions): record what kind of session registered, and document the registry and wire contract ([#11463](https://github.com/QwenLM/qwen-code/pull/11463)) by @qqqys
- feat(web-shell): keep answered questions visible outside processed summaries ([#11461](https://github.com/QwenLM/qwen-code/pull/11461)) by @ytahdn
- feat(web-shell): improve session overview navigation and details ([#11238](https://github.com/QwenLM/qwen-code/pull/11238)) by @wenshao
- feat(core): add OpenAI Responses API content generator ([#8169](https://github.com/QwenLM/qwen-code/pull/8169)) by @netbrah
- feat(providers): show newest discovered models first ([#11449](https://github.com/QwenLM/qwen-code/pull/11449)) by @qqqys
- feat(web-shell): add unified session sources ([#11262](https://github.com/QwenLM/qwen-code/pull/11262)) by @callmeYe
- feat: delegate a subagent turn to an external agent over ACP (Claude Code first) ([#11003](https://github.com/QwenLM/qwen-code/pull/11003)) by @wenshao
- feat(web-shell): make the product name and logo configurable ([#11244](https://github.com/QwenLM/qwen-code/pull/11244)) by @wenshao
- feat(autofix): run one bounded self-review before an address-review commit (A/B) ([#11516](https://github.com/QwenLM/qwen-code/pull/11516)) by @wenshao
- feat(acp): register daemon-managed sessions in the session registry and let them send peer messages ([#11488](https://github.com/QwenLM/qwen-code/pull/11488)) by @qqqys
- feat(web-shell): render URLs in user messages as clickable links ([#11464](https://github.com/QwenLM/qwen-code/pull/11464)) by @wenshao
- feat(serve): support 256 workspaces by default ([#11515](https://github.com/QwenLM/qwen-code/pull/11515)) by @doudouOUC
### Bug Fixes
- fix(goal): retry a checkpoint that overran the claim budget instead of spending a stall ([#11365](https://github.com/QwenLM/qwen-code/pull/11365)) by @qqqys
- fix(dws): forward Aone sandbox identifier ([#11462](https://github.com/QwenLM/qwen-code/pull/11462)) by @qqqys
- fix(cli): quiesce a fire-and-forget serve handler across tests (#11346) ([#11362](https://github.com/QwenLM/qwen-code/pull/11362)) by @qwen-code-dev-bot
- fix(serve): reconnect evicted SSE clients ([#11467](https://github.com/QwenLM/qwen-code/pull/11467)) by @yiliang114
- fix(ci): space PR creation from release to avoid secondary rate limit ([#11444](https://github.com/QwenLM/qwen-code/pull/11444)) by @yiliang114
- fix(cua): preserve degraded UIAccess responses ([#11479](https://github.com/QwenLM/qwen-code/pull/11479)) by @LaZzyMan
- fix(release): pin Debian 11 repositories to a coherent snapshot ([#11487](https://github.com/QwenLM/qwen-code/pull/11487)) by @LaZzyMan
- fix(web-shell): hide the sidebar version label at the compact footer breakpoint ([#11470](https://github.com/QwenLM/qwen-code/pull/11470)) by @yiliang114
- fix(permissions): cite matching deny rule for compound and virtual-op shell denials ([#11411](https://github.com/QwenLM/qwen-code/pull/11411)) by @yiliang114
- fix(core): reject pre-aborted queued tool requests ([#11483](https://github.com/QwenLM/qwen-code/pull/11483)) by @lorenzozanee
- fix(web-shell): avoid duplicate cold session restoration ([#11413](https://github.com/QwenLM/qwen-code/pull/11413)) by @wenshao
- fix(core): preserve every reasoning episode's signature during history consolidation ([#8260](https://github.com/QwenLM/qwen-code/pull/8260)) by @netbrah
- fix(dws): retry completed response delivery ([#11387](https://github.com/QwenLM/qwen-code/pull/11387)) by @qqqys
- fix(core): host Windows shell PTYs via bundled ConPTY to stop orphaning conhost.exe ([#11497](https://github.com/QwenLM/qwen-code/pull/11497)) by @yiliang114
- fix(web-shell): restore standalone header and scroll button styles ([#11517](https://github.com/QwenLM/qwen-code/pull/11517)) by @ytahdn
- fix(desktop): unblock macOS and Linux desktop packaging ([#11518](https://github.com/QwenLM/qwen-code/pull/11518)) by @yiliang114
- fix(review): reply carried findings into their thread, resolve fixed ones ([#9940](https://github.com/QwenLM/qwen-code/pull/9940)) by @wenshao
- fix(desktop): realign the release test with the new signing step ([#11522](https://github.com/QwenLM/qwen-code/pull/11522)) by @yiliang114
- fix(bridge): keep pending permission/question across refreshed session loads ([#11468](https://github.com/QwenLM/qwen-code/pull/11468)) by @wenshao
- fix(export): restore document runtime budget headroom ([#11372](https://github.com/QwenLM/qwen-code/pull/11372)) by @yiliang114
- fix(core): preserve Responses stream error details ([#11523](https://github.com/QwenLM/qwen-code/pull/11523)) by @tanzhenxin
- fix(core): release node-pty's conout worker after every PTY on Windows ([#11313](https://github.com/QwenLM/qwen-code/pull/11313)) by @yiliang114
- fix(web-shell): make the workspace provider guard self-diagnosing and reload on root retry ([#11421](https://github.com/QwenLM/qwen-code/pull/11421)) by @wenshao
- fix(web-shell): move scheduled task row icon into trailing meta slot ([#11356](https://github.com/QwenLM/qwen-code/pull/11356)) by @qqqys
- fix(vscode): restore pre-cutover conversation history in the panel ([#11495](https://github.com/QwenLM/qwen-code/pull/11495)) by @yiliang114
- fix(ci): record the qwen-autofix.yml size drift two in-allowance PRs accumulated (#11529) ([#11537](https://github.com/QwenLM/qwen-code/pull/11537)) by @qwen-code-dev-bot
- fix(web-shell): realign two suites with shipped behavior to unbreak main CI (#11525) ([#11530](https://github.com/QwenLM/qwen-code/pull/11530)) by @qwen-code-dev-bot
- fix(ci): grant the packaging check the permissions its callee declares ([#11532](https://github.com/QwenLM/qwen-code/pull/11532)) by @yiliang114
- fix(dev): install hooks during worktree bootstrap ([#11496](https://github.com/QwenLM/qwen-code/pull/11496)) by @yiliang114
- fix(review): dispatch review agents through parallel workflows ([#11524](https://github.com/QwenLM/qwen-code/pull/11524)) by @wenshao
- fix(vscode): preserve active file exclusion ([#11568](https://github.com/QwenLM/qwen-code/pull/11568)) by @yiliang114
- fix(cli): drain notification queue when a turn errors out ([#11559](https://github.com/QwenLM/qwen-code/pull/11559)) by @yiliang114
- fix(review): keep host-trusted state out of the container's writable surface ([#9983](https://github.com/QwenLM/qwen-code/pull/9983)) by @wenshao
- fix(acp): pass shell execution config to tool invocations ([#11102](https://github.com/QwenLM/qwen-code/pull/11102)) by @yiliang114
### Performance
- perf(export): split the transcript renderer's embedded CSS into a versioned asset ([#11485](https://github.com/QwenLM/qwen-code/pull/11485)) by @yiliang114
### Documentation
- docs: highlight Qwen Code interfaces in the README ([#11491](https://github.com/QwenLM/qwen-code/pull/11491)) by @pomelo-nwu
- docs(daemon): add a REST integration entry point, guarded against the route surface ([#11477](https://github.com/QwenLM/qwen-code/pull/11477)) by @yiliang114
### Internal Changes
- refactor(cli): drop the legacy Goal Stop-hook plumbing ([#11459](https://github.com/QwenLM/qwen-code/pull/11459)) by @qqqys
- refactor(core): stop routing Goal turns through the legacy Stop hook ([#11458](https://github.com/QwenLM/qwen-code/pull/11458)) by @qqqys
- test(channels): canonicalize restored worktree fixture paths ([#11476](https://github.com/QwenLM/qwen-code/pull/11476)) by @yiliang114
- ci(desktop): exercise desktop packaging on a schedule ([#11519](https://github.com/QwenLM/qwen-code/pull/11519)) by @yiliang114
- test(integration): deflake the /compress E2E event budget (#11088) ([#11094](https://github.com/QwenLM/qwen-code/pull/11094)) by @qwen-code-dev-bot
- test(core): cover bundled ConPTY fallback and terminal replies ([#11555](https://github.com/QwenLM/qwen-code/pull/11555)) by @yiliang114
## New Contributors
- @lorenzozanee made their first contribution in [#11483](https://github.com/QwenLM/qwen-code/pull/11483)
**Full Changelog**: https://github.com/QwenLM/qwen-code/compare/v0.23.2...v0.23.3