先看是不是某个人或某个群
最具体的匹配最先赢。比如某个 WhatsApp 群、某个 Telegram bot、某个 Discord 频道。
Concepts 导读
每个Agent拥有独立的workspace、agentDir和会话存储,互不共享。核心动作是给每个Agent配置bindings,把不同渠道的入站消息路由到对应的Agent。最容易踩的坑是重复使用agentDir,会导致认证和会话冲突——想共享凭证只能手动复制auth-profiles.json。
先讲这一页到底在解决什么
每个Agent拥有独立的workspace、agentDir和会话存储,互不共享。核心动作是给每个Agent配置bindings,把不同渠道的入站消息路由到对应的Agent。最容易踩的坑是重复使用agentDir,会导致认证和会话冲突——想共享凭证只能手动复制auth-profiles.json。
第一站
官方说“一个 agent 是完整的 brain”,翻成人话就是:它不是一个昵称,而是一个完整的小住户。
这里放它的文件、规则、性格和项目资料。进了哪个房间,它就按哪个房间的规矩做事。
这里放认证资料、模型登记、代理自己的状态文件。像一只写着名字的上锁抽屉。
每个 agent 都有自己的聊天本。这样家庭助手不会突然把工作群里听来的东西讲给家人。
多代理最重要的不是多,而是别串台。
第二站
因为那会像让两个小朋友共用同一本护照和同一本日记。最后谁是谁,你自己都会看乱。
不同 agent 的登录资料混在一起,很容易把账号覆盖掉,或者让一个助手误用另一个助手的钥匙。
你明明想要“工作”和“个人”完全分开,结果聊天记录却堆进同一个抽屉,这就失去意义了。
官方给的思路很朴素:如果真要共享凭据,就只复制需要的那份 auth-profiles.json,不要整间抽屉柜都共用。
共享资料可以,别共享整颗脑袋的私人物品柜。
第三站
原文很多段都在讲 bindings、accountId、peer、guild。翻成人话,全都在回答一句:这条消息到底归谁处理。
最具体的匹配最先赢。比如某个 WhatsApp 群、某个 Telegram bot、某个 Discord 频道。
如果没精确到某个群或某个人,那就看是不是某个渠道账号,比如个人号还是工作号。
都没匹配上,才会落到默认 agent。默认不是万能胶,别什么都往它身上粘。
官方那句“most-specific wins”可以记成:写了精确门牌号的纸条,永远比“这栋楼都算”的纸条更有力。
第四站
这页代码块很多,但大多数都在做三件事:创建新助手、给它配入口、把消息绑过去。
openclaw agents add work像对 OpenClaw 说:“给我再收拾一个叫 work 的房间,让新的工作助手住进去。”
openclaw agents list --bindings像去前台看值班表:现在有哪几个助手,每个人负责哪些门口和群聊。
openclaw channels login --channel whatsapp --account work像给叫 work 的那位助手单独配一个 WhatsApp 入口,不和别人共用同一张门卡。
像一张布线图:从哪个渠道、哪个账号、哪个群、哪个人来的消息,应该接去哪一个助手房间。
第五站
原文专门举了“一个 WhatsApp 号,多个人 DM 分流”的例子,是因为它很实用,也很容易掉坑。
虽然大家都在敲同一个 WhatsApp 号,但可以按发送者手机号,把不同人分给不同助手。
直接聊天默认会收进 agent 的主会话。所以如果你真想隔离不同人的上下文,最好还是“一人一个 agent”。
意思是门口门卫规则还是全局的。不是说分给不同 agent 了,门禁就自动按 agent 分开。
可以用同一个门牌分流不同人,但真正的隐私隔离,还是一人一个房间最稳。
第六站
原文后面举的 family agent 例子,其实在讲一个更重要的东西:不同 agent 可以有完全不同的安全围栏。
家庭助手可以永远关在沙箱里,个人助手却可以更自由。边界不是只能全局一刀切。
有的只给 read,有的能给 exec,有的连 write 都不给。这像给不同助手发不同颜色的门禁卡。
mentionPatterns 像约定暗号:必须先叫它名字,它才知道这句是在叫它回答。
不是为了“看起来很高级”,而是为了让不同任务、不同风险和不同人群各自待在安全的盒子里。
最后总结
多代理就是给不同工作和不同人群准备不同的小助手房间,再把消息准确送进对应房间,还要给每个房间单独装门锁。
如果你下一页只想继续看一页,我建议看 /channels/channel-routing 或 /tools/multi-agent-sandbox-tools。因为多代理真正落地,最关键的就是“怎么分流”和“怎么设边界”。