Hermes Agent: 平台消息与多平台接入
最后更新:2026-08-31
多平台接入是 Hermes 的沟通能力——一个 Agent 同时在 Telegram、Discord、Slack 上为你服务,就像你有了多个分身。
💡 提示:Hermes 的平台接入不是简单的消息转发,而是每个平台都保持完整的记忆和技能,消息格式自动适配。
📋 前置知识:第3课 配置文件
1. 你将学到
| 编号 | 内容 |
|---|---|
| ❶ | 支持的平台列表 |
| ❷ | 各平台接入配置 |
| ❸ | 消息处理流程 |
| ❹ | 平台特性适配 |
| ❺ | 多平台消息路由 |
2. 故事
(1) 痛点:不同平台要用不同的 AI
Bob 用 Telegram 和同事聊天,用 Slack 工作,用 Discord 玩社区。每个平台都有各自的 Bot,记忆不互通,技能不共享。
(2) 解法:一个 Agent,全平台覆盖
Alice 的 Hermes Agent 同时接入所有平台:
BASH
# 一个 Hermes,三个入口
Telegram: @AliceHermesBot
Slack: Hermes App
Discord: Hermes#1234
# 记忆和技能完全共享
Slack 中说 "帮我审查代码"
→ Telegram 中说 "继续那个审查"
→ Agent 知道你说的是同一个
3. 支持的平台
| 平台 | 类型 | 消息格式 | 文件支持 | 群组 |
|---|---|---|---|---|
| Telegram | Bot | Markdown | ✅ 图片/文件 | ✅ |
| Discord | Bot | Markdown | ✅ 图片/附件 | ✅ |
| Slack | App | mrkdwn | ✅ 文件 | ✅ 频道 |
| Business | 纯文本 | ✅ 图片/文档 | ❌ | |
| Signal | Bot | 纯文本 | ✅ 图片 | ✅ |
| Twitter/X | Bot | 纯文本 | ✅ 图片 | ❌ |
| IMAP/SMTP | HTML/文本 | ✅ 附件 | ❌ | |
| Web Chat | 自建 | Markdown | ✅ 拖拽上传 | ✅ |
| CLI | 终端 | ANSI | ❌ | ❌ |
| VS Code | 扩展 | Markdown | ✅ 工作区 | ❌ |
| REST API | HTTP | JSON | ✅ Base64 | ❌ |
| n8n | 工作流 | JSON | ✅ | ✅ |
| Home Assistant | 智能家居 | 纯文本 | ❌ | ❌ |
| Custom | 自定义 | 可配置 | 可配置 | 可配置 |
4. 平台接入配置
(1) Telegram
YAML
# ~/.hermes/config.yaml
platforms:
telegram:
enabled: true
token: "${TELEGRAM_BOT_TOKEN}"
# 消息配置
parse_mode: "MarkdownV2"
max_message_length: 4096
# 权限控制
allowed_users:
- 123456789 # Telegram User ID
allowed_chats:
- -1001234567890 # Group Chat ID
# 功能开关
features:
voice_messages: true # 接收语音消息
photos: true # 接收图片
files: true # 接收文件
inline_queries: true # 内联查询
BASH
# 创建 Telegram Bot
# 1. 找 @BotFather 创建 Bot,获取 Token
# 2. 配置到 Hermes
hermes config set platforms.telegram.token "your-token"
hermes platform start telegram
(2) Discord
YAML
platforms:
discord:
enabled: true
token: "${DISCORD_BOT_TOKEN}"
# 服务器配置
guilds:
- id: "123456789"
channels: ["general", "dev", "ai-help"]
# 权限
allowed_roles:
- "Developer"
- "Admin"
# 功能
features:
slash_commands: true
thread_support: true
reactions: true
embeds: true
(3) Slack
YAML
platforms:
slack:
enabled: true
bot_token: "${SLACK_BOT_TOKEN}"
app_token: "${SLACK_APP_TOKEN}"
# 工作区
workspace: "my-team"
# 频道
channels:
- "general"
- "dev-help"
- "ai-assistant"
# 功能
features:
app_mentions: true
direct_messages: true
thread_replies: true
file_sharing: true
(4) WhatsApp
YAML
platforms:
whatsapp:
enabled: true
phone_number_id: "${WHATSAPP_PHONE_ID}"
access_token: "${WHATSAPP_TOKEN}"
verify_token: "${WHATSAPP_VERIFY_TOKEN}"
# Webhook
webhook_url: "https://your-domain.com/webhook/whatsapp"
5. 消息处理流程
(1) 统一消息管道
graph LR
A[Telegram] --> M[消息管道]
B[Discord] --> M
C[Slack] --> M
D[WhatsApp] --> M
M --> P[消息解析]
P --> Q[权限检查]
Q --> R[记忆检索]
R --> S[技能匹配]
S --> T[LLM 推理]
T --> U[工具调用]
U --> V[响应生成]
V --> W[格式适配]
W --> A2[Telegram]
W --> B2[Discord]
W --> C2[Slack]
W --> D2[WhatsApp]
(2) 消息格式适配
| 平台 | 代码块 | 图片 | 长消息处理 |
|---|---|---|---|
| Telegram | ```markdown | 独立发送 | 分割为多段 |
| Discord | ```markdown | 嵌入 | 分割+续接 |
| Slack | ```mrkdwn | Block | 分割为线程 |
| 无格式 | 独立发送 | 分割多段 | |
| HTML | 内嵌/附件 | 单封邮件 |
6. 平台特性适配
(1) 语音消息处理
BASH
# Telegram: 用户发语音 → STT → Agent 处理 → TTS → 回复语音
# 自动工作流:
用户: [语音消息 0:15]
Agent: [voice_stt] → "北京今天天气怎么样"
[web_search] → 查到天气
[voice_tts] → [语音消息 0:08] "北京今天晴天,26度"
(2) 群组对话
YAML
# 群组配置
platforms:
discord:
group_behavior:
trigger: "mention" # @Hermes 触发
listen: false # 不监听所有消息
prefix: "!" # !命令 触发
respond_to_replies: true # 回复 Agent 消息触发
7. 多平台消息路由
(1) 跨平台记忆
BASH
# 在 Slack 中开始对话
Slack: me: 帮我审查 auth.py
Agent: 发现3个安全问题...
# 在 Telegram 中继续
Telegram: me: 刚才那个审查结果,再详细说说
Agent: [跨平台记忆检索]
关于 auth.py 的审查,3个问题分别是...
(2) 消息路由规则
YAML
routing:
# 按平台路由
platform_rules:
telegram:
model: "gpt-4o-mini" # 轻量模型,省钱
personality: "friendly" # 轻松语气
slack:
model: "gpt-4o" # 工作用,高质量
personality: "professional" # 专业语气
discord:
model: "gpt-4o" # 社区用
personality: "creative" # 创意语气
❓ 常见问题
Q 能同时接入多少平台?
A 无限制。同时运行所有 15+ 平台没问题,每个平台独立线程。
Q 跨平台消息延迟大吗?
A 记忆检索 <100ms,不影响体验。响应时间取决于模型推理。
Q 每个平台可以有不同人设吗?
A 可以。通过路由规则设置不同平台的语气、模型、技能。
Q 群组中如何避免回复所有人?
A 配置触发方式:@提及 或 特定前缀(如 !hermes)。默认只回复直接触发的消息。
Q WhatsApp 有什么限制?
A WhatsApp Business API 有消息频率限制(24小时内最多1000条),需 Meta Business 验证。
Q 如何监控各平台状态?
A
hermes platform status 查看所有平台连接状态和消息统计。📖 小节
- 15+ 平台集成:Telegram、Discord、Slack、WhatsApp、Signal 等
- 统一消息管道:接收 → 解析 → 权限 → 记忆 → 技能 → 响应 → 适配
- 跨平台记忆:在任何平台的对话都在同一个记忆空间
- 平台特性适配:语音、群组、长消息、格式转换
- 路由规则:不同平台可以用不同模型和人设
📝 作业
- 基础题(难度⭐):接入 Telegram 或 Discord 平台,完成一次对话,验证消息收发正常。
- 进阶题(难度⭐⭐):同时接入两个平台,在一个平台开始对话,在另一个平台继续,验证跨平台记忆。
- 挑战题(难度⭐⭐⭐):配置多平台路由规则,实现工作平台(Slack)用专业模式、社交平台(Discord)用创意模式。