/api/wechatTOKEN 已配置

微信公众号 AI 自动回复接口

明文模式、XML 数据格式。接口负责微信服务器验证、消息签名校验、XML 解析,然后把用户消息交给大模型生成回复, 再组装成被动回复报文返回。

填进「配置消息推送」弹窗

在微信公众平台把下面三项对应填好,点确定时微信会向 URL 发一次 GET 验证,本接口会校验签名并回显 echostr。

URL
https://你的域名/api/wechat
必须是已部署的公网地址
Token
使用环境变量 WECHAT_TOKEN 的值
两边必须完全一致
EncodingAESKey
随机生成即可(明文模式不使用)
消息加密方式选择 明文模式安全模式需另做 AES 解密
数据格式XML公众号仅支持 XML

注意:v0 预览域名可以用于验证,但正式使用建议先点右上角 Publish 部署,再把生产域名填进去。微信只接受 80 和 443 端口。

自动回复调试

模拟一条用户文本消息,走完整的解析 → 生成 → 组装 XML 流程,并计时是否赶上微信 5 秒超时。

关于微信的 5 秒超时

微信要求被动回复在 5 秒内返回,否则会用相同的 MsgId重试,最多 3 次。大模型生成有时会超过 5 秒,所以接口做了这样的处理:

  1. 首次收到消息时启动生成任务,并以 MsgId 为键缓存这个任务,最多等 4.2 秒。
  2. 4.2 秒内生成完就直接回复;没完成则返回空串——微信不会给用户报错,只会稍后重试。
  3. 重试带着同一个 MsgId 进来时复用缓存里的任务,此时通常已经生成好,立即回复,用户端只是稍慢一点收到消息。

缓存是进程内内存,Serverless 多实例下重试可能落到其他实例并重新生成一次。如果并发量上来了,把lib/wechat/pending-store.ts换成 Redis 即可跨实例共享。