← 返回更新日志

Qwen Code v0.15.0-preview.1 预发布

2026-04-21 · GitHub 原文
## 更新内容 * feat(acp): 为 ACP 集成添加完整的钩子支持 by @DennisYu07 在 https://github.com/QwenLM/qwen-code/pull/3248 * feat: 优化紧凑模式用户体验 — 快捷键、设置同步与安全性 by @chiga0 在 https://github.com/QwenLM/qwen-code/pull/3100 * feat(hooks): 添加 HTTP 钩子、函数钩子和异步钩子支持 by @DennisYu07 在 https://github.com/QwenLM/qwen-code/pull/2827 * fix(sdk): 避免在 ProcessTransport 中泄漏进程退出监听器 by @reidliu41 在 https://github.com/QwenLM/qwen-code/pull/3295 * fix(cli): 防止 statusline 生成 EBADF 导致 CLI 崩溃 (#3264) by @wenshao 在 https://github.com/QwenLM/qwen-code/pull/3310 * fix(cli): 在摘要更改前保持“开始新聊天会话”状态 by @reidliu41 在 https://github.com/QwenLM/qwen-code/pull/3308 * feat(memory): 实现托管式自动记忆与自动梦境系统 by @LaZzyMan 在 https://github.com/QwenLM/qwen-code/pull/3087 * fix(cli): 将更新通知延迟至模型响应完成后显示 by @pic4xiu 在 https://github.com/QwenLM/qwen-code/pull/3321 * test(core): 稳定 glob 截断相关测试 by @reidliu41 在 https://github.com/QwenLM/qwen-code/pull/3322 * docs: 修复 Windows 安装命令以同时兼容 CMD 和 PowerShell by @Skyline-9 在 https://github.com/QwenLM/qwen-code/pull/3252 * feat(cli): 支持多行状态栏输出 by @wenshao 在 https://github.com/QwenLM/qwen-code/pull/3311 * fix(core): 限制技能监听器深度以防止文件描述符耗尽 by @tanzhenxin 在 https://github.com/QwenLM/qwen-code/pull/3320 * fix(core): 切换模型时从历史记录中移除思考块 by @tanzhenxin 在 https://github.com/QwenLM/qwen-code/pull/3315 * docs: 更新认证方法以反映 OAuth 已停用 by @joeytoday 在 https://github.com/QwenLM/qwen-code/pull/3325 * fix(core): 添加 Shell 参数引号使用指南以防止特殊字符错误 by @LaZzyMan 在 https://github.com/QwenLM/qwen-code/pull/3327 * refactor(core): 将 fork 子代理参数从 execute() 移至构造阶段 by @tanzhenxin 在 https://github.com/QwenLM/qwen-code/pull/3255 * feat(skills): 添加 /batch 技能以支持并行批处理操作 by @doudouOUC 在 https://github.com/QwenLM/qwen-code/pull/3079 * feat: 支持无头模式及 SDK 的后台子代理 by @tanzhenxin 在 https://github.com/QwenLM/qwen-code/pull/3076 * feat(core): 从 .qwen/rules/ 添加基于路径的上下文规则注入 by @wenshao 在 https://github.com/QwenLM/qwen-code/pull/3339 * test(integration): 在交互式测试中适配新的 cron 通知格式 by @tanzhenxin 在 https://github.com/QwenLM/qwen-code/pull/3402 * feat(cli): 为 TUI 添加双输出边车模式 by @chiga0 在 https://github.com/QwenLM/qwen-code/pull/3352 * feat: 将 `M-d` 绑定至合理(类 Emacs)的默认值 by @pedrormjunior 在 https://github.com/QwenLM/qwen-code/pull/3358 * fix(cli): 减少终端重绘时的光标移动 by @reidliu41 在 https://github.com/QwenLM/qwen-code/pull/3381 * fix(dingtalk): 仅在续传数据块后追加 '(cont.)' 后缀,而非首块 by @chinesepowered 在 https://github.com/QwenLM/qwen-code/pull/2977 * fix(dingtalk): 移除 @mention 后保留空文本而非回退 by @chinesepowered 在 https://github.com/QwenLM/qwen-code/pull/2978 * fix(dingtalk): 移除 reactionContext 映射以阻止被拦截消息的内存泄漏 by @chinesepowered 在 https://github.com/QwenLM/qwen-code/pull/2979 * fix(sandbox): 当镜像名称无冒号时回退至 'latest' 标签 by @chinesepowered 在 https://github.com/QwenLM/qwen-code/pull/2962 * fix(scripts): 清理脚本中移除重复的 bundle rmSync 调用 by @chinesepowered 在 https://github.com/QwenLM/qwen-code/pull/2964 * fix(integration-tests): 遵循 stdinDoesNotEnd 选项 by @chinesepowered 在 https://github.com/QwenLM/qwen-code/pull/2966 * fix(scripts): 修复无描述枚举设置生成的 JSON schema 中的 `"undefined Options: ..."` 问题 by @chinesepowered 在 https://github.com/QwenLM/qwen-code/pull/2963 * fix(text-buffer): 统一偏移量到位置的转换逻辑 by @chinesepowered 在 https://github.com/QwenLM/qwen-code/pull/2969 * fix(weixin): 检查完整的 4 字节 PNG 魔数签名 by @chinesepowered 在 https://github.com/QwenLM/qwen-code/pull/2970 * fix(cli): 崩溃后重建 AcpBridge 时重新注册断开连接监听器 by @chinesepowered 在 https://github.com/QwenLM/qwen-code/pull/2975 * fix(sdk): 在 Stream.return() 中处理待处理的 next() 承诺以防止挂起 by @chinesepowered 在 https://github.com/QwenLM/qwen-code/pull/2981 * fix(cli): 在 AskUserQuestionDialog 中按数字键时自动提交 by @doudouOUC 在 https://github.com/QwenLM/qwen-code/pull/3407 * feat(core): 检测工具验证重试循环并注入停止指令 by @euxaristia 在 https://github.com/QwenLM/qwen-code/pull/3178 * fix(tool-registry): 添加带并发去重功能的延迟工厂注册 by @doudouOUC 在 https://github.com/QwenLM/qwen-code/pull/3297 * 修复类名拼写错误 by @szepeviktor 在 https://github.com/QwenLM/qwen-code/pull/2189 * test(core): 更新调度器注册表模拟 by @reidliu41 在 https://github.com/QwenLM/qwen-code/pull/3415 * fix(cli): 等待双输出流关闭 by @reidliu41 在 https://github.com/QwenLM/qwen-code/pull/3416 * feat(mcp): 为 OAuth 授权 URL 添加 OSC 52 复制快捷键 by @BZ-D 在 https://github.com/QwenLM/qwen-code/pull/3393 * feat(vscode-ide-companion): 添加专用的代理执行显示 by @yiliang114 在 https://github.com/QwenLM/qwen-code/pull/2590 * perf(vscode): 修复长对话中的输入延迟 by @yiliang114 在 https://github.com/QwenLM/qwen-code/pull/2550 * feat(cli): 添加早期输入捕获以防止启动期间按键丢失 by @doudouOUC 在 https://github.com/QwenLM/qwen-code/pull/3319 * fix(build): 通过 node --import 直接调用 tsx 替代 npx by @euxaristia 在 https://github.com/QwenLM/qwen-code/pull/3237 * ci(stale): 为拉取请求启用 60+30 天过期/关闭策略 by @wenshao 在 https://github.com/QwenLM/qwen-code/pull/3375 * feat(cli): 支持在 statusLine 中使用 refreshInterval 进行定期刷新 by @wenshao in https://github.com/QwenLM/qwen-code/pull/3383 * fix(core): 在仓库初始化期间支持旧版 Git by @reidliu41 in https://github.com/QwenLM/qwen-code/pull/3436 * feat(core): 添加动态 swarm worker 工具 by @reidliu41 in https://github.com/QwenLM/qwen-code/pull/3433 * fix(cli): /clear 命令可关闭活跃的 /btw 侧边问题对话框 by @sharziki in https://github.com/QwenLM/qwen-code/pull/3431 * fix(cli): 使 /btw 能够使用实时对话上下文 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/3429 * fix: 当上下文使用量超出限制时显示 ">100%" by @DennisYu07 in https://github.com/QwenLM/qwen-code/pull/2766 * fix(ui): 限制 shell 输出宽度以防止框体溢出 by @euxaristia in https://github.com/QwenLM/qwen-code/pull/2857 * feat(tools): 为 WebFetch 工具添加对 Markdown for Agents 的支持 by @gin-lsl in https://github.com/QwenLM/qwen-code/pull/2734 * fix(core): 在清理过程中移除 abort 监听器 by @reidliu41 in https://github.com/QwenLM/qwen-code/pull/3438 * feat(core): 通过停滞检测 + 验证重试检查增强循环检测 by @euxaristia in https://github.com/QwenLM/qwen-code/pull/3236 * feat(cli): 添加 /doctor 诊断命令 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/3404 * feat(vscode-companion): 启用 Plan Mode 切换开关及审批 UI by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/2551 * feat(cli): 添加 /recap 会话回顾功能,返回时自动显示 by @wenshao in https://github.com/QwenLM/qwen-code/pull/3434 * fix(vscode-ide-companion): 保留分片流消息的顺序 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/3450 * feat(cli): 添加 bare 启动模式 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/3448 * feat(vscode-ide-companion): 支持 /insight 命令 by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/2593 * feat(cli): 添加 slashCommands.disabled 设置以控制斜杠命令 by @ihubanov in https://github.com/QwenLM/qwen-code/pull/3445 * feat(core): 添加 PDF 文本提取回退机制及 Jupyter notebook 解析 by @wenshao in https://github.com/QwenLM/qwen-code/pull/3160 * feat(cli): 为 `mcp add` 添加 OAuth 配置参数 by @BZ-D in https://github.com/QwenLM/qwen-code/pull/3442 * refactor(cli): 使用基于能力的过滤机制替换斜杠命令白名单(第一阶段) by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/3283 * fix(core): 为 MCP stdio 服务器规范化 Windows PATH by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/3451 * feat(cli): 添加工具执行进度消息 by @wenshao in https://github.com/QwenLM/qwen-code/pull/3155 * Revert "feat(core): add dynamic swarm worker tool" by @wenshao in https://github.com/QwenLM/qwen-code/pull/3468 * fix(core): 防止格式错误的权限规则成为全局工具捕获项 by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/3467 * feat(cli): 使 ACP 消息重写超时时间可配置 by @zhangxy-zju in https://github.com/QwenLM/qwen-code/pull/3475 * fix(cli): 将 /recap 固定在输入框上方,并使默认值与 fastModel 对齐 by @wenshao in https://github.com/QwenLM/qwen-code/pull/3478 * feat(cli): 将 /stats 行归属到发起的子代理 by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/3229 * test(integration): 将设置迁移探测从 --help 切换为 mcp list by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/3486 ## 新贡献者 * @Skyline-9 首次贡献于 https://github.com/QwenLM/qwen-code/pull/3252 * @pedrormjunior 首次贡献于 https://github.com/QwenLM/qwen-code/pull/3358 * @szepeviktor 首次贡献于 https://github.com/QwenLM/qwen-code/pull/2189 * @sharziki 首次贡献于 https://github.com/QwenLM/qwen-code/pull/3431 * @gin-lsl 首次贡献于 https://github.com/QwenLM/qwen-code/pull/2734 * @ihubanov 首次贡献于 https://github.com/QwenLM/qwen-code/pull/3445 **完整更新日志**: https://github.com/QwenLM/qwen-code/compare/v0.14.5...v0.15.0-preview.1