Skip to content

Windows Server 上 openclaw-weixin 运行态 getUpdates/reply 间歇性失败,疑似 ilinkai.weixin.qq.com 命中不同 IP 池后表现不一致 #206

Description

@atro1e

问题概述

我们在 Windows Server 上使用 @tencent-weixin/openclaw-weixin 时,遇到一个间歇性问题:

  • 微信扫码登录有时能成功
  • OpenClaw 里 channel 状态也可能显示为 enabled / configured / running
  • 但运行一段时间后,微信顶部状态栏会显示:暂无法连接到 OpenClaw

gateway 日志里对应能看到:

[openclaw-weixin] weixin getUpdates error (1/3): TypeError: fetch failed
[openclaw-weixin] weixin getUpdates error (2/3): TypeError: fetch failed
[openclaw-weixin] weixin getUpdates error (3/3): TypeError: fetch failed
[openclaw-weixin] weixin getUpdates: 3 consecutive failures, backing off 30s
[openclaw-weixin] weixin reply final: AbortError: This operation was aborted

从现象看,这不像是单纯插件未安装或扫码未登录成功,而更像是 ilinkai.weixin.qq.com 命中不同回源节点后,运行态长轮询 / 回复请求表现不一致。

环境信息

  • 操作系统:Windows Server
  • OpenClaw:2026.6.6
  • @tencent-weixin/openclaw-weixin2.4.3
  • 我们使用的是定制版,带自己的 § 分段发送补丁
  • 但当前看到的异常主要发生在:
    • 登录阶段的请求
    • 运行态的 getUpdates
    • 运行态的 reply
  • 不是出现在文本分段本身

现象细节

1. 同一域名在不同时间解析到不同 IP 池,表现不同

某一阶段,ilinkai.weixin.qq.com 解析到了这组 IP:

  • 43.137.175.32
  • 43.171.124.85
  • 43.137.191.185
  • 43.171.116.194

这时表现很不稳定:

  • 有的 IP 卡在 TCP 建连阶段
  • 有的 IP TCP 能通,但 TLS / 下行数据异常
  • gateway 持续报 weixin getUpdates error: TypeError: fetch failed

2. 后来同一台服务器又解析到了另一组 IP,这时恢复正常

后来同一台 Windows Server 上,ilinkai.weixin.qq.com 解析到了另一组 IP:

  • 180.101.242.203
  • 101.227.131.211
  • 61.151.230.245
  • 117.89.176.78

这时:

curl.exe -v https://ilinkai.weixin.qq.com

返回:

HTTP/1.1 404 Not Found

同时:

node -e "fetch('https://ilinkai.weixin.qq.com').then(r=>console.log('status='+r.status)).catch(e=>{console.error(e);process.exit(1)})"

返回:

status=404

而且这一阶段扫码登录也能成功完成。

3. 临时固定到一个可用 IP 后,也能稳定访问

我们在 Windows 的 hosts 里临时加入:

180.101.242.203 ilinkai.weixin.qq.com

然后执行:

ipconfig /flushdns
curl.exe -v https://ilinkai.weixin.qq.com
node -e "fetch('https://ilinkai.weixin.qq.com').then(r=>console.log('status='+r.status)).catch(e=>{console.error(e);process.exit(1)})"

结果都是正常的:

  • curl 返回 HTTP/1.1 404 Not Found
  • node fetch 返回 status=404

这很像是:

  • 同一个域名背后的 IP 池表现不一致
  • 或者服务器到不同节点的路径质量有明显差异

抓包结果摘要

我们还对部分异常 IP 做了抓包。

情况 A:43.171.124.85

  • 本机持续发出 SYN
  • 发生多次重传
  • 始终收不到 SYN,ACK

也就是:卡在 TCP 建连阶段。

情况 B:43.137.175.32

  • TCP 三次握手成功
  • 客户端发出了 TLS Client Hello
  • 服务端最终回了 Server Hello
  • 但响应明显偏慢,后续下行数据还有缺段 / 异常迹象

也就是:这个 IP 不是完全不通,但在 TLS / 下行阶段也不稳定。

当前判断

目前我们更怀疑:

  • ilinkai.weixin.qq.com 命中的不同节点池表现不一致
  • 或者 Windows Server 到其中部分节点的网络路径存在波动
  • 这会导致:
    • 登录阶段偶发失败
    • 运行态 getUpdates 连续 fetch failed
    • 回复阶段 AbortError: This operation was aborted
    • 微信前端显示“暂无法连接到 OpenClaw”

想请教维护者

  1. 这是否是已知问题?ilinkai.weixin.qq.com 是否存在不同节点池行为不一致的情况?
  2. openclaw-weixin 当前在 getUpdates / reply 上,是否有针对不稳定节点的更强容错策略?
    • 例如 DNS 重新解析
    • 更细粒度重试
    • 避免长时间卡在某个异常节点
  3. 2.4.3 是否在这类场景下有已知问题?
  4. 是否建议升级到更高版本后再看?
  5. 是否支持临时指定更稳定的 base host / route 作为诊断手段?

相关日志

[openclaw-weixin] weixin getUpdates error (1/3): TypeError: fetch failed
[openclaw-weixin] weixin getUpdates error (2/3): TypeError: fetch failed
[openclaw-weixin] weixin getUpdates error (3/3): TypeError: fetch failed
[openclaw-weixin] weixin getUpdates: 3 consecutive failures, backing off 30s
[openclaw-weixin] weixin reply final: AbortError: This operation was aborted

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions