OpenClaw 接入微信真保姆级教程:演示所有消息类型,多账号管理,所有功能保你配置成功
大家好,这里是小凡 AI 研习社,我是小凡。
OpenClaw 的一大亮点是可以接入日常聊天软件,接入后,我们通过聊天软件中的机器人,就可以对话电脑端的小龙虾。这样一来,我们无需守在电脑前,只需掏出手机便能随时随地使用小龙虾了。
OpenClaw 支持接入的聊天软件十分丰富,全面覆盖国内外主流平台。这些平台的支持方式分为两类:一类是 OpenClaw 内置就支持接入,另一类则需要安装第三方插件才能接入。
本篇教程,教大家接入微信。微信应该是国内聊天软件里,接入流程最简单的。而且我们人人都有微信,不用额外注册、安装新软件。当前,微信接入的功能范围相对精简,仅支持私聊与多媒体消息,不支持群组等扩展功能。但如果你的需求,只是用手机远程操控小龙虾,把它当成随身“遥控器”,那微信绝对是非常不错的选择。
一、接入演示
我们当初安装小龙虾时,在 Onboarding 流程中曾遇到过聊天频道的配置环节,当时是让大家跳过的。大家应该还有印象。

现在想要再接入聊天频道,理论上是执行下边的命令,再次进入频道配置环节添加频道。
openclaw channels add
在配置界面中,可以看到支持配置国内的飞书、QQ,还有国外的 Telegram、WhatsApp 等主流频道,唯独没有微信。

这是因为 OpenClaw 还没有把微信做成内置支持,所以我们无法通过这个统一入口来配置。如果你要接入的是 QQ 或者飞书,那么直接在这里操作就行。顺便说一下,QQ 也是后来才加入内置支持的,在更早的 OpenClaw 版本里,同样不能在这里直接接入。还有一点要特别注意:飞书的接入插件其实有两个版本。一个就是我们现在看到的这个,由 OpenClaw 社区维护,内置在 OpenClaw 里;另一个是飞书官方维护的版本,功能更全面,但不能在这里直接配置。
前置介绍
微信一直是比较封闭的,从未对外开放机器人 API。因此无论是第三方开发者还是 OpenClaw 官方,都无法主动开发插件实现微信接入,这也导致早期版本的 OpenClaw 完全不支持微信。后来,因为 OpenClaw 实在太火了,微信主动提供了专属支持:在 OpenClaw 测开发了插件openclaw-weixin,同时在微信端推出了对应的微信ClawBot插件。
打开手机端微信,在设置中有个插件的设置项。相信大家几年前就看到过它,但点进去一直都是空的。我之前也一直好奇,这个插件怎么一个都没有?没想到时隔多年,它迎来的第一个插件,竟然是给小龙虾的。

在微信ClawBot插件详情页,给出了接入的步骤,非常简单,只要执行一个命令。

除此之外,再给大家介绍一下openclaw-weixin项目的 Github 主页,这里的信息更加全面,建议安装学习的时候参考这个。里边不仅介绍了一键安装,还介绍了手动安装,以及怎么添加更多的微信账号。
Githu 主页:https://github.com/Tencent/openclaw-weixin
一键安装
在终端中执行如下命令。这个命令起到关键作用的其实是@tencent-weixin/openclaw-weixin-cli install,它本质上是将手动安装(见下文)的那几步整合在了一起。npx 是对这条命令进行了包装,它会确保执行环境中有@tencent-weixin/openclaw-weixin-cli命令(没有的话自动安装),然后再执行那条被包装的命令。npx加上-y的作用是自动同意。比如 npx 需要安装命令的时候:如果不加-y会询问我们是否同意,只有我们输入 y,才会继续向下运行;而加上-y则不会询问,默认自动同意直接运行。
npx -y @tencent-weixin/openclaw-weixin-cli install
执行该命令后,安装程序会自动检测 OpenClaw 版本,匹配适配的插件版本,并自动安装 openclaw-weixin 插件。

