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 ✅ 文件 ✅ 频道
WhatsApp Business 纯文本 ✅ 图片/文档
Signal Bot 纯文本 ✅ 图片
Twitter/X Bot 纯文本 ✅ 图片
Email 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) 统一消息管道

100%
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 分割为线程
WhatsApp 无格式 独立发送 分割多段
Email 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 查看所有平台连接状态和消息统计。

📖 小节


📝 作业

  1. 基础题(难度⭐):接入 Telegram 或 Discord 平台,完成一次对话,验证消息收发正常。
  2. 进阶题(难度⭐⭐):同时接入两个平台,在一个平台开始对话,在另一个平台继续,验证跨平台记忆。
  3. 挑战题(难度⭐⭐⭐):配置多平台路由规则,实现工作平台(Slack)用专业模式、社交平台(Discord)用创意模式。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