一个自建 iLink bot 客户端(DeepSeek Harness 的微信通道插件)出现上行正常、下行 100% 静默丢弃:
ilink/bot/getupdates 正常,用户在微信里发的消息秒级到达客户端;ilink/bot/sendmessage 稳定返回 HTTP 200 {"ret":0};completedAt 和 providerMessageIds);dsh-wechat-plugin(历史连接已停用)。iLink 服务器: https://ilinkai.weixin.qq.com/
协议版本: WEIXIN_PROTOCOL_VERSION = 2.4.6
客户端: DeepSeek Harness 0.2.1-rc.3 (Windows x64)
微信通道插件: @johnnren/dsh-im-humanize 4.38.0-humanize.2
OS: Windows(x64)iLink user_id: o9cq80-yYvt7ZBUkwNO7AP_kyvI8@im.wechat
bot accountId: 8ac484f6f1bc@im.bot
botId: wx_7b2395a2fcb3d356e0b0d2eb
绑定时间: 2026-10-28T11:21:20.707Z (UTC) = 2026-10-28 19:21:20 (UTC+8)
历史情况: 该微信号此前绑定过 OpenClaw / dsh-wechat-plugin 连接(旧连接已停用)
累计未送达: 当前 bot 实例下已发出 6 条以上(含手工直连 1 条),全部丢失,无一条到达手机绑定时间(UTC+8) | botId | accountId | 下行结果 |
|---|---|---|---|
2026-10-28 19:21 | wx_7b2395a2fcb3d356e0b0d2eb | 8ac484f6f1bc@im.bot | ❌ 6/6 条全部丢失 |
2026-10-28 16:00 ~ 19:13 | wx_e550f2e70f2ca1c97df93eed | 0cb36a05d519@im.bot | ❌ 用户反馈未收到 |
2026-10-28 16:05 | wx_47ed3ca20e501cd2c8e29199 | — | ❌ 用户反馈未收到 |
更早 | wx_12a86b9d2a7545c84023f195 | — | ❌ 用户反馈未收到 |
四个 bot 实例、四套独立凭据,现象完全一致。 这排除了「单个 bot 实例故障」和「单次 token 污染」。
19:21:27 用户在手机微信发送「能收到吗」
19:21:45 客户端 getupdates 收到该消息(context_token 同步更新)客户端在收到用户消息后秒级回复,每次 sendmessage 都返回 200 {"ret":0}:
19:21:32.052 发送第 1 条 → 200 {"ret":0} → 手机无
19:21:36.307 发送第 2 条 → 200 {"ret":0} → 手机无
19:24:54.290 发送第 3 条 → 200 {"ret":0} → 手机无
19:24:57.007 发送第 4 条 → 200 {"ret":0} → 手机无
19:25:00.635 发送第 5 条 → 200 {"ret":0} → 手机无getconfig <- HTTP 200 {"ret":0,"typing_ticket":"AARTBK8FAAAB...(长度 472)"}
sendmessage <- HTTP 200 {"ret":0}{
"msg": {
"from_user_id": "",
"to_user_id": "o9cq80-yYvt7ZBUkwNO7AP_kyvI8@im.wechat",
"client_id": "dsh-weixin-<uuid>",
"message_type": 2,
"message_state": 2,
"item_list": [{ "type": 1, "text_item": { "text": "(消息正文)" } }],
"context_token": "AARzJWAFAAABAAAA..."
},
"base_info": {
"channel_version": "2.4.6",
"bot_agent": "DeepSeekHarness/1.1.0"
}
}{"ret":-2,"errmsg":"invalid arguments"};本次全部返回 {"ret":0},说明报文被正常解析接受。getconfig 正常返回 typing_ticket,说明 bot token 有效、鉴权通过。context_token 必然新鲜,仍不投递。state.json 的 sentAt / completedAt 与真实时间毫秒级一致,发送动作已真实发生。sendmessage 返回 ret=0 / HTTP 200 {},手机永远收不到;sendmessage 失败时返回 HTTP 200 + body 内非零 ret,客户端若只看 HTTP 状态会把失败当成功。
丢弃发生在 iLink 服务端针对该特定微信号的下行投递链路上。该微信号的下行路由疑似仍指向历史 OpenClaw / dsh-wechat-plugin 连接留下的失效 session(或失效路由目标),新绑定的 bot 虽然鉴权、上行、参数校验全部正常,但下行消息被投递到已不存在的目标后丢弃,且服务端返回成功码。
o9cq80-yYvt7ZBUkwNO7AP_kyvI8@im.wechat 在 iLink / ClawBot 侧指向历史 OpenClaw 连接的残留绑定 / 失效路由,使新绑定的 bot 能正常下行投递。sendmessage 原始抓包,以及同账号 getupdates 正常上行记录。相似问题