一觉醒来,很多网友发现微信里的虾不能用了,原因是 OpenClaw 昨天一次大更新。APPSO 在开头强烈建议,如果你想在微信养虾,先别升级到 OpenClaw 最新版。当我们尝试把手边的 OpenClaw 更新到最新版本时,果然在更新的过程中,就接连报出好几个警告。不只是微信(下图中 openclaw-weixin),我们之前配置的腾讯系 qqbot、企业微信 wecom-openclaw-plugin,以及飞书等聊天应用,都遇到了「包含危险代码模式」的警告。我们在从 3.13 版本更新到 3.23 的过程中,腾讯系的 qqbot、企业微信和微信几乎都遇到了类似的警告。 所谓的检测到危险的代码模式警告,一般是说在相关的插件代码里,有一些写法,可能带来安全风险、稳定性问题,或者被恶意利用。它和报错不同,报错是代码已经出现明确问题,程序没法正常继续,或者结果不可信。更新完成后,我们尝试在微信里面和 Clawbot 对话,控制部署在本地的 OpenClaw,连发好几条消息都没有回应。查看 OpenClaw 的官方日志,我们发现,在微信里发给 Clawbot 的信息,完全不能同步到 OpenClaw 处理。反而好几条都是 error 的报错信息,提示找不到 OpenClaw 的 plugin-sdk 的模块。
Error: Cannot find module 'openclaw/plugin-sdk'微信 ClawBot 在更新后连接不上 OpenClaw在我们按照微信官方的 Clawbot 插件提示,重新在终端里输入命令安装 Clawbot 时,开始像 OpenClaw 的运行日志里面,报出找不到相关模块的问题。OpenClaw 现在可以说是 GitHub 上的顶流开源项目,几乎每天都有人在为他提交优化代码,而官方基本上也是保持在 2-3 天就会更新一个新的发布版本,每次都是大量的 fixes 代码修复、changes 变更,和 breakings 大改动。从 GitHub 能看到,OpenClaw 的更新相当频繁在这次 2026.3.22-beta.1 的更新中,Openclaw 团队就进行了一次重构。对于插件系统,他们做了两个大幅度的变动。拆除了原有的总大门: 以前所有的插件都可以直接从 openclaw/plugin-sdk 这个统一的入口拿到需要的功能。这次更新,官方直接把这个总入口给删了。不提供任何过渡方案: 更新日志里明确写了 no compatibility shim(无兼容垫片)。意思就是,他们不仅直接把这个模块删除了,连个转移和过渡的接口都不给。虽然对用微信 Clawbot 的普通用户来说很折磨,但从软件工程的角度,官方这么做主要是还是为了性能和安全。
以前的统一入口的模式,会导致插件一口气把整个开发包(SDK)全加载进内存,哪怕它只用到了一小部分功能,这会让软件变得臃肿缓慢。现在官方强制要求细分路径(比如必须写精确到 openclaw/plugin-sdk/core),就是要逼着插件作者「要什么拿什么」,从而大幅提升 Openclaw 的启动速度。此外,更新日志里还提到了「阻断相对路径的跨包逃逸」。意思是以前的旧接口太宽松,稍微有点恶意的插件可能会越权访问你电脑里的其他数据。现在强制使用细分的新接口,是为了把每个插件严严实实地关在自己的小盒子里。OpenClaw 在自己的官方文档里也立刻更新了说明,提到这个更新,主要就是为了实现按需加载,提升启动速度和省内存,另一方面是让 API 的接口更加清晰。OpenClaw 的插件更新,提到了为什么要改变,做了哪些改变,以及插件开发者如何修改的指引强制遵守 API 规矩,就是要求插件只能使用公开的、稳定的接口(也就是 openclaw/plugin-sdk/* 里面的东西)来获取能力。如果大家都用相对路径去偷偷访问底层的私有代码,一旦官方修改了底层代码的文件夹名字,就会直接拦截报错。原因已经很明显了,就是微信的 clawbot 插件找不到和 OpenClaw 对接的路线了。微信和企微插件的作者在写代码时,使用的是旧版的规则,代码里写死了要去 openclaw/plugin-sdk 找工具。而在我们启动新版 Openclaw 时,程序读到微信插件的这行代码,去系统里一找——发现官方已经把这个路径给删了。OpenClaw 的运行环境使用的是 Node.js 平台,它是个一板一眼的机器,找不到东西它就会立刻报错:Error: Cannot find module 「openclaw/plugin-sdk」,然后直接原地罢工,导致我们的微信和企微甚至连加载都加载不出来。更不用说发消息给他,想要得到回复了。而 QQBot 还能正常使用,主要是一开始的危险代码警告,仅针对这次更新引入的严格静态代码扫描工具,警告并不会阻止插件运行。社交媒体上对这件事议论纷纷,有人说「微信想要继续好好利用这个插件,就必须认真学习开源生态系统的相关知识了。」也有人反驳,是 OpenClaw 本身就很不稳定,一直在更新修改。「即便微信要对开源做适配,为什么不直接说 OpenClaw 的 API 设计太糟糕呢?项目一开始的接口简直就是一堆乱七八糟的东西,稍微改动一下就崩溃」。确实如此,通常开源社区负责任的做法是,会先标记旧接口为「已废弃(Deprecated)」,保留运行能力但弹窗警告,给开发者几个月的过渡期,下个大版本再彻底删除。这次,微信辛辛苦苦更新了一个版本,推出了支持二维码登录、消息收发等功能的「真.微信龙虾」,甚至有网友发现在微信公开的这个插件安装包里面,是微信第一次开放个人机器人的协议。链接:https://www.npmjs.com/package/@tencent-weixin/openclaw-weixin但刚迈出了这么大的一步,反手就被 OpenClaw 的一次更新给「背刺」了。(转载自APPSO)