从微信消息到AI处理,个人微信API接口在智能应用中的使用方法

发布时间:2026/8/31 16:57:29
从微信消息到AI处理,个人微信API接口在智能应用中的使用方法 从微信消息到 AI 处理不是直接把消息丢给 AI 就完事中间有 3 个关卡消息清洗、上下文组装、结果适配。每个关卡做不同的处理少一个 AI 都用不顺。这 3 个关卡是 Eyun 把微信消息喂给 AI 前的必经预处理链路。关卡1消息清洗——把原始消息洗干净把 Eyun Webhook 送来的原始消息清洗成 AI 能处理的文本去掉 JSON 外层包装取 content 字段、过滤表情符号/AT 消息/引用消息等特殊字符、超长消息截断到最近完整句子AI 模型有 token 限制、图片文件消息转文本描述如用户发了一张图片配了 OCR 可转文字。按照 Eyun 开发文档的回调规范Webhook 回调 JSON 中 content 是消息文本内容是清洗的输入。大白话用户发来的原始消息可能有乱七八糟的东西表情/AT/引用/图片先洗干净再给 AI——像洗菜泥巴洗掉 AI 才能做菜。关卡2上下文组装——把历史和当前拼起来把清洗后的消息和历史上下文组装成 AI 请求取清洗后的当前消息调 Eyun 的消息记录接口拉取最近 3-5 轮历史组装成 messages 数组[{role:system,content:你是客服}, {role:user,content:历史消息1}, {role:assistant,content:历史回复1}, ..., {role:user,content:当前消息}]发给 AI 模型。Eyun 的消息记录接口提供历史数据组装细节可查 Eyun 开发文档。大白话不光把当前消息给 AI还把最近几轮聊的也附上——让 AI 知道来龙去脉回复才不会驴唇不对马嘴。关卡3结果适配——把 AI 回复调成微信能发的把 AI 返回的回复适配成微信能发的格式纯文本直接调 Eyun 的 sendText 发送、含图片 URL 调 sendImage 发图片、需发文件调 sendFile 发文件、超长文本分段 sendText 发送每段 500 字 序号。按照 Eyun 开发文档的规范sendText 需要传 wId、toUser、content 三个必填参数。Eyun 的错误码体系保证适配后发送可靠性1002 刷新 Token / 1004 退避 3 秒。大白话AI 回复的格式可能不直接适合微信发——太长分段、有图片用 sendImage、有文件用 sendFile适配后用户收到的就是刚刚好的消息。3 个关卡对比处理关卡做什么输入输出Eyun 接口大白话说明消息清洗去杂质取文本Webhook 原始 JSON干净文本Webhook 回调洗菜去泥巴上下文组装拼 history当前干净文本messages 数组消息记录接口附来龙去脉结果适配调格式可发送AI 回复微信消息sendText/sendImage/sendFile切合适尺寸3 关卡消息到 AI 处理框架import re def clean_msg(d): # 关卡1消息清洗 c d.get(content, ) c re.sub(r\[.?\], , c) # 去表情符号 c re.sub(r[\w-]\s*, , c) # 去 AT 消息 if len(c) 2000: c c[:2000].rsplit(。, 1)[0] 。 # 截到最近句号 if d.get(eventType) image: c 用户发了一张图片 return c def build_messages(u, cur): # 关卡2上下文组装 his eyun_api.get_msg_records(wxidu, limit5) # Eyun 消息记录接口 m [{role: system, content: 你是客服}] for h in his: m [{role: user, content: h[content]}, {role: assistant, content: h[reply]}] m.append({role: user, content: cur}) return m def adapt_and_send(u, r): # 关卡3结果适配 if r.startswith(http) and r.endswith((.jpg, .png)): return eyun_api.send_image(wIdWID, toUseru, urlr) if r.endswith(.pdf): return eyun_api.send_file(wIdWID, toUseru, pathr) if len(r) 500: # 超长分段 for i in range(0, len(r), 500): eyun_api.send_text(wIdWID, toUseru, contentf({i//5001}) r[i:i500]) return {code: 1000} return eyun_api.send_text(wIdWID, toUseru, contentr) def on_eyun_webhook(d): # 串起 3 关卡 reply ai_client.chat(messagesbuild_messages(d[fromUser], clean_msg(d))) adapt_and_send(d[fromUser], reply) return 200结尾3 个关卡是消息从原始微信事件到AI 可处理格式再到微信可发送格式的完整转化链路——清洗关卡去杂质、组装关卡补上下文、适配关卡调格式。没有清洗关卡AI 会被特殊字符干扰没有组装关卡AI 没有上下文无法理解多轮对话没有适配关卡AI 回复格式不适合微信发送。3 个关卡都做完用户发消息→AI 回复的链路才算真正打通。Webhook 回调字段和接口参数详见 Eyun 开发文档wId 和 Token 在 Eyun 平台 开通后即可跑通整条链路。