Hermes Agent 的消息网关是它和其他 AI Agent 最大的差异之一——一个网关进程,同时连接 Telegram、Discord、Slack、WhatsApp、Signal 等多个平台,所有平台的对话历史和技能同步。
网关的核心价值
传统 AI Agent 被困在终端里。Hermes 的网关让你:
- 手机随时控制:离开电脑,Telegram 继续指挥
- 跨平台无缝切换:终端开始的对话,Telegram 继续,历史不丢
- 定时任务推送:Cron 任务结果自动推送到你选择的平台
- 语音输入:发语音备忘录,自动转文字处理
支持平台:Telegram、Discord、Slack、WhatsApp、Signal、Matrix、Mattermost、Home Assistant、DingTalk、Email、SMS
基础配置
# 交互式配置向导
hermes gateway setup
# 启动网关
hermes gateway start
# 安装为系统服务(开机自启)
hermes gateway install
# 查看状态
hermes gateway status
# 查看日志
hermes gateway logs -fTelegram 配置(最推荐)
Telegram 是最稳定、功能最完整的平台,是大多数用户的首选。
步骤 1:创建 Bot
- Telegram 搜索 @BotFather
- 发
/newbot,按提示设置名字和用户名(用户名必须以bot结尾) - 保存返回的 Bot Token(格式:
1234567890:ABCdef...)
步骤 2:获取 Chat ID
方法一:先启动网关,给 Bot 发任意消息,日志里会显示你的 Chat ID。
方法二:使用 @userinfobot:
- 在 Telegram 搜索 @userinfobot
- 发送
/start,它会返回你的 User ID(即 Chat ID)
步骤 3:配置
hermes gateway setup
# 选 Telegram
# 粘贴 Bot Token
# 输入 Chat ID或者直接编辑 ~/.hermes/config.yaml:
gateway:
telegram:
enabled: true
token: "1234567890:ABCdef..."
allowed_users:
- 123456789 # 你的 Chat ID
# 可选:限制只响应特定用户(安全建议)Telegram 私聊主题(v0.5.0+,多项目必备)
v0.5.0 引入 Private Chat Topics,在同一个 Telegram 对话里创建不同话题,各自独立:
# 在 config.yaml 里启用
gateway:
telegram:
topics:
enabled: true
bindings:
work-project: ["work-skill", "deploy-skill"]
personal: ["personal-skill"]
learning: []每个话题有独立的:
- 会话历史
- 技能绑定
- 权限设置
使用场景:工作项目 / 个人项目 / 学习笔记 / 家庭自动化,在同一个 Bot 里完全隔离。
Discord 配置
步骤 1:创建 Discord Bot
- 访问 discord.com/developers/applications
- 「New Application」→ 取名
- 左侧「Bot」→「Add Bot」
- 复制 Bot Token
- 「OAuth2」→「URL Generator」→ 勾选
bot和applications.commands - 勾选 Bot 权限:Read/Send Messages、Read Message History、Use Slash Commands
- 复制 URL,粘贴到浏览器,把 Bot 邀请到你的服务器
步骤 2:配置
gateway:
discord:
enabled: true
token: "your-discord-bot-token"
allowed_guilds:
- "your-server-id" # 限制 Bot 只在这个服务器响应
allowed_channels:
- "channel-id" # 可选:限制特定频道Discord 特有功能(v0.7.0+):
- 按钮式审批 UI(Agent 要执行高危操作时显示 ✅❌ 按钮)
- 斜杠命令支持
- 线程对话隔离
Slack 配置
步骤 1:创建 Slack App
- 访问 api.slack.com/apps → 「Create New App」
- 选「From scratch」,填名字和工作区
- 「Bot Token Scopes」添加:
chat:write、app_mentions:read、channels:history - 安装到工作区,复制 Bot User OAuth Token(以
xoxb-开头)
步骤 2:配置
gateway:
slack:
enabled: true
bot_token: "xoxb-..."
app_token: "xapp-..." # 用 Socket Mode 需要
allowed_workspaces:
- "your-workspace-id"Slack 使用方式:
- 在频道里 @提及 Bot 触发对话
- 私聊 Bot 也可以
- 支持线程回复(Hermes 的回复自动在对应线程里)
多平台同步使用
多个平台可以同时配置,Agent 在所有平台同时在线:
gateway:
telegram:
enabled: true
token: "telegram-token"
allowed_users: [123456789]
discord:
enabled: true
token: "discord-token"
allowed_guilds: ["server-id"]
slack:
enabled: false # 暂时关闭对话历史是否同步:
- 同一个 Hermes 实例的所有平台共享技能库和长期记忆
- 当前会话历史不跨平台共享(Telegram 的对话不会出现在 Discord 里)
- Cron 任务的结果可以推送到任意指定平台
工具权限按平台配置
不同平台开放不同的工具权限,Telegram 私用可以开更多权限,Slack 工作场景可以限制:
hermes tools
# 可以按平台单独配置哪些工具开启安全配置
限制访问白名单(强烈建议):
gateway:
telegram:
allowed_users:
- 123456789 # 只允许这个 User ID 使用
# 不配置此项则任何人发消息都会触发!
discord:
allowed_guilds:
- "your-server-id"
allowed_roles: # 可选:按角色限制
- "admin-role-id"审批模式(高危操作):
gateway:
require_approval: true # 所有工具调用都需要审批
# 或者按工具类型配置
approval_required_tools:
- "terminal"
- "file_write"常见问题
Bot 收到消息但没有回复
- 检查
allowed_users/allowed_guilds配置,你的 ID 在白名单里吗 - 查看网关日志:
hermes gateway logs -f - 运行
hermes doctor检查连接状态
Telegram Bot 提示「Unauthorized」
- Bot Token 填错了,重新从 @BotFather 获取
- 检查 Token 有没有多余的空格
消息发出但很久没有回复
- LLM API 超时,检查
hermes doctor里的 provider 状态 - 或者 Agent 在执行一个耗时任务,正常现象,稍等
网关重启后连接断开
- 运行
hermes gateway install注册为 systemd 服务,保证开机自启和崩溃自动重启
来源:aarongxa.com 实战指南 | Hermes Agent 官方文档 | 整理:ClaudeEagle