1 接入微信

微信现在已经支持个人机器人通过正规渠道接入了。

这次开放的不只是 OpenClaw 的接入能力,更准确地说,微信把一套机器人接入协议放出来了。有人拿它接 OpenClaw,也有人拿它接 Claude Code。只要按这套协议来,理论上别的机器人也能接进去,包括自己写的。

这和以前只能走企业微信、公众号后台,或者自己想办法绕路,已经不是一个量级。微信当然也加了不少限制,比如机器人不能加群,一个账号只能接一个机器人,机器人目前只能收文件、不能给用户发文件,至少我现在测到的版本是这样。

这也正常,毕竟这里碰到的是聊天、隐私和交易这些高权限场景,不可能一开始就完全放开。

但趋势已经很清楚了。后面机器人只会越来越多,平台迟早都得支持这件事。谁开放得早,谁就更容易先占住生态位。

1.1 原理

接口跑在 https://ilinkai.weixin.qq.com。微信官方提供了 @tencent-weixin/openclaw-weixin 插件,npm 包里就是完整的 TypeScript 源码。

原理不复杂,基本就是三步:

  • 认证:先调 ilink/bot/get_bot_qrcode 拿二维码,用户扫码后,再通过 ilink/bot/get_qrcode_status 长轮询拿认证结果,里面会带 bot_token
  • 收消息:调 ilink/bot/getupdates 做 HTTP 长轮询。有新消息就返回,没有就挂起等待。每条消息都会带 context_token
  • 发消息:调 ilink/bot/sendmessage,带上 bot_tokencontext_token,消息就能回到微信里

按这套逻辑写一个 service,本质上就是在自己这边实现一个微信机器人。想自己接,不一定非得依赖官方插件,参考文末的开源项目也能走通。(详见参考2)

1.2 具体方法

实际接入分两部分:

  • 手机端:我 -> 设置 -> 插件 -> 微信 ClawBot
  • 电脑端:给 OpenClaw 装 openclaw-weixin 插件

插件地址:https://npmx.dev/package/@tencent-weixin/openclaw-weixin

1
2
3
4
5
docker exec -it openclaw-openclaw-gateway-1 bash
openclaw plugins install "@tencent-weixin/openclaw-weixin"
openclaw config set plugins.entries.openclaw-weixin.enabled true
openclaw channels login --channel openclaw-weixin # 此时用微信扫码即可

装完后会自动重启 Docker。扫码成功后,就可以直接在微信里和龙虾对话了。

如果提示 ClawHub 连不上,一般走代理就能解决。插件和配置都保存在宿主机的 $HOME/.openclaw 目录里,所以 Docker 重启后也还在。

1.3 使用注意事项

  • 目前 iOS 和 Android 都已支持,先把微信升到最新版本:我 -> 设置 -> 关于微信 -> 版本更新
  • 再确认插件入口已经出现:我 -> 设置 -> 插件
  • 电脑端插件装好后,再扫码登录

1.4 现在的问题

  • 我现在用的版本里,用户可以给机器人传文件,但机器人还不能把文件回传给用户,估计是出于安全考虑。

1.5 一个延伸想法

后面大概率会出现一层桥接服务,一边连微信、飞书、Telegram、Discord 这些 client,一边连 Claude Code、OpenClaw 这类 agent。它自己不一定负责智能,主要做的事是把入口和机器人接起来,变成一个稳定的 hub。

2 常见问题

2.1 流量税

一个很常见的问题是:为什么一天都没和小龙虾说话,账单还是在涨?

我当时开了两个龙虾服务,默认模型是 copilot/gpt-5.4,按 request 收费。粗算下来,大概一小时会产生 2 个 request,也就是:0.04 x 2 x 24 = 1.92 美元。这样一只虾一天差不多就是 13 块人民币。写程序的人对这个数字会比较敏感,因为 50 多个 gpt-5.4 的 request 已经够解决不少实际问题了。就算换成便宜一点的 copilot/gpt-5.4-mini,一天也要 4.5 元左右。

我后来判断,主要是心跳引起的。心跳的作用,是让 AI 定期执行 HEARTBEAT.md 里的任务,比如每日提醒、定时检查。如果暂时不需要这些能力,把心跳关掉会省不少钱。

做法是改 $HOME/.openclaw/openclaw.json 里的 agents 配置,同时把默认模型换成便宜一点的版本,例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
"agents": {
"defaults": {
"heartbeat": {
"every": "0m"
},
"model": {
"primary": "github-copilot/gpt-5.4-mini"
},
"models": {
"github-copilot/gpt-5.4-mini": {},
"github-copilot/gpt-5.4": {}
},
......

我改完以后重启服务,额外费用就基本没了。

2.2 切换模型

安装 OpenClaw 时会指定一个默认模型,但因为价格和能力差别很大,实际用的时候经常要来回切换。最稳的方式,是直接在聊天界面里用内置命令 model

  • /model github-copilot/git-5.4-mini:切换模型

这种方式成功率最高。直接说“请切换到 xx 模型”有时候也能切,但不一定稳定。

2.3 重新加载技能

如果在后台或者别的对话里装了 skill,当前对话往往不会立刻生效,这时需要重新加载。最简单的方法是直接开一个新会话:

  • /new:开启新对话

这样通常就能把新装的 skill 带进来。

3 参考

  • 微信官方接入龙虾,我顺手给接上了 Claude Code。已开源:https://mp.weixin.qq.com/s/FrSNOFwok8cenLksrkFG8w?poc_token=HCL2wWmjlj3KTVteV2nYFpCim-elwRwFx6-teuWs
  • claude-code-wechat-channel:https://github.com/Johnixr/claude-code-wechat-channel