一、问题背景
五一假期比较闲,把OpenClaw及常用插件都升级到了最新版本,微信插件(@tencent-weixin/openclaw-weixin v2.4.1)也升级了。然而升级完成后,微信通道连接出现异常,消息无法正常收发。
环境版本:
| 软件 | 版本 |
|---|---|
| OpenClaw | 2026.5.4 |
| 微信插件 | @tencent-weixin/openclaw-weixin v2.4.1 |
二、排查过程
经过一通排查,最开始说环境网络有问题,那就很无语了……最终将问题定位到微信插件的 buildHeaders 函数——该函数在构造请求头时,手动设置了 Content-Length 字段。
三、什么是 buildHeaders
buildHeaders 是微信插件中负责构造 HTTP 请求头的函数。每次向微信服务器发起请求时,都会调用它来构建请求头部信息。
请求头中包含 Content-Type、Content-Length 等字段,用于告诉服务器即将发送的数据格式和大小。v2.4.1 版本中,该函数错误地手动设置了 Content-Length,导致与 HTTP 客户端自动计算的值冲突,最终造成连接失败。
四、如何修复
移除 buildHeaders 中手动设置 Content-Length 的代码即可。
Content-Length 应当由 HTTP 客户端根据实际发送的字节数自动计算,手动指定不仅容易出错,还会导致重复头部、分块传输冲突等问题。信任 HTTP 客户端自身的实现,比人工计算更可靠。
五、总结
不知道是版本不兼容导致的问题,亦或者并非全新安装,旧版本做过修改遗留的问题,如同样遇到此问题可尝试让AI分析是否是这个问题导致连接失败
文章评论