乐于分享
好东西不私藏

OpenClaw 微信插件接入问题复盘笔记

OpenClaw 微信插件接入问题复盘笔记

一次完整的故障排查记录,从问题发现到根因分析,再到最终解决。


📋 问题概览

日期:2026-03-23环境:Win11 + WSL2 (Ubuntu) + OpenClaw v2026.3.13 + 微信插件 v1.0.2

问题现象

  1. 首次连接报错:Cannot find module 'zod'
  2. 连接后消息无响应
    (第一次扫码登录后没有置顶这个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
channels、plugins 配置
systemd 服务
~/.config/systemd/user/openclaw-gateway.service
服务启动配置
微信账号数据
~/.openclaw/openclaw-weixin/accounts/
每个账号一个 JSON
账号索引
~/.openclaw/openclaw-weixin/accounts.json
账号 ID 列表
运行日志
/tmp/openclaw/openclaw-YYYY-MM-DD.log
服务运行日志
journal 日志
journalctl --user -u openclaw-gateway.service
systemd 日志

六、经验总结

💡 插件安装注意

  • 安装后检查 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:网络请求失败

七、后续建议

  1. 监控 session 状态:定期检查日志
  2. 定期清理:清理过期微信账号
  3. 代理配置:更换代理时同步更新
  4. 日志备份:重要日志定期备份

排查问题的过程,也是深入理解系统的过程。每一次报错,都是学习的机会。

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » OpenClaw 微信插件接入问题复盘笔记

猜你喜欢

  • 暂无文章