Skip to Content
博客Qwen Code 周报:Agent Team 并行协作、Durable /loop 跨重启存活、/cd 切目录
返回博客

Qwen Code 周报:Agent Team 并行协作、Durable /loop 跨重启存活、/cd 切目录

Qwen Team
2026-06-18

Qwen Code 本周发布 v0.18.0~v0.18.3 四个正式版,超过 100 个 PR 合入,覆盖四个方向:

多 Agent 并行协作。 之前 /fork 跑后台 Agent,各路 Agent 互不通信,结果要你自己拼。Agent Team 模式让模型创建命名团队,派生多个队友并行工作、互发消息、共享任务列表,最后由 leader 汇总一份报告。队友是长期存在的,做完一个任务后可以等着接收下一个,不是跑完就消失的一次性 subagent。

定时任务跨重启存活。 之前 /loop 安排的定时任务随会话消亡——重启后无声消失。Durable /loop 让持久化的定时任务写入文件,下次启动自动恢复,错过的周期任务补跑一次。

会话内切目录,不用重启。 /cd <path> 在不退出 CLI 的情况下切换当前会话的工作目录,session 文件自动迁移到新 workspace,system/directory context 自动刷新。之前想换个项目目录跑,只能重启。

✨ 新增特性

Agent Team:多个 Agent 并行协作,互发消息,共享任务

之前 Qwen Code 的 /fork 可以跑后台 Agent,但每个 Agent 是孤立的——你安排三个 Agent 并行审查代码,它们之间没有通信渠道,最后你得自己把三份结果拼在一起。

这周新增了 Agent Team 模式(实验性,opt-in)。启用后模型可以创建命名团队,派生多个 ” 队友 ” 并行工作。队友之间和 leader 之间可以互发消息、共享任务列表,最后由 leader 汇总一份统一报告。队友是长期存在的,不是 one-shot subagent——它可以做完一个任务后等着接收下一个,而不是跑完就消失。

默认关闭(experimental.agentTeam 设置或 QWEN_CODE_ENABLE_AGENT_TEAM=1 环境变量开启),启用后模型获得团队协作工具(创建/删除团队、向队友发消息、创建/更新/列出共享任务),Agent 工具新增 name 参数,派生长期存在的具名队友而非一次性子智能体。

你能用它做什么:

  • 让三个 reviewer 并行审查这段代码(一个看错误处理、一个看竞态、一个看边界情况),给我一份汇总报告
  • 协调一个团队构建一个小型书签应用
  • 队友完成后自动向 leader 汇报,leader 给你一份统一摘要

详见 PR #4844 

Durable /loop:定时任务跨重启存活

之前所有 /loop 都随会话消亡——安排 ” 每 30 分钟检查我的 PR”,重启 Qwen Code 后循环无声消失。这周 /loop 任务可以跨重启存活了。

当请求暗示持久化(” 每小时检查一次我的 PR”),任务按项目保存到 ~/.qwen/tmp/<项目哈希>/scheduled_tasks.json(不在工作区,git status 不会看到),下次启动自动恢复。默认仍是 session-only,临时提醒不会写文件。

关闭期间到期的一次性提醒,重启时模型会先确认再执行,绝不静默跑。错过的周期任务启动后补跑一次再恢复正常节奏。同一项目多个会话时只有一个触发持久任务,持有者崩溃后另一个几秒内接管。周期任务 7 天后自动过期(触发最后一次后删除)。

你能用它做什么:

  • ” 每小时检查一次我的 PR” → 重启后继续跑,不用重新安排
  • 错过的周期任务重启后自动补跑一次
  • 临时提醒 /loop 5m remind me 仍随会话消亡,不写文件

详见 PR #5004 

/cd:不重启 CLI 就能切目录

之前想让 Agent 从另一个项目目录工作,只能退出重启。多仓库或父子 workspace 之间切换时很不方便,也没有在会话中移动 active tool context 的入口。

这周新增 /cd <path> 斜杠命令。它会校验目标目录、处理信任确认、更新 workspace roots 和 cwd 服务、把当前会话的 transcript/runtime/worktree 文件迁移到新 workspace session 目录、刷新 system/directory context。路径补全仍然可用。

