OpenClaw 微信插件接入问题复盘笔记
一次完整的故障排查记录,从问题发现到根因分析,再到最终解决。
📋 问题概览
日期:2026-03-23环境:Win11 + WSL2 (Ubuntu) + OpenClaw v2026.3.13 + 微信插件 v1.0.2
问题现象:
-
首次连接报错: Cannot find module 'zod' -
连接后消息无响应 (第一次扫码登录后没有置顶这个clawbot,导致后面找不到了,然后重新扫码登录,就出现了这个发消息没响应的问题)
一、问题现象
1.1 首次连接报错
执行安装命令后首次连接报错:
Cannot find module 'zod'Channel login failed: Error: Unsupported channel: openclaw-weixin
1.2 连接后消息无响应
扫码登录成功后,在微信中向 “微信clawbot” 发送消息,对端没有任何响应。
二、问题根因分析
🔍 问题一:临时安装目录残留
发现:存在两个插件目录
|
|
|
|---|---|
/home/***/.openclaw/extensions/openclaw-weixin/ |
|
/home/***/.openclaw/extensions/.openclaw-install-stage-bhVL2m/ |
|
原因:npm 安装时先下载到临时目录,但清理不完整,导致:
-
两个目录都包含同个插件 -
触发 duplicate plugin id detected警告 -
临时目录缺少 node_modules,报Cannot find module 'zod'
🔍 问题二:systemd 服务缺少代理配置
发现:openclaw-gateway.service 环境变量中没有代理配置
原因:用户使用代理 http://127.0.0.1:7897,终端有 HTTP_PROXY 变量,但 systemd 服务不会继承用户 shell 环境变量。
影响:Node.js 原生 fetch 无法通过代理访问微信 API,报错:
TypeError: fetch failed
🔍 问题三:多账号导致 session 冲突
发现:日志显示存在两个微信账号
accounts.json: ["8979***c00-im-bot", "4a1****610-im-bot"]
原因:调试时多次扫码登录,产生两个账号:
-
8979***c00-im-bot:session 已过期 (errcode -14) -
4a1***610-im-bot:正常工作
影响:过期账号产生错误日志,可能干扰正常消息处理
三、修复步骤
✅ 步骤 1:删除临时安装目录
rm -rf /home/***/.openclaw/extensions/.openclaw-install-stage-bhVL2m
✅ 步骤 2:添加 plugins.allow 配置
在 openclaw.json 的 plugins 节添加白名单:
"plugins":{"allow":["openclaw-weixin"],"entries":{ ... }}
✅ 步骤 3:添加 systemd 服务代理环境变量
编辑 openclaw-gateway.service,在 [Service] 节添加:
Environment=HTTP_PROXY=http://127.0.0.1:7897Environment=HTTPS_PROXY=http://127.0.0.1:7897Environment=http_proxy=http://127.0.0.1:7897Environment=https_proxy=http://127.0.0.1:7897
重新加载并重启:
systemctl --user daemon-reloadsystemctl --user restart openclaw-gateway.service
✅ 步骤 4:清理过期微信账号
删除过期账号文件:
rm /home/***/.openclaw/openclaw-weixin/accounts/8979ce544c00-im-bot.json
更新账号索引:
["4a1***5610-im-bot"]
四、验证结果
重启服务后,日志显示正常启动:
weixin monitor started (https://ilinkai.weixin.qq.com, account=4a***475610-im-bot)Monitor started: baseUrl=https://ilinkai.weixin.qq.com timeoutMs=35000
收到消息测试成功:
inbound message: from=o9cq806H5w****JL1bA5nQKXE@im.wechat types=1outbound: text sent OK to=o9cq806H5****bA5nQKXE@im.wechat
✅ 问题解决!
五、关键配置文件路径
|
|
|
|
|---|---|---|
|
|
~/.openclaw/openclaw.json |
|
|
|
~/.config/systemd/user/openclaw-gateway.service |
|
|
|
~/.openclaw/openclaw-weixin/accounts/ |
|
|
|
~/.openclaw/openclaw-weixin/accounts.json |
|
|
|
/tmp/openclaw/openclaw-YYYY-MM-DD.log |
|
|
|
journalctl --user -u openclaw-gateway.service |
|
六、经验总结
💡 插件安装注意
-
安装后检查 extensions/目录 -
临时目录特征:以 .openclaw-install-stage-开头 -
发现残留立即删除
💡 systemd 服务环境变量
-
systemd 服务不会自动继承用户 shell 环境变量 -
需要在 service 文件中显式声明 -
修改后必须 daemon-reload
💡 多账号管理
-
频繁重新登录会产生多个账号 -
定期清理过期账号 -
检查 accounts.json管理账号列表
💡 日志分析技巧
# 查看最近日志journalctl --user -u openclaw-gateway.service -n 200# 过滤微信相关journalctl --user -u openclaw-gateway.service | grep -i weixin
关键日志字段:
-
inbound message:收到消息 -
outbound:发送消息 -
session expired (errcode -14):session 过期 -
fetch failed:网络请求失败
七、后续建议
-
监控 session 状态:定期检查日志 -
定期清理:清理过期微信账号 -
代理配置:更换代理时同步更新 -
日志备份:重要日志定期备份
排查问题的过程,也是深入理解系统的过程。每一次报错,都是学习的机会。
夜雨聆风