ARTICLE · 1013089
OpenClaw 接入微信频道:从连接到自动回复,附一次真实推送翻车
OpenClaw 接入微信频道:从连接到自动回复,附一次真实推送翻车OpenClaw 接微信不难,因为渠道是官方插件,不用自己写协议。难点在连接稳定性:它依赖长连接,服务器重启、网络抖动、心跳超时都会让推送静默失败——而且失败时不报错,只是"没收到"。 这篇解决的是:怎么接上,以及接上之后怎么确认它真的在干活。 我需要 OpenClaw 做三件事: 每天把生成的「养虾日报」推到我的微信 内容工厂、项目日报等定时任务完成后通知我 我能在微信里直接问它问题,它回我 就是让 AI 助手常驻在微信里,不用开电脑、不用开网页。 openclaw channels list 本机输出(真实): Chat channels: 看到 openclaw-weixin ... enabled 就说明插件在、账号也在。 openclaw channels login --channel openclaw-weixin 会弹出二维码,用微信扫。账号文件落在: /root/.openclaw/openclaw-weixin/accounts/.json cron 任务里指定 channel: openclaw-weixin 即可。本机有几个走微信推送的定时任务(例如每日「养虾日报」),具体时间属于内部调度,这里不展开——你只要知道渠道接好后,任何 cron 任务都能把结果推到这个微信。 配置示例(在 cron 任务里加一段投递设置): delivery: channel: openclaw-weixin to: <你的微信账号> openclaw status 本机显示: │ openclaw-weixin │ ON │ OK │ configured configured 表示账号配好了,但不代表长连接活着——这点下面翻车记录会说到。 现象:任务成功,微信收不到 2026-09-07 早上,几个定时任务全部触发,但我的微信一条都没收到。 查投递状态(真实命令与结果): openclaw cron runs --id <你的任务ID> --limit 1 返回(节选): { "status": "ok", "delivery": { "intended": {"channel": "openclaw-weixin", "to": "o9cq80-...@im.wechat"}, "resolved": {"ok": true}, "fallbackUsed": true, "delivered": false } } 最迷惑的地方:status: ok(任务跑成功了),resolved.ok: true(投递解析成功了),但 delivered: false(没送到)。 也就是说——OpenClaw 以为它发出去了,微信那边没收到。这种"成功但没到"比直接报错更难排查。 心跳失败:openclaw status 里有一行 Last heartbeat failed · openclaw-weixin。心跳是维持长连接的保活机制,它失败 = 连接已经断了。 时间窗:最后一次成功推送是 09-06 06:34,09-07 全天 0 送达。说明连接在某个时间点断了,没自动恢复。 fallbackUsed: true:系统尝试了备用投递路径,也没成。 根因还没完全定位。可能是凌晨网络抖动导致长连接断开后没重连,也可能是账号 session 过期。已经做了两件事: 配置无改动,等今晚新一轮 cron 观察是否自动恢复(长连接有时能自愈) 保留 openclaw channels dead-letters list 作为排查入口(这个命令能列出失败的事件) 别只看 status: ok。任务成功 ≠ 推送成功。要定期查 delivery.delivered 字段。 心跳失败是预警。看到 Last heartbeat failed 就该警惕,不等用户来问"今天怎么没收到"。 cron 推送失败要告警,不能静默。任务成功但投递失败时,应该单独发一条告警给自己,而不是默默当作完成。 项目 金额 openclaw-weixin 频道 ¥0(官方插件) 微信个人号 已有 服务器/API 已有 纯新增成本:0 元。 微信渠道是 OpenClaw 内置的,不像某些方案要买企业号或第三方中转。 微信频道已配置并 enabled 几个定时任务都挂上了微信推送 今天发现推送静默失败的坑,并记录下排查路径 待解决:推送稳定性。这是长连接方案的固有弱点,后面会专门写一篇"怎么给 OpenClaw 推送加健康检查 + 失败告警",把今天这个坑彻底填上。
先说结论
场景:我要微信干什么
配置步骤
步骤 1:确认频道已安装
Telegram default: installed, configured, enabled openclaw-weixin default: installed, configured, enabled openclaw-weixin e471ee286ee5-im-bot: installed, configured, enabled