xiaonan.dev / open-source / qwen-code

Qwen Code 贡献记录

支持 SubAgents、Agent Teams 与动态工作流的开源 AI 编程 Agent。

Issue 与 PR 是可公开核验的记录;页面状态是时间快照,不会把本地通过写成已经发布。

查看贡献记录

packages/core · multi-agent coordination

消除 send_message 的双路由歧义

修复 Qwen Code 多智能体消息工具中的路由歧义,避免指令静默进入错误的 Agent 寻址域,并让误填的 teammate 目标得到可执行的纠错提示。

上游进度PR 仍为 Open,正在等待上游批准首次 fork CI 并进行维护者审查。GitHub 判断当前可合并,但尚未批准、尚未合并。
Issue
#10073
Pull Request
#10083
所属模块
packages/core · multi-agent coordination

技术问题

send_message 使用 `to` 寻址 teammate,使用 `task_id` 寻址后台 Agent。两个字段原本都可选,同时出现时执行路径会静默优先 `task_id`;如果把 teammate 名称误填到 `task_id`,系统也只返回普通的后台任务不存在错误。

解决方案

在 invocation 创建前增加运行时互斥校验;后台任务未命中时,复用项目已有的 teammate 名称匹配逻辑,提示规范的 `to` 写法。同时保持 provider-facing schema 和机器可读错误契约不变。

为什么这样设计

没有使用 JSON Schema `oneOf`,因为项目已经记录部分 provider 对顶层 schema 组合不兼容。把校验放在两条投递路径之前,也能保证歧义请求不会产生任何投递副作用。

验证证据

  1. 01

    send-message 聚焦测试 23/23 通过,并保留两个问题场景先红后绿的回归证据。

  2. 02

    歧义输入测试同时断言 INVALID_TOOL_PARAMS、后台队列为空、teammate 发送函数未调用,验证的是零副作用而不只是错误文案。

  3. 03

    目标 lint、格式化、diff 检查、安装、构建和类型检查通过;Windows 全量 preflight 存在无关的平台与超时失败,因此不宣称全仓测试全部通过。

上游进度

  1. 本地验证

    聚焦测试 23/23

  2. 自动分诊

    无代码 blocker

  3. 正式 CI

    等待 workflow 授权

  4. 维护者审查

    尚待 Review

  5. 合并

    尚未合并