乐于分享
好东西不私藏

深度拆解:微信 ClawBot 插件如何跨越“生态围墙”?五大核心阶段实现 OpenClaw 完美接入

深度拆解:微信 ClawBot 插件如何跨越“生态围墙”?五大核心阶段实现 OpenClaw 完美接入

做为一个开发者,我也曾失望微信生态的保守,不会向任何第三方开放。也在 简单三步,个人QQ也能养好龙虾(openclaw)  感慨到:

OpenClaw 能让腾讯更加开放,是一件很牛的事情。

但现在看来了,事情的转机来了。 微信可以接入 Openclaw了 。

而且,这种接入方式,我认为是所渠道(Channels)中最简单、体验最好的

就两步:1、下载安装 OpenClaw 插件; 2、扫码。

更加意外的是:微信还可以接入其他的龙虾,如: workbuddyQclaw 、autoClaw 等。 后面我会简单地介绍一下方式。

微信接入OpenClaw

微信在 OpenClaw 的接入具体方式如下:

1、前置条件之一:微信最新版本 8.0.69 或以上。2、前置条件之二:已经安装好了 OpenClaw ,可见之前部署的(mac方式):用 OpenClaw + DeepSeek 在 WhatsApp 里养了个“全能赛博分身”

在微信中设置->插件-> OpenClaw。如图:

拷贝出执行命令,在 OpenClaw 的机器上执行这个安装命令。安装完成之后会出现二维码
1

npx -y @tencent-weixin/openclaw-weixin-cli@latest install

扫码登录,完成。

然后,微信就可以和龙虾聊天了。

这个我见过最方便的接入方式了

微信接入 workbuddy

workbuddy的接入方式和 OpenClaw 差不多。 在workbuddy 的个人设置中,找到 Claw 设置, 这个页面关于微信的有两种接入方式:微信 ClawBot 集成 和 微信客服号集成。如图:

为什么会两种?我也疑惑。我自己强行解释。可能一种是嫡系的,一种是外包的的吧。如果你知道为什么的,可以告诉我一下,我超想知道的。

两种方式都有官方的配置指南,流程也很简单的。就是打开之后扫码确认,然后可以了。

微信ClawBot 的形式就和他们自家的元宝一样,有一个AI的小标。 在微信的好友列表中,就像你的朋友一样。

而 微信客服号集成 就是在客服消息中,要先点开客服消息,才可以看它。 感觉就像一个外包的客服,高级不起来。 是不是亲娘养的,立马分晓。

同样 腾讯的 Qclaw 也是这样的方式。

微信接入 Qclaw

不了解腾讯的人,就会疑惑,为什么腾讯有了 workbuddy 这个龙虾,还要搞一 个  Qclaw。那就是没有听说过腾讯在游戏行业中的 “养蛊”策略了。 即同时研发两个同类型的游戏,先内部竞争。活下来的,获得更多的资源。 如:《王者荣耀》就是这么过来的。

Qclaw的接入方式如图:

也是很能简单,扫码连接确认就可以了。

微信接入 autoClaw

同样的,除了OpenClaw 和腾讯他们自家的,也可以接入国内其他家的龙虾, 例如 : autoClaw

autoClaw 只支持 信 ClawBot 集  并不支持微信客服号集成。

为什么微信接入的方式这么简单?

一方面在绑定这方面,微信采用了扫二维码的方式,在交互体验上了档次,和它生态的一贯做法一致。但更重要的是:它是真的简单

但是微信没有 bot 机制,所以它只能接一个龙虾。 即如果接了 workbuddy, 就无法接入 Qclaw。当你扫码时,它会提示你会要释放掉之前的那一个。(不过一个龙虾却可以接多个微信)

但是客户服号集成的方式,可以接多个龙虾。

另一方面是,微信封闭的生态把权限收得死死的。不像飞书,可以自己配置权限。而微信是它给你的权限是微信说的算。

微信的 clawbot 原理是什么?

openclaw-weixin 插件的核心职责是充当微信开放协议 与 OpenClaw之间的数据桥梁。它的源码在 OpenClaw   的目录是: ~/.openclaw/extensions/openclaw-weixin下 。

整个工作流程可以划分为以下五个核心阶段

1. 插件注册与初始化

当你启动 OpenClaw 时会读取你的配置并载入各种插件。

  • • 此时 index.ts 作为插件入口会被执行。
  • • 它向 OpenClaw 核心注入(Register)了一个名为 openclaw-weixin 的新频道类(在 src/channel.ts 里定义的 weixinPlugin)。
  • • 该频道声明了自己支持的能力,例如支持私聊(direct)、支持多媒体发送(media)以及大段文本流式合并(blockStreaming)。

2. 账号授权登录流程

如果是第一次使用,或是再增一个微信号,那应当是如下的流程:

  1. 1. 当我们在终端执行登录命令。
  2. 2. OpenClaw 调用 auth.login 中的 startWeixinLoginWithQr,向远程服务端( https://ilinkai.weixin.qq.com)请求登录二维码(get_bot_qrcode)。
  3. 3. 终端显示出二维码来。
  4. 4. 用手机微信扫码并授权后,插件的长轮询探测接口(get_qrcode_status)返回 confirmed
  5. 5. 本地存储:拿到的核心授权凭证 bot_token 和微信 ID accountId 会被序列化存放到本地 .openclaw/openclaw-weixin/accounts/ 相关的 JSON 历史文件中,完成绑定。如:
1
2
3
4
5
6

{  "token": "*********@im.bot:*******************5b********",  "savedAt": "2026-03-23T13:58:14.927Z",  "baseUrl": "https://ilinkai.weixin.qq.com",  "userId": "******-ClLU_************@im.wechat"}

3. 长轮询守护进程

当网关服务稳定运行后,插件就要负责去听取特定账号的新微信消息了。

  1. 1. 系统为每个关联的微信账号启动 monitorWeixinProvidersrc/monitor/monitor.ts)。
  2. 2. 在该函数内,挂起一个长轮询的死循环,不停请求服务端的 getupdates 接口。
  3. 3. 防丢失机制(Sync Buf):每次长轮询,服务端都会返回一个游标参数 get_updates_buf,为了防止网关重启丢失消息,代码将其写入本地的 .sync.json 文件(saveGetUpdatesBuf)。下次轮询带着这串 buf 过去,服务器就能严格按序下发新消息了。

4. 接收消息与预处理

当你在微信客户端给 clawbot 发送信息时,微信插件的处理如下:

  1. 1. 微信 iLink 网关服务的长轮询马上收到响应。
  2. 2. monitor.ts 解析这批消息后,将其丢给 processOneMessage 进行结构化抽取和转义。把微信复杂的结构(文本、图片、语音、文件)翻译成能被 OpenClaw 和 AI(大语言模型)理解的标准协议事件。
  3. 3. (这期间它还会悄悄记录并维护 context_token 等上下文标记,为了后续准确把回复发回给当前会话)。
  4. 4. 消息随后被抛入 OpenClaw 上层工作流。

5. 并写回消息

在大模型处理完之后,决定要回复内容时,将调用微信渠道的 outbound 方法(依然在 src/channel.ts 里)。分两种情况:text 或 Media。Media就 麻烦了一些,大致如下:

  • • 如果回复纯文本:触发 sendText,直接封装成微信后端的 sendmessage API 报文投递出去。
  • • 如果回复图片/文件:触发 sendMedia
    1. 1. 判断是本地资源(临时生成的图)还是网络 URL。
    2. 2. 若是网络 URL 会先临时下载到本地缓存盘 media/outbound-temp 中。
    3. 3. 执行复杂的 CDN 上传握手:计算文件大小、MD5;请求 getuploadurl 拿加密授权;将文件 AES 加密传到腾讯 CDN。
    4. 4. 拿到返回后的引用标识,封装到 sendmessage API(类型为文件或图片)发送给微信端。

所以,理解下来是:这个流程就可以适用于所有的 agent 了。 微信接入其他的 claw 或 agent 就全通了。

clawbot 变成任意agent通道

我们可以把 微信在 OpenClaw  的插件找出来,然后丢给其他的 agent 如 claudecode 让它们分析接入 。我们可以把这个源码丢给大模型,让它帮忙适配一下。(我还没有真正的试过)

如:参考 openclaw-weixin, 把claudecode接入我的微信中,等等。

在 github上, 我找到一些接入的插件如:

https://github.com/formulahendry/wechat-acp

https://github.com/fendouai/OpenCodeWeChat

所以问题应该不大。但是要注意:通过  iLink 的方式私下接入是存在被微信封号的风险

写在最后

微信生态以“克制”和“封闭”著称,开发者们在各种限制下跳舞,甚至不得不寻找各种非官方路径。但 OpenClaw 的出现,像是在这堵高墙上凿开了一道光亮。

对微信的动作和 OpenClaw-WeChat 插件的了解,我们不难发现微信生态正在发生一场“静悄悄的革命”。 如果自己不变化,接纳新事物。微信怎么能说“连接一切”呢?

相信后面它会越来越开放,越来越好的。

本文为技术分享,文章纯手工写图片部分 Nano Banana 2 生成