微信机器人要实现稳定的自动化交互,底层依赖4类接口能力——每类解决一个机器人核心环节的问题,缺一类功能就不完整。本文按机器人功能环节拆解这4类能力。详见 Eyun 平台

第1类:消息发送能力——解决"机器人怎么说话"

消息发送是机器人的输出端。Eyun 的 sendText、sendImage、sendFile 三个接口覆盖文本、图片、文件3种消息类型。按照 Eyun 开发文档的接口规范,sendText 需传 wId、toUser、content 三个必填参数,返回 code=1000 和 msgId 表示发送成功。sendImage 支持 imageUrl 或 imageBase64 两种入参,sendFile 传 fileUrl 即可。参考 Eyun 接口规范

机器人场景:FAQ 回复(关键词匹配→sendText 返回答案)、操作引导(sendText 引导语→sendImage 截图→sendFile 文档三段式推送)、定时播报(定时器触发→sendText 推送内容)。

技术约束:1002 Token 过期自动刷新重试一次;1004 限频退避3秒重发;多模态消息按200ms间隔编排避免顺序错乱。

第2类:事件感知能力——解决"机器人怎么听到用户说话"

事件感知是机器人的输入端。Eyun API 的 Webhook 回调是机器人感知外部事件的唯一入口,覆盖4类事件:消息事件、好友事件、群事件、状态变更事件。每条回调 JSON 含 eventType、fromUser、content、msgId 等字段,5秒内需返回 HTTP 200 并带 msgId 做幂等,超时触发3次重试。

机器人场景:用户消息感知(回调→解析 content 提取意图→路由处理逻辑)、好友变更感知(新增好友→触发欢迎语 sendText)、群事件感知(入群/退群→触发群管理动作)。

技术约束:5秒回调超时需先返回200再异步处理业务逻辑;msgId 幂等去重防重复感知;3次重试期间需队列缓冲避免重复消费。

第3类:会话管理能力——解决"机器人怎么记住上下文"

会话管理让机器人从单轮问答升级到多轮对话,核心是 msgId 跨轮关联+会话状态机。通过 Eyun 的 sendText 推送时记录 sentMsgId,Webhook 接收用户回复时匹配 inResponseTo 字段,即可把两轮消息串成一次会话。状态机管理5种状态:等待回复→已回复→处理中→已回写→已超时。参考 Eyun 开发文档

机器人场景:多轮对话(推送问题→接收答案→推送下一题→循环结束)、审批交互(推送审批→回复同意/拒绝→回写结果)、问卷调查(推送问题→接收答案→推送汇总报告)。

技术约束:msgId 跨轮关联用 Redis 存储 sentMsgId→inResponseTo 映射;会话上下文用 Redis Hash 按 fromUser 维度存储;30分钟无回复自动关闭会话释放资源。

第4类:实例管理能力——解决"机器人怎么扩展并发"

实例管理让机器人从单实例升级到多实例弹性扩展。在 Eyun 平台管理多个 wId 实例,每个 wId 独立 Token,路由调度器按场景、频率、负载分配消息到不同 wId 并发处理。

机器人场景:高并发回复(多用户同时发消息→多 wId 并行处理)、群机器人(多个群→每群分配独立 wId 避免单点过载)、频率分担(单 wId 限频→多 wId 轮换发送)。

技术约束:wId 路由调度按场景和负载动态分配;Token 池集中管理并自动刷新过期 Token;故障 wId 自动切换到健康实例保证可用性。

4类能力对比

接口能力

解决核心问题

Eyun接口

机器人场景

技术约束

角色定位

消息发送

机器人说话

sendText/sendImage/sendFile

FAQ/引导/播报

1002刷新/1004退避/200ms间隔

输出端

事件感知

机器人听话

Webhook 4类事件

意图提取/欢迎语/群管理

5秒超时/msgId幂等/3次重试

输入端

会话管理

记上下文

msgId关联+状态机

多轮/审批/问卷

Redis映射/Hash/30分钟超时

上下文记忆

实例管理

扩展并发

多wId池+Token池

高并发/多群/频率分担

路由调度/Token池/故障切换

并发扩展

4类能力完备性检查框架

def check_robot_capability(meta):
    """4类能力完备性检查,缺一类即返回问题"""
    res = {"ok": True, "missing": []}
    if "sendText" not in meta.get("send_api", []):
        res["missing"].append("缺消息发送:机器人无法回复用户"); res["ok"] = False
    if not meta.get("webhook_enabled"):
        res["missing"].append("缺事件感知:机器人无法接收用户消息"); res["ok"] = False
    if not meta.get("msgid_state_machine"):
        res["missing"].append("缺会话管理:机器人无法多轮对话"); res["ok"] = False
    if meta.get("concurrent_users", 0) > 100 and not meta.get("multi_wid"):
        res["missing"].append("缺实例管理:高并发场景无法扩展"); res["ok"] = False
    return res

落地建议与趋势展望

4类能力构成机器人的完整能力栈:消息发送是输出端(sendText/sendImage/sendFile)、事件感知是输入端(Webhook 回调)、会话管理是上下文记忆(msgId 状态机)、实例管理是并发扩展(多 wId 池)。缺发送机器人变哑巴,缺感知变聋子,缺会话只能单轮,缺实例撑不住并发。

从趋势看,AI 大模型会替代 FAQ 回复里的关键词匹配规则,sendText 推送的内容生成会从模板转向 LLM。但4类接口能力的基础架构不会变——Eyun 的 Webhook 感知+sendText 执行依然是机器人的基础设施,上层逻辑可换,下层接口稳定。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