维护咨询 大模型部署 问题解决 技能定制 大模型训练
Hermes Agent不只是本地CLI工具,它还能接入各种聊天平台——Telegram、Discord、Slack、WhatsApp、飞书、钉钉。
接进去之后,AI就在那些平台里24小时在线,你或者你的用户随时可以跟它说话,它会像真人一样回复。
这个功能叫Messaging Gateway。
## Messaging Gateway是什么
Messaging Gateway是Hermes的消息网关模块。它维护跟各个聊天平台的长连接,把平台消息转发给AI处理,再把AI的回复发回平台。
架构上是一个独立进程,可以跟CLI分开运行:
hermes gateway start # 启动Gateway进程
hermes gateway log # 查看Gateway日志
hermes gateway stop # 停止Gateway
启动后Gateway在后台运行,CLI可以关闭,不影响AI在线。
—
## 支持的平台
官方支持:
Telegram # 最常用,推荐作为第一个接入的平台
Discord # 适合社区和团队
Slack # 企业环境
WhatsApp # 需要Business API
Signal # 私密通讯
飞书 # 国内企业用
钉钉 # 国内企业用
每个平台需要一个Bot Token或者Webhook配置,下面分别讲。
—
## Telegram接入(最简单,推荐新手)
第一步:创建Telegram Bot
1. 在Telegram搜索 @BotFather
2. 发送 /newbot
3. 给Bot起名字(display name)
4. 给Bot起用户名(必须以bot结尾,如my_ai_bot)
5. BotFather会返回一个Token,格式:`123456789:ABCdefGhIJKlmNoPQRstuVWxyZ`
第二步:配置Hermes
# config.yaml
messaging:
telegram:
bot_token: "YOUR_BOT_TOKEN"
allowed_chat_ids: # 可选:只允许特定用户
- 123456789 # 你的Telegram User ID
- 987654321 # 其他允许的用户ID
admin_ids: # 管理员ID(可以执行管理命令)
- 123456789
default_personality: "concise" # 默认人格
max_tokens_per_response: 2000 # 单条最大回复长度
第三步:启动Gateway
hermes gateway start
# 或指定配置
hermes gateway start --config ~/.hermes/config.yaml
第四步:测试
在Telegram找到你的Bot,点击Start,然后在聊天框里发一条消息,Bot应该会回复。
—
## Discord接入
第一步:创建Discord Application
1. 去 https://discord.com/developers/applications
2. 点击 New Application,起名字
3. 左侧点 Bot
4. 点击 Add Bot
5. 复制Bot Token
第二步:添加Bot到服务器
1. 左侧点 OAuth2 → URL Generator
2. Scopes 勾选 bot
3. Bot Permissions 勾需要用到的权限(Send Messages、Read Message History等)
4. 复制生成的URL,用浏览器打开,选择服务器添加
第三步:配置Hermes
# config.yaml
messaging:
discord:
bot_token: "YOUR_DISCORD_BOT_TOKEN"
allowed_guild_ids: # 可选:只允许特定服务器
- 123456789012345678
allowed_channel_ids: # 可选:只允许特定频道
- 123456789012345678
admin_ids: # 管理员ID
- 123456789
command_prefix: "!" # 命令前缀,如 !hermes
max_tokens_per_response: 2000
启动:
hermes gateway start
—
## Slack接入
Slack需要用Socket Mode,比Telegram复杂一点。
第一步:创建Slack App
1. 去 https://api.slack.com/apps
2. 点击 Create New App → From scratch
3. 给App起名字,选择工作区
第二步:启用Socket Mode
1. 左侧点 Socket Mode,启用
2. 左侧点 Basic Information → App-Level Tokens,生成一个token(需要 app_mentions:read 和 connections:write scope)
第三步:添加Bot User
1. 左侧点 Bot User,起名字,Add Bot User
第四步:配置权限
在OAuth & Permissions里添加以下Scopes:
chat:write
channels:history
channels:read
groups:history
im:history
im:read
im:write
mpim:history
app_mentions:read
reactions:read
reactions:write
第五步:配置Hermes
# config.yaml
messaging:
slack:
app_token: "xapp-xxx" # App-Level Token
bot_token: "xoxb-xxx" # Bot Token
signing_secret: "xxx" # Signing Secret
default_channel: "#general" # 默认频道
admin_ids: []
—
## 飞书接入
# config.yaml(飞书自建应用)
messaging:
feishu:
app_id: "cli_xxx"
app_secret: "xxx"
bot_name: "Hermes"
default_personalities:
default: "concise"
获取方式:登录飞书开放平台 → 创建企业自建应用 → 获取App ID和App Secret。
—
## 多平台同时运行
Gateway支持同时接入多个平台:
# config.yaml
messaging:
telegram:
bot_token: "xxx"
enabled: true
discord:
bot_token: "xxx"
enabled: true
feishu:
app_id: "xxx"
app_secret: "xxx"
enabled: true
所有平台共享同一个AI实例,但每个平台可以有独立的默认人格和配置。
—
## 管理命令
/help # 显示帮助
/ping # 测试Bot是否在线
/personality # 切换人格
/session # 查看当前会话信息
/reset # 重置当前对话
/stats # 查看使用统计(管理员)
—
## 常见问题
Q:一个Bot能服务多个人吗?
A:能。每个用户有独立的会话历史,Bot会记住跟每个人的对话上下文。可以用 allowed_chat_ids 限制谁能用。
Q:Bot会同时回复同一条消息吗?
A:不会。消息处理是串行的,同一时刻一个对话只处理一条消息。但不同用户的对话是并行处理的。
Q:Telegram Bot有字数限制吗?
A:Telegram单条消息最大4096字符。超过会分段发送。可以用 max_tokens_per_response 控制AI回复长度。
Q:Gateway进程挂了怎么办?
A:可以用supervisor或systemd做守护进程,或者用Docker Compose的restart: unless-stopped。
—
## 相关文章








暂无评论内容