1. 为什么微信消息总是落到默认代理上如果你正在用 openclaw 做多代理协作大概率会遇到这个场景主代理跑得好好的你想给微信单独拉一个独立代理让它专门处理微信渠道的消息结果配置完发现——微信发过来的消息还是被默认代理接走了新代理像个摆设。我试过最典型的翻车路径是这样的先让 openclaw 帮忙创建一个代理它默认给你建了个子代理subagent而不是独立代理然后你手动补配置代理之间通讯又报错接着装微信插件Gateway 重启失败最后好不容易通道通了消息却全部路由到默认代理因为绑定规则里少写了accountId。这一串问题的根子在于openclaw 的代理隔离和渠道绑定是两套独立机制代理建对了不代表微信会找它渠道装好了也不代表路由会命中。微信渠道的消息天然带一个accountId类似a261d3edb3b1-im-bot这种绑定规则里如果不显式写这个accountId匹配就会失败消息回落到默认代理。这篇就围绕 openclaw 多代理场景把「创建独立代理 → 配置 accountId 隔离 → Gateway 转发路由 → 验证微信消息正确分发」这条完整链路拆开讲。适合已经在跑 openclaw、想给微信渠道做代理隔离的人也适合刚踩完上面那些坑想找一份可复制配置的人。下面所有配置片段都可以直接改改就用。2. 前置准备TaoToken 与 openclaw 环境openclaw 本身要调用大模型能力代理的model字段需要指向一个可用的模型服务。我这边统一用 TaoToken 来做模型接入它的 API 地址是https://taotoken.net/api兼容常见的模型调用格式配置起来比较省事。如果你还没配模型服务先去控制台拿一个 API Key控制台入口https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite拿到 Key 之后在 openclaw 的模型配置里填上 base URL 和 key。openclaw 的模型配置一般挂在models或代理的model字段里具体字段名以你本地版本为准。我这边代理配置里model指向的就是 TaoToken 提供的模型名。环境侧需要确认三件事第一openclaw 本体能正常跑openclaw config get agents.list能返回当前代理列表。第二微信插件 CLI 能执行也就是npx -y tencent-weixin/openclaw-weixin-clilatest这条命令可用。第三Gateway 服务可控Windows 上尤其要注意openclaw gateway restart有时候会失败得能手动重启服务。注意微信插件的安装命令会自己生成channels.openclaw-weixin和plugins相关配置这部分不要手动去改改了反而容易冲突。你要动的只有bindings和代理本身的配置。3. 创建独立代理一次配全别分批打补丁创建独立代理最容易犯的错就是分多次小补丁去试。openclaw 的配置补丁是整体应用的你分三次打中间任何一次结构不完整都可能导致代理注册失败或者通讯异常。正确做法是一次性写好完整补丁 JSON再config patch应用。先看当前配置确认没有重名代理openclaw config get agents.list然后写补丁文件比如patch-agent.json。这个文件必须包含完整结构agents.list[]里加新代理tools.agentToAgent.allow里加新代理 ID并且给新代理加上subagents.allowAgents: [*]。{ agents: { list: [ { id: wechat-agent, name: WeChat Agent, workspace: D:\\data\\openclaw\\workspace\\wechat-agent, agentDir: C:\\Users\\user\\.openclaw\\agents\\wechat-agent\\agent, model: taotoken-default, subagents: { allowAgents: [*] } } ] }, tools: { agentToAgent: { allow: [wechat-agent] } } }这里几个字段别漏id是代理唯一标识后面绑定规则要用workspace和agentDir是两个必须存在的目录缺了代理起不来subagents.allowAgents控制这个代理能调度哪些子代理写[*]表示不限制。补丁写好后先手动把两个目录建出来别指望 openclaw 自动创建mkdir D:\data\openclaw\workspace\wechat-agent mkdir C:\Users\user\.openclaw\agents\wechat-agent\agent然后应用补丁openclaw config patch --file patch-agent.json应用完必须完整重启 Gateway。Windows 上openclaw gateway restart可能返回失败这时候直接去服务管理器手动重启 openclaw 的 Gateway 服务或者用openclaw gateway stop再openclaw gateway start。重启完再验证代理是否注册成功openclaw config get agents.list看到wechat-agent出现在列表里且tools.agentToAgent.allow包含它这一步才算过。4. 接入微信accountId 隔离与 Gateway 路由骨架代理建好了接下来是微信渠道。先跑安装和扫码npx -y tencent-weixin/openclaw-weixin-clilatest install安装过程会生成channels.openclaw-weixin配置这部分保持原样不要动。安装完 openclaw 可能会重启失败手动重启一次 Gateway 即可微信通道本身的配置是正常的不需要重复执行安装。关键在绑定规则。微信消息自带一个accountId你必须从实际会话里把它捞出来写进bindings。先看会话列表openclaw sessions_list在返回结果里找微信渠道的会话里面会有一个类似a261d3edb3b1-im-bot的accountId。拿到它之后在bindings数组里加规则{ bindings: [ { agentId: wechat-agent, match: { channel: openclaw-weixin, accountId: a261d3edb3b1-im-bot } } ] }这里有个坑要划重点理论上只写channel不写accountId应该也能匹配但实际因为微信消息自带accountId不写反而匹配不上消息会直接路由到默认代理。所以accountId必须写而且必须是微信安装后实际生成的那个值不能自己编。Gateway 的路由逻辑就是按bindings顺序匹配的消息进来先看channel再看accountId两个都对上才转发给对应agentId。所以你的绑定规则里channel和accountId缺一不可。配置改完再次完整重启 Gatewayopenclaw gateway stop openclaw gateway start5. 验证独立代理生效与消息分发重启完先别急着发微信先在本地验证代理和路由。第一步确认代理在线openclaw config get agents.list第二步用sessions_send测试代理间通讯确认wechat-agent能被调度openclaw sessions_send --agent wechat-agent --message ping如果返回正常说明代理本身没问题。如果报通讯错误回去检查tools.agentToAgent.allow里有没有加wechat-agent以及subagents.allowAgents是否配了[*]。第三步微信发一对一消息。发完之后再看会话列表openclaw sessions_list重点看这条微信会话的agentId字段。如果显示的是wechat-agent说明路由命中独立代理生效如果还是默认代理的 ID说明accountId没匹配上回去核对绑定规则里的accountId和sessions_list里实际的是否一致。第四步看 Gateway 日志确认转发路径。日志里会打印消息匹配到哪条 binding、转发给哪个 agent。如果日志显示匹配到了openclaw-weixin但 agent 是默认的基本就是accountId写错或者漏写。验证通过后微信消息就会稳定落到wechat-agent和默认代理完全隔离。你可以给这个代理单独配 workspace、单独配模型互不干扰。6. 常见报错排查清单代理创建后不生效八成是补丁结构不完整。检查agents.list[]、tools.agentToAgent.allow、subagents.allowAgents三处是否都在同一个补丁里别分批打。代理间通讯报错tools.agentToAgent.allow里没加新代理 ID或者subagents.allowAgents没配。补上后重启 Gateway。目录缺失导致启动失败workspace和agentDir两个目录必须手动建openclaw 不会自动创建。路径里的user换成你实际的 Windows 用户名。微信插件安装后 openclaw 重启失败手动重启 Gateway 服务即可微信通道配置是安装命令生成的不用重装也不用改。微信消息路由到默认代理绑定规则里漏了accountId或者accountId写错了。从sessions_list里捞实际值别自己猜。Gateway 重启后配置没生效Windows 上openclaw gateway restart可能静默失败用stopstart两步走或者直接手动重启服务。绑定规则写了但不匹配确认channel写的是openclaw-weixin和channels里的键名一致accountId和会话里的完全一致包括大小写和连字符。7. 后续接入与模型调用入口代理和微信通道都跑通之后如果你还想继续扩展比如给这个独立代理接更多渠道、或者调模型能力做更复杂的任务可以从这几个入口走模型对话调试https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite长期编码和 Agent 场景的套餐https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteAPI Key 管理https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite接入文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteClaudeCode Anthropic 相关https://taotoken.net/claudecode-anthropic?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite最后留一个我踩过的坑绑定规则改完一定要完整重启 Gateway别只 reload。我有一次改完accountId没重启微信消息还是走默认代理排查了半天以为是accountId写错了结果重启一下就好了。配置这东西改完就重启能省很多事。
