← 返回 Blog

ListAgents + SendMessage 双工具详解:Claude Code 会话发现的底层原理

2026 年 8 月 7 日,Anthropic 正式推送 Claude Code v2.1.224 版本,上线跨会话消息通信功能。在"两个终端自动对话"的表象之下,真正支撑这套能力的,是两个看似朴素却意义深远的工具——ListAgents​ 与 SendMessage。二者一个负责"发现同伴",一个负责"递送信息",共同标志着 Claude Code 的架构思路,正从"集中式调度"向"对等节点发现"演进。

ClaudeClaude Code 跨会话消息的底层逻辑

ListAgents 与 SendMessage 深度解析:Claude Code 跨会话消息的底层逻辑

2026 年 8 月 7 日,Anthropic 正式推送 Claude Code v2.1.224 版本,上线跨会话消息通信功能。在"两个终端自动对话"的表象之下,真正支撑这套能力的,是两个看似朴素却意义深远的工具——ListAgents​ 与 SendMessage。二者一个负责"发现同伴",一个负责"递送信息",共同标志着 Claude Code 的架构思路,正从"集中式调度"向"对等节点发现"演进。

ListAgents:会话发现的"雷达"

ListAgents 的职责十分明确:在当前会话中,搜寻所有 Claude 能够连通的其他会话。

其背后是一套完整的发现机制。每个 Claude Code 会话启动时,都会在本地文件系统中注册自身,并绑定一个专属的收件 socket,其 socket 路径可通过 /status 查看,或以 CLAUDE_CODE_MESSAGING_SOCKET 环境变量的形式提供给钩子(hooks)与 Bash 命令使用。ListAgents 的本质,就是扫描这些本地注册信息,返回一份可连通会话清单。

开发者可手动执行 /list-agents(别名 /peers)查看清单。清单包含三类对象:

  • 子代理:当前会话内通过 Task 工具派生出来的子任务

  • 其他本地会话:同一设备上运行的其余 Claude Code 会话,包含后台运行会话

  • 远程控制会话:通过远程控制(Remote Control)接入的跨设备会话,标记为 Remote Control

💡 需要区分的是:Agent Teams 团队成员不会出现在 /list-agents 清单中。Agent Teams 是独立的实验性功能,团队成员通过团队专属成员列表建立联系,寻址逻辑完全独立。

会话名称支持自定义。开发者可通过 /rename 指令为会话命名(例如 auth refactor),ListAgents 将以此名称识别会话;若未命名,Claude Code 会基于工作目录生成类似 myapp-3f 的默认标识。

SendMessage:不只是单纯的"传话"

SendMessage 的作用,是将消息投递至指定名称的目标会话。

它在设计上存在一条关键约束:仅传递纯文本摘要,绝不附带完整对话记录、项目文件与系统权限。接收方 Claude 只会获取发送者名称、回复地址和一段文本,仅此而已。

这条约束并非产品层面的临时设定,而是架构层面划定的安全底线,以此保障:

  • 外来消息无法批准权限申请

  • 外来消息不能修改会话配置(如 CLAUDE.md、权限设置)

  • 消息内容里的 /compact 等指令只会被当作普通文本,不会被执行

SendMessage 还有一个容易被忽略的特性:通用性。跨会话通信、向持久化子代理发消息、和 Agent Teams 成员互通信息,复用的是同一套工具。这意味着一旦在设置中禁用 SendMessage 权限,三条通信通道会同步关闭——相较于堆砌零散功能,统一化设计的优先级显然更高。

通信链路:本机直连,跨设备中继

消息的传输路径,由目标会话所在位置决定:

本机通信:依靠 Unix 域套接字实现。每个会话拥有独立 socket,发送方通过 socket 直接将消息送入接收方收件箱,整个流程不经过 Anthropic 服务器。即便设备处于断网状态,本机多个终端之间依旧可以互传消息。

跨设备通信:依托远程控制通道中继,消息需经由 Anthropic 服务器中转。在 v2.1.224 中,跨设备场景仅支持"回复"模式——本机会话只能回应来自其他设备或 Claude Code 网页版的消息,无法主动发起新对话。而在次日发布的 v2.1.225 中,这一限制得到部分放宽:SendMessage 已支持按名称主动向其他机器上的 Remote Control 会话发起通信,ListAgents 会将它们显示为 name [ref] 的形式。

⚠️ 需要提醒的是:跨设备消息流转存在多项安全节流机制。每个会话的暂存消息上限为 100 条,超出后最早入队的消息会被丢弃;未被读取的入站消息上限为 50 条;重复消息会被抑制;跨设备消息在 isolatePeerMachines 设为 true 时,即便处于绕过权限模式,发送前也须经过用户显式批准。

被低估的架构价值

ListAgents 搭配 SendMessage,本质是把智能体与智能体直连通信(A2A),从协议层落地到工具调用层。

在此之前,Claude Code 的智能体协作主要分为两种模式:子代理(主会话下发子任务,任务结束即回收),以及 Agent Teams(实验性功能,需要手动编写配置)。两种模式的共同点在于中心化——始终存在一个主体,决定消息何时发送、由谁接收。

跨会话通信则截然不同:用户自行打开、互不隶属的两个终端会话,能够直接互发消息,不存在谁派生谁、谁管控谁的上下级关系。

这不是简单地新增一项功能,而是架构范式的变革:从"流水线式集中调度"转向"菌丝网络式分布式组网"——无需中心节点,各个独立节点主动建立连接。每一个会话都是对等通信节点,依靠 ListAgents 互相探测,依靠 SendMessage 交换信息。

当然,这套机制目前还只是分布式智能体网络的雏形。本机依托 socket 通信、跨设备依靠远程控制中继,距离真正意义上的去中心化 P2P 还有差距。但技术方向已经清晰:AI 编程助手不再是一个个孤立个体,而是能够自主组网、对等协作的智能体集群。

随着多会话协同模式的普及,开发者对 Claude、Gemini、ChatGPT、DeepSeek 等全球主流大模型的调用频率显著上升,API 接入的成本与稳定性,成为工程化落地的关键考量。UseAIAPI​ 一站式聚合上述全球主流大模型的最新版本,支持企业级定制化部署,让开发者无需为每个大模型分别注册海外账号、配置支付方式,一套 API Key 即可打通多模型调用。

在价格方面,UseAIAPI 提供显著的优惠空间,平台折扣最低可达官方价格的 50%。结合平台的企业级定制能力,开发者可按需定制并发、配额与路由策略,满足高强度内容生成、自动化智能体、大规模代码重构等重消耗场景,真正实现"无忧接入、按需扩展",让团队不再为高频调用的成本压力而担忧。