你能用它做什么:

  • /cd ../another-project 切换到相邻项目,会话文件自动迁移
  • /cd /path/to/parent-repo 在会话内上下导航,不需要重启
  • 未信任的路径会弹出确认,和首次启动时的信任流程一致

详见 PR #4890 

Thinking 可折叠:推理过程不再占屏

之前模型的 thinking 块永远展开显示完整推理文本,占据大量屏幕空间。这周改成三态显示:

  • 流式阶段:4 行固定高度滚动窗口实时显示推理内容 + 计时器(”∴ Thinking… 8s”)
  • 完成后折叠(默认):一行显示总耗时(”∴ Thought for 15s”)
  • 展开查看:后续会为 thinking 块分配独立快捷键;目前 Ctrl+O 触发的是 compactMode 切换,和 thinking 展开共用同一按键,独立的展开/折叠快捷键会在后续 PR 解耦

thinkingDisplayMode 设置被移除,改为单一的可折叠模式。thinking 块是 UI history only,不会发送给 API,session resume 行为不变。

你能用它做什么:

  • 复杂推理时 thinking 折叠成一行,不碍事
  • Ctrl+O 随时展开查看模型完整的推理过程
  • 流式阶段有计时器,知道模型思考了多久

详见 PR #4598 

MCP 审批门控:项目级 MCP 配置不再自动连接

之前项目 .mcp.json 或 workspace .qwen/settings.json 里声明的 MCP server 会自动连接——打开包含恶意 .mcp.json 的仓库,server 可能在你审查前就启动。

这周加了审批门控。project .mcp.json 和 workspace scope 的 MCP server 必须先经过审批才能连接。审批决策持久化在 <QWEN_HOME>/mcpApprovals.json,按项目 root + server name 建索引,并绑定配置 hash。修改 server 的 command/args/URL/environment/headers 会改变 hash,让它重新变成 pending——不会静默继承旧审批。

MCP server 优先级模型:user/default settings < project .mcp.json < workspace/system settings < session (ACP/IDE) < --mcp-config。项目配置可以覆盖用户配置,但不能覆盖企业 system 配置。

你能用它做什么:

  • 打开新仓库时,项目级 MCP server 显示为 “Pending approval”,不自动连接
  • qwen mcp approve <name>qwen mcp approve --all 批量审批
  • 修改 server 配置后自动重新要求审批(hash 绑定)
  • qwen mcp list 查看所有 server 的审批状态

详见 PR #4713 

后台 Agent 权限冒泡:后台任务不再自动拒绝确认

之前后台 Agent 需要权限确认的工具调用(如 git pushrm)会被自动拒绝,报 “background agents cannot prompt for confirmation”,然后父会话重新在前台跑——等于后台白跑了一轮,又回到前台排队。

这周加了 approvalMode: bubble。subagent 配置里设置 approvalMode: bubble 后,后台 Agent 遇到需要确认的工具调用时,请求会冒泡到父会话的 Background tasks UI,你从 footer pill 打开详情就能审批。批准后 Agent 继续执行,拒绝后正常退出。bubble 是 subagent-only 的 approvalMode 值,不是 session 级的选项。headless/ACP/SDK 语境下仍然自动拒绝(因为没有 UI 可以回答)。

你能用它做什么:

  • 自定义 subagent 声明 approvalMode: bubble,后台任务不再自动拒绝
  • footer pill 显示 ”⚠ needs approval”,按 ↓ 打开详情审批(只支持单次授权,没有 ” 总是允许 ” 选项)
  • 批准后 Agent 继续执行并返回结果,不用回到前台重跑

详见 PR #4955 

/compress-fast:不调用 LLM,秒级压缩上下文

之前 /compress 依赖 LLM 侧边查询生成摘要(约 2-5 秒,消耗约 30K token)。对于本地模型部署或只想快速释放空间的用户来说太慢了。

这周新增 /compress-fast,纯规则驱动:强制 microcompaction 清理旧工具结果和媒体内容(保留最近 N 个),然后剥离所有模型回复中的 thinking 部分。零 API 调用、零 token 开销、即时响应。会写入 chat_compression checkpoint 到 JSONL,--resume 行为和 /compress 完全一致。

