平台适配器模式
概述
将 Agent 能力通过统一接口暴露到多个消息平台的设计模式,每个平台实现独立适配器,核心逻辑与平台解耦。
关键内容
- 覆盖 15 个平台:即时消息(Telegram、Discord、Slack、WhatsApp、Signal、Matrix、Mattermost)、传统通信(Email、SMS、BlueBubbles/iMessage)、国内平台(钉钉、飞书、企业微信)、智能家居/通用(Home Assistant、Webhook)
- 统一接口设计:每个适配器实现
on_message()方法,将平台特定格式转换为内部MessageEvent统一格式{platform, user_id, text, media?, reply_to, timestamp} - 出站适配:
delivery.py处理向不同平台发送消息的细节,包括长消息分段(各平台有不同长度限制)、Markdown 格式转换(不同平台支持不同的 Markdown 子集)、媒体文件上传、失败重试 - 扩展性:新增平台只需实现适配器接口,不修改 AIAgent 核心代码,符合开闭原则
- 平台元数据注入:每个 MessageEvent 携带 platform 元数据,AIAgent 可根据平台特性调整响应格式(如 Telegram 支持富文本,SMS 仅纯文本)
- 与模型无关设计的协同:平台适配器解决"在哪里交互"的问题,模型无关设计解决"用什么模型"的问题,两者共同实现 Hermes 的"随处运行、无处不在"愿景
来源
- 05_hermes_gateway.md — Hermes Agent 深度解析第五篇:Gateway 消息网关,2026 年 4 月版本
相关
- Gateway 消息网关 — part_of
- Hermes Agent — implements
- 模型无关设计 — extends