乐于分享
好东西不私藏

OpenClaw 微信插件失效?一次更新带来的问题

OpenClaw 微信插件失效?一次更新带来的问题
上周写了一篇OpenClaw安装微信插件的文章,使用上感觉很丝滑。
但是没想到,3月22号,OpenClaw更新了重量级版本,导致微信插件失效了。
Error: Cannot find module 'openclaw/plugin-sdk'
Require stack:
- C:\Users\Administrator\.openclaw\extensions\openclaw-weixin\index.ts

01 原因

这是 3.22 最重要、影响最深远的变更——插件开发接口从 openclaw/extension-api 全面迁移到 openclaw/plugin-sdk/* 子路径。
3.22 把插件 SDK 拆成了独立的子模块:
  • plugin-sdk/core:核心接口定义
  • plugin-sdk/channels:渠道插件 API
  • plugin-sdk/skills:技能插件 API
  • plugin-sdk/testing:插件测试工具
  • plugin-sdk/runtime:注入式运行时
对于所有的OpenClaw 插件,这是一个破坏性变更,必须迁移。所有 import ... from 'openclaw/extension-api' 都需要改为对应的 openclaw/plugin-sdk/* 子路径。

02 怎么处理

结论:可以直接安装最新的微信官方插件,支持两个版本的openClaw。参考 https://www.npmjs.com/package/@tencent-weixin/openclaw-weixin

  • 安装

# 快速安装npx -y @tencent-weixin/openclaw-weixin-cli install# 手动安装openclaw plugins install "@tencent-weixin/openclaw-weixin"openclaw config set plugins.entries.openclaw-weixin.enabled true
# 命令行输入启动扫码openclaw channels login --channel openclaw-weixin

如果是前几天微信没有提供官方解决方案的话,处理稍微麻烦一些。详细可以参考下这个issue,看看大家的解决思路。

https://github.com/openclaw/openclaw/issues/52885

03 小插曲

在成功安装微信插件后,我在命令行敲出登录命令

openclaw channels login --channel openclaw-weixin

在等待一段输出后,竟然报错

Failed to start login: AbortError: This operation was abortedChannel login failed: Error: Failed to start login

在检索了一下无果后,选择用OpenCode去解读微信的插件源码,最终得出可能结论是

1. 在 login-qr.ts 的 fetchQRCode 函数中(第63-72行),它使用 apiGetFetch 获取二维码2. apiGetFetch 函数使用了 5000ms (5秒) 的超时 (GET_QRCODE_TIMEOUT_MS = 5_000)3. 当请求超时时,AbortController 会中止请求,抛出 AbortError

所以根本原因是:请求微信 API 获取二维码时超时了(5秒内未响应),无法连接到如下域名。

https://ilinkai.weixin.qq.com

于是用curl命令测试了一下域名的可达性,并尝试了几个代理方式后,终于再次看到了登录的二维码。

扫码,再次和小龙虾连接成功。

    欢迎点赞&分享,关注我分享不一样的旅行体验

    👇 👇 👇