你能用它做什么:

  • /compress-fast 立即释放数千 token,无延迟无成本
  • 适合长会话跑了一堆工具调用后想快速回收空间
  • /compress 仍然可用——需要语义摘要质量时用它
  • 连续两次 /compress-fast,第二次会提示 “No compression needed”

详见 PR #4893 

更多新功能

功能PR对你的影响
Workflow P2:parallel() + pipeline() 并发扇出#4947 工作流可以并行跑多个 subagent,不再只能串行;errors-as-data 契约让部分失败不拖垮整批(opt-in,QWEN_CODE_ENABLE_WORKFLOWS=1 启用)
Workflow P3:schema + agentType + model + isolation#5034 agent({schema}) 返回结构化输出、agent({agentType:'Explore'}) 选 subagent 种类、agent({isolation:'worktree'}) 隔离文件修改
Declarative Agent frontmatter v1#4842 .qwen/agents/*.md 支持 permissionModemaxTurnscolor 三个 CC 2.1.168 对齐字段
Declarative Agent mcpServers + hooks#4996 per-agent MCP server 和 hooks 在 subagent 运行时生效,行为和 CC 一致
Tool output 分层截断#4880 shell 30k、grep 20k、agent 32k 的 per-tool 预算;超大输出落盘到临时文件,不再撑爆上下文
/rewind 跨 session 恢复#4897 session resume 后 /rewind 能用了——之前快照链在内存中,重启后丢失
Plan Approval Gate#4853 AUTO/YOLO 退出 plan mode 时跑设计审查 agent,验证计划合理性;模型新增 enter_plan_mode 主动降权
A2UI surfaces over MCP#4961 daemon 的 web client 可以渲染 MCP 工具返回的交互式 A2UI 界面,用户操作也能回传
Daemon mode merge#4490 386 文件、+115K LOC 的 daemon batch 合入,覆盖 ACP Bridge、MCP Transport Pool、Permission Mediator、Web Shell 等
/sessions list 查看历史会话#5187 CLI 新命令,qwen sessions list 列出所有历史会话;--json JSON Lines 输出便于脚本管道,--limit 控制数量;Phase 1,后续会加 showrm
/import-config Claude MCP 迁移#5095 一键导入 Claude Code / Claude Desktop 的 MCP 配置到 Qwen Code
Loop/Cron 默认启用#4950 /loopcron 工具默认可用;不需要 opt-in,关闭用 QWEN_CODE_DISABLE_CRON=1
Computer Use 迁移到 cua-driver#5051 从 ocu npm backend 迁移到 cua-driver-rs Rust binary,首次使用自动下载到 ~/.qwen/computer-use/,暴露完整 35 工具面
Web shell 换行快捷键#5005 Option+Enter / Cmd+Enter 在 web shell 里换行,和 CLI TUI 肌肉记忆一致
Desktop git branch 显示#5082 Desktop 应用工作目录徽章显示当前 git branch
FileSearch AsyncFzf worker thread#4621 文件搜索索引构建移到 worker thread,不阻塞主线程
Daemon status API#5174 qwen serve 新增 daemon 状态查询端点
Workflow P4:meta + /workflows + phase-tree#5094 工作流新增 /workflows 命令和 phase-tree 进度展示
auto-skill 前缀规范#4839 自动生成的 skill 强制 auto-skill- 前缀,避免和内置 skill 冲名
Skill frontmatter YAML parser 升级#4870 skill frontmatter 用完整 YAML 解析器,支持 block scalars 和嵌套结构
Skill user-invocable frontmatter#5037 skill 可以声明用户可直接调用的命令入口
CHANGELOG.md 自动同步#4881 release 发布时自动生成并同步 CHANGELOG.md

🔧 重要修复

PR修复内容对你的影响
#4982 消除 debugResponses 积累导致的 OOMdebug 模式不再撑爆内存
#4914 idempotent compaction + explicit GC + debug log defaultsOOM 防护加固,压缩更稳定
#4929 SSH 环境下 OSC 52 clipboard fallbackSSH 远程会话粘贴终于正常了
#4852 光标在 hard-wrapped 行边界处左移卡住光标移动不再在换行边界卡住
#4963 fork subagent 默认启用/fork 后台 Agent 不再需要手动开启
#5012 Windows 启动时缺少 printf 命令报错Windows 用户不再遇到启动报错
#4967 MCP 工具 SchemaValidator 数字字符串强制转换自托管 LLM 的 MCP 工具调用不再因类型不匹配失败
#5111 Bound active tool result history工具结果历史不再无限增长
#5036 Hard-stop repeated identical tool calls模型不再无限重复同一个工具调用
#4793 Coerce non-string tool params for self-hosted LLMs自托管模型的工具参数类型兼容
#4969 修正文档中的过期 settings keys、错误默认值和缺失命令文档更准确,不再误导
#5073 QWEN.md/AGENTS.md 超过 15% 上下文窗口时启动警告过大的 context instructions 不再静默挤占模型上下文
#5165 monitor 通知批量处理 + 过期事件过滤monitor stdout 每行不再触发一次完整 LLM roundtrip,token 消耗大幅降低
#5196 /dev/tcp、/dev/udp 重定向不再误判为文件 I/O权限系统不会把网络套接字操作错误归类为文件读写
#5171 首次 chunk 前的传输层错误自动重试流式调用在网络抖动时不直接失败,先重试一次
#5155 fork 显式化:省略 subagent_type 不再意外变成 fire-and-forget并行 agent 调用的结果能正确回流到父 turn,不会静默丢失

🎉 贡献者

感谢以下贡献者本周的贡献:

贡献者贡献内容
@qqqys Agent Team #4844 、后台 Agent 权限冒泡 #4955 、A2UI over MCP #4961 、Auto mode 自修改防护 #4572 、Prompt hooks #4377 、autofix workflow #4989 
@LaZzyMan Workflow P2 #4947 、Workflow P3 #5034 、Workflow P4 #5094 、Declarative Agent frontmatter #4842 、Declarative Agent mcpServers+hooks #4996 、Tool output truncation #4880 、Computer Use cua-driver #5051 、Mac code-signing #5013 
@callmeYe Plan Approval Gate #4853 、Skill frontmatter YAML parser #4870 、Skill .toml 命令 #5017 、prompt-cache prefix #4896 
@tanzhenxin Durable /loop #5004 、Loop/Cron 默认启用 #4950 、Skill allowedTools #4704 、Agent Team messaging harden #4988 
@doudouOUC Daemon mode merge #4490 、/rewind 跨 session #4897 、Oversized tool results 持久化 #5042 、Daemon status API #5174 、monitor 通知批量处理 #5165 
@DragonnZhang MCP 审批门控 #4713 、Desktop git branch #5082 、Desktop app #3778 、VSCode ACP 通知 #4358 、CLI 换行快捷键 #5005 
@zzhenyao OOM 消除 #4982 、OOM 加固 #4914 、SSH clipboard #4929 、Windows printf #5012 
@he-yufeng /cd 命令 #4890 、fork 默认启用 #4963 、背景 agent 保留 launch flags #5061 、oversized context 警告 #5073 
@chiga0 Thinking 折叠 #4598 、DaemonTransport abstraction #5040 、TUI spacing #4595 
@BenGuanRan /stats dedup #4995 
@yiliang114 独立安装自动更新 #4629 、PR 审查 CI #4549 、release 资产校验 #3855 、telemetry memory/CPU #4868 、传输错误自动重试 #5171 
@wenshao Web shell 多项改进 #5069 #5109 #5125 #5088 #5096 
@ytahdn Web shell token/settings #5066 、transcript events #5193 、custom footer #5166 
@ZijianZhang989 /compress-fast #4893 、/sessions list #5187 、qwen3.7-plus model list #4953 
@tt-a1i /import-config Claude MCP #5095 、Desktop git branch #5082 
@pomelo-nwu qwen3.7-plus multimodal #4803 、SchemaValidator coerce #4967 
@Jerry2003826 Bound hard rescue retries #4526 、Bound foreground shell output #4524 
@warmjademe /dev/tcp/udp 权限修复 #5196 
@huww98 /copy argument hint #5110 

升级方式:运行 npm i @qwen-code/qwen-code@latest -g 即可升级到最新版本。

如有问题或建议,欢迎在 GitHub Issues  反馈!

Last updated on