插件 openclaw-weixin 安装完成后,程序会自动重启 Gateway 以加载插件。

插件加载完成后,安装程序会自动生成二维码,使用微信扫码即可完成连接。如果你这里和我一样,展示的二维码显示异常,无法被正常识别,可复制二维码下方的链接。

在浏览器中打开复制的链接,即可看到清晰可扫描的二维码。

使用手机微信扫码后,手机上会打开一个确认连接的页面,如果你的微信是第一次连 OpenClaw,提示应该和我这里不一样,不管怎样,点击按钮同意,接着就会自动来到和“微信 ClawBot”的对话窗口。

回到终端,可以看到“已将此 OpenClaw 连接到微信”的提示。同时,Gateway 会自动重启,我这里提示重启失败了,事实上是成功的,我们以实际的 Gateway 窗口为准。

到这里,微信就接入成功了,我们在手机微信里和“微信 ClawBot”进行对话,可以正常收到回复,这个回复其实是来自 OpenClaw 的。

电脑端微信同样可以对话。

有兴趣的话,还可以在微信端给这个“微信 ClawBot”改个头像和备注,对话体验将会更加沉浸。

接入成功后,Web UI 的频道页会展示 openclaw-weixin 的频道信息。

超时未扫码怎么办
安装过程中的二维码是有有效期的,如果长时间未扫码确认,过期会生成新的二维码。总共生成 3 次,如果 3 次都没有及时扫码连接,连接流程会终止。


如果真的 3 次都错过了,也不用担心,此时 openclaw-weixin 插件已经安装好了,只要执行添加微信账号的命令,就会再次生成二维码,我们扫码即可。
openclaw channels login --channel openclaw-weixin
功能演示
前置说明:下文涉及到的接收和发送,均以小龙虾为主体。接收图片,数据流向为:用户 → 小龙虾;发送图片,数据流向为:小龙虾 → 用户。
演示之前有个很关键的设置。微信频道中文件消息(多媒体消息本质上发的是文件)的发送,依赖 OpenClaw 内置的工具 message,这个工具默认情况下是禁用的。
默认情况下,配置文件 openclaw.json 中的 tools.profile 被设置成了 coding,而 coding 分组中,工具 message 是被禁用的。

如果工具 message 被禁用,小龙虾通过微信发送文件消息,很有可能这样:

此时可执行以下命令将配置修改成 full ,full 分组下所有内置工具默认全部启用。配置修改完成后,记得重启 Gateway 使其生效。
openclaw config set tools.profile full
你还可以在 Web UI 中进行设置,如下图所示。既可以通过 2 直接切换分组,也可以通过 3 单独启用或禁用某个工具。需要注意的是,这里的设置仅作用于单个 Agent。拿下图的演示来说,本次操作仅针对 main 这个 Agent 独立配置(对应截图标注 1)。OpenClaw 是支持多 Agent 的,main 是默认的 Agent,如果我们还有其它的 Agent,那么其它 Agent 的的工具权限不会被修改。若需要同步修改其他 Agent,需先切换对应 Agent,再单独配置。而前文通过命令行执行的修改,作用范围为全局配置,会对所有 Agent 统一生效。我个人更习惯全局的方式,简单直接,全局范围把工具权限给足,发挥小龙虾的最大能力。

1. 图片收发
接收

发送

2. 视频收发
接收

发送

3. 语音收发
接收
微信侧自动将语音转换成文字,再给到我们的小龙虾。无需我们额外配置 STT。案例中,我的语音内容是“查询一下合肥今天的天气”。

发送

我们看到语音是被当做普通文件发送的,不是日常的那种语音气泡。这是因为目前openclaw-weixin插件还不支持。但相信往后会支持的,Github 上已经很多人在提 Issue 了,甚至连 pr 都有人提了,就等腾讯合并代码了。等这个功能落地后,微信频道基本就能支持所有的消息类型了。

4. 文件收发
接收

发送

5. 结合多媒体生成
依托微信这类聊天频道,我们解锁了更丰富的消息类型。上节课《一个配置让 OpenClaw 封神:AI 写歌、联网搜索、生成各类多媒体》,带大家实操搭建了一套多媒体生成能力。当时是在 Web UI 的聊天页面中使用小龙虾,小龙虾生成内容后,我们还需要进入指定目录打开才能查看,因为 Web UI 的聊天页面只支持发送文本消息,小龙虾只能把生成的文件的路径发送给我们;而现在,全程在微信即可完成交互。多媒体生成和聊天频道配合起来,简直太搭了。

添加更多微信账号
一个 OpenClaw 实例支持同时接入多个微信。举个例子,你部署的小龙虾,除了可以接入你的微信,还可以同时接入家人、朋友或同事的微信,这样一来,每个人都可以随时掏出手机使用小龙虾了。
操作非常简单,每次只需执行下边的命令,让对方扫码即可。需要注意的是,每次生成的二维码只支持一个账号扫码,如需添加多个微信,重复执行命令依次添加就行。
openclaw channels login --channel openclaw-weixin

在 Web UI 的频道页可以查看当前接入的账号情况:比如,我这里当前是接入了两个微信,一个微信 1 小时前有发来消息,另外一个 39 分钟前有发来消息。

补充说明一点:一个微信号仅支持一个「微信 ClawBot」机器人,并且只能接入一个 OpenClaw 实例。如果某个微信账号之前已经接入到某个 OpenClaw 实例上了,再次接入到另外一个 OpenClaw 实例的话,那么之前的接入会失效。
手动安装
上边演示的一键安装,核心就是将手动安装这几步整合在了一起,一般来说,用一键安装就够了。这里介绍一下手动安装,让大家对一键安装具体做了什么有个了解,最主要的是能够知道插件 openclaw-weixin 的存在。
1. 安装插件
openclaw plugins install "@tencent-weixin/openclaw-weixin"
2. 启用插件
openclaw config set plugins.entries.openclaw-weixin.enabled true
3. 扫码登录
openclaw channels login --channel openclaw-weixin
终端会显示一个二维码,用手机扫码并在手机上确认授权。确认后,登录凭证会自动保存到本地,无需额外操作。
4. 重启 gateway
openclaw gateway restart
二、更多技巧
如何查看工具调用信息
在聊天软件中和小龙虾对话,是不会显示工具调用信息的。如果需要的话,可以去 Web UI 的聊天页面进行查看。
在聊天软件中问天气,只会显示结果,中间的工具调用信息是不会显示的。

回到 Web UI 的聊天页面,通过会话列表,切换到微信频道的那个会话。

这时候就能看到详细的工具调用信息了。

多账号上下文隔离
openclaw-weixin项目的 Github 主页中有这么一段。

而我们当前 session.dmScope 的配置是per-channel-peer,这也是默认的配置。

经过我的测试,保持默认的per-channel-peer,多个微信账号之间的上下文也是隔离的。当然也可以按照主页说的,改成per-account-channel-peer,同样是隔离的。
什么是多账号上下文隔离?
简单来说,就是小龙虾针对每个账号的回复,在调用大模型时,传递的上下文参数是独立的。
从表象上来看,你在微信 A 和小龙虾连续对话提问,同时在微信 B 也和小龙虾聊天。这时在微信 B 问它「我刚刚问了你什么」,小龙虾不会泄露、也不会关联微信 A 的聊天内容,各账号对话不互通。
其实,OpenClaw 中每个会话的上下文都是隔离的。只要不同账号是不同的会话,肯定是上下文隔离的。
下图中可以看到,我接入的两个账号,分别是两个独立的会话。同时,在微信 B 中,小龙虾压根不知道我在微信 A 中问了天气。

如何删除某个微信账号
前边我们学会了添加多个微信账号,好心让好哥们的微信也加了进来,让他免费使用我搭建的小龙虾。谁曾想,这哥们用上瘾了,一天到晚都在用,眼看着他浪费了我大把的 Token,这点兄弟情义哪比得上 Token 值钱呢?于是就想把他给踢了,也就是删除他的微信账号。
本来,OpenClaw 除了提供命令openclaw channels login用来让频道添加账号,还提供了配套的 logout/remove 用来退出或删除账号。

可是,openclaw-weixin 目前只实现了添加账号的 login,logout 和 remove 一个都没有实现。


这意味着,目前我们没法用正规命令删除,只能用其他变通办法了。
接入微信之后,~/.openclaw目录下会多出个openclaw-weixin文件夹,这里边存放的就是关于微信账号的接入信息。

我们先在 Web UI 的频道页查询到账号标识。这里的账号列表是按照接入时间正序排序的。我知道好哥们的账号是后加入的,于是我记下第二个账号标识7fdfeb6a95cb-im-bot。

接下来先把 Gateway 关掉。不关的话,后边步骤删掉的部分文件可能会被它自动重建。
然后打开 accounts.json 文件,删掉对应的账号记录,同时删除上边那条记录末尾的逗号。删除多余逗号是为了保证 JSON 格式规范,这是 JSON 数组格式的语法要求。

之后,进入 accounts 目录,删除掉以7fdfeb6a95cb-im-bot开头的所有文件。

最后启动 Gateway 即可。
操作完成后,好哥们的微信,就再也不能和我的小龙虾聊天了。同时,频道页也没有他的账号了。

但是,他的会话还在,里边有他的聊天记录。

如果不打算要的话,简单,在 Web UI 的会话页面删除即可。

之后,再次回到聊天页面,就看不到那条会话了。

三、卸载
如果你想彻底移除掉微信频道,只需将本次引入的openclaw-weixin插件卸载掉即可。
本次为接入微信,安装了openclaw-weixin插件。额外给 OpenClaw 安装的插件,位置一般是在~/.openclaw/extensions目录下。

可以用命令openclaw plugins list查看当前 OpenClaw 所拥有的全部插件列表,其中就有我们的openclaw-weixin插件,我们还能看到当前插件的版本是 2.4.1。但是,为什么这里显示有这么多插件呢?我们不是只装了这一个插件吗?目录~/.openclaw/extensions下不是也只有这一个插件吗?那是因为这里显示的除了有我们额外安装的插件,还有 OpenClaw 内置的插件。大家还记得内置插件的位置吗?在之前的安装课程中是有说过的,位置是在<安装目录>/dist/extensions下,具体可以回顾一下前边的课程。
openclaw plugins list

卸载插件可以用命令openclaw plugins uninstall,后边跟上插件的唯一标识(上边列表的第二列)。
openclaw plugins uninstall openclaw-weixin
执行过程中会让我们确认,我们输入 y。

命令执行结束会自动重启 Gateway。通过提示我们看到,除了插件本身,相关的配置也自动被删除了。

Gateway 重启好之后,可以简单验证一下,我们看到插件 openclaw-weixin 是没有了。


之前接入的微信也不能再和小龙虾对话了。同时,我们来到 Web UI 的频道页,这里已恢复为接入微信之前的样子。

我们再检查一下~/.openclaw目录下的openclaw-weixin文件夹,发现文件夹依然存在。没关系,手动删除即可。

另外,之前微信频道的那些会话还是在的。

如果不想要了,可以用前文介绍的方法,把那些会话删掉。

最后
-
课程中如果遇到问题,欢迎大家进群交流。扫码添加小凡微信,备注「进群」即可。 -
公众号刚起步,要是你觉得这篇文章还有点用,也顺手点个关注吧。

夜雨聆风