专注AI Agent实战、多平台部署、开源项目落地!
前面我们完成了Hermes的安装、源码解析、自定义工具开发和本地模型对接,今天带来终极实战------部署Telegram/Discord机器人,让你随时随地通过手机、电脑远程控制Hermes,实现跨平台对话、工具调用、定时任务,真正把AI智能体变成你的随身助手!全文流程清晰、代码可直接复制,建议收藏+关注,部署时不迷路~
📌 前言:为什么要部署多平台机器人?
Hermes默认只能在终端使用,局限性很大:必须登录服务器、打开终端才能操作。而部署成Telegram/Discord机器人后,你可以:
-
手机/电脑随时随地聊天、调用工具(无需登录服务器)
-
多设备同步对话历史(和Hermes终端对话同步)
-
邀请好友一起使用(设置权限即可)
-
结合定时任务,让Hermes定时推送消息到Telegram/Discord
Hermes内置消息网关,部署过程非常简单,无需额外开发,一键配置即可完成!
✅ 一、前期准备(必做)
-
已安装Hermes-Agent(参考第一篇安装教程),且能正常启动
-
拥有Telegram/Discord账号(用于创建机器人)
-
服务器能正常联网(需要对接Telegram/Discord API)
-
安装消息网关依赖(Hermes内置,执行以下命令确认):
bash
# 激活Hermes虚拟环境
source ~/.hermes/venv/bin/activate
# 安装消息网关依赖(若未安装)
uv pip install -e ".[messaging]" # 包含Telegram、Discord网关依赖
🛠️ 二、部署Telegram机器人(重点,手机端首选)
Step 1:创建Telegram机器人,获取API Token
-
打开Telegram,搜索
@BotFather(官方机器人) -
发送指令
/newbot,按照提示设置机器人名称(如HermesAgentBot)和用户名(如Hermes_Agent_Bot,必须以bot结尾) -
创建成功后,BotFather会返回一个
API Token(格式:123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11),复制保存,后续要用
Step 2:配置Hermes对接Telegram机器人
bash
# 启动Hermes消息网关配置向导
hermes gateway setup
# 后续步骤(按提示操作,全程中文):
1. 选择要配置的平台 → 输入 1(Telegram)
2. 输入Telegram Bot API Token → 粘贴刚才获取的Token
3. 设置允许使用机器人的用户ID(可选,不设置则所有人可使用)
- 如何获取自己的用户ID:搜索 @userinfobot,发送任意消息,即可获取
4. 确认配置 → 输入 y 保存
Step 3:启动Telegram机器人网关
bash
# 启动Hermes消息网关(后台运行,避免关闭终端后停止)
hermes gateway start &
# 查看网关运行状态,确认启动成功
hermes gateway status
若输出"Telegram gateway: running",说明启动成功!
Step 4:测试Telegram机器人
-
打开Telegram,搜索你创建的机器人用户名(如Hermes_Agent_Bot)
-
发送
/start指令,机器人会回复欢迎消息 -
发送任意消息(如"帮我查询当前时间"),机器人会调用Hermes的能力,返回回复
-
测试工具调用(如"帮我查询文件 /home/user/test.txt"),验证工具是否正常使用
🚀 三、部署Discord机器人(电脑端首选)
Step 1:创建Discord机器人,获取Token和Client ID
-
访问Discord开发者平台:https://discord.com/developers/applications
-
点击"New Application",输入应用名称(如HermesAgent),创建应用
-
左侧导航栏点击"Bot",点击"Add Bot",确认创建机器人
-
点击"Reset Token",复制生成的Token(保存,后续要用)
-
开启"Message Content Intent"(否则机器人无法接收消息)
-
左侧导航栏点击"OAuth2 → URL Generator",勾选"bot"和"Send Messages"权限,复制生成的URL
-
打开复制的URL,将机器人邀请到你的Discord服务器
Step 2:配置Hermes对接Discord机器人
bash
# 启动Hermes消息网关配置向导
hermes gateway setup
# 后续步骤(按提示操作):
1. 选择要配置的平台 → 输入 2(Discord)
2. 输入Discord Bot Token → 粘贴刚才获取的Token
3. 输入Discord Client ID → 在开发者平台"General Information"中获取
4. 设置允许使用机器人的服务器ID(可选)
- 如何获取服务器ID:Discord开启开发者模式后,右键服务器 → 复制ID
5. 确认配置 → 输入 y 保存
Step 3:启动Discord机器人网关
bash
# 启动Hermes消息网关(后台运行)
hermes gateway start &
# 查看网关运行状态
hermes gateway status
若输出"Discord gateway: running",说明启动成功!
Step 4:测试Discord机器人
-
打开Discord,进入你邀请机器人的服务器
-
在任意频道发送
/start指令,机器人回复欢迎消息 -
发送消息测试对话和工具调用,确认机器人正常工作
🎯 四、进阶配置(提升使用体验)
1. 后台持久化运行网关(关键)
直接用 hermes gateway start 启动,关闭终端后会停止,推荐用systemd设置开机自启:
bash
# 创建systemd服务文件
sudo vim /etc/systemd/system/hermes-gateway.service
# 写入以下内容(替换路径为你的Hermes路径)
[Unit]
Description=Hermes Agent Gateway
After=network.target
[Service]
User=root # 可替换为你的用户名
ExecStart=/root/.hermes/venv/bin/hermes gateway start
Restart=always # 异常退出时自动重启
[Install]
WantedBy=multi-user.target
# 启动服务并设置开机自启
sudo systemctl daemon-reload
sudo systemctl start hermes-gateway
sudo systemctl enable hermes-gateway
# 查看服务状态
sudo systemctl status hermes-gateway
2. 配置多平台同时运行
Hermes支持同时启动Telegram和Discord网关,只需分别配置后,启动一次网关即可:
bash
# 分别配置Telegram和Discord
hermes gateway setup # 先配置Telegram,再配置Discord
hermes gateway start # 启动后,两个平台同时可用
3. 权限控制(限制使用人员)
避免机器人被陌生人使用,可设置允许使用的用户ID:
bash
# 编辑配置文件
vim ~/.hermes/config.yaml
# 添加以下内容(以Telegram为例)
gateway:
telegram:
allowed_user_ids: [123456789, 987654321] # 允许使用的用户ID列表
discord:
allowed_guild_ids: [123456789012345678] # 允许使用的服务器ID列表
保存后,重启网关即可生效。
🐛 五、常见问题&解决方案
| 问题 | 解决方案 |
|---|---|
| Telegram机器人无响应 | 1. 检查网关是否运行(hermes gateway status);2. 确认API Token正确;3. 检查服务器网络是否能访问Telegram(可ping telegram.org) |
| Discord机器人无法接收消息 | 1. 确认"Message Content Intent"已开启;2. 检查机器人权限是否足够;3. 重启网关 |
| 网关启动失败,报错"依赖缺失" | 执行 uv pip install -e ".[messaging]" 安装消息网关依赖 |
| 关闭终端后,机器人停止工作 | 用systemd设置开机自启,参考进阶配置中的步骤 |
💡 六、总结&互动引流
本文详细讲解了Hermes-Agent部署Telegram和Discord机器人的全过程,从机器人创建、Hermes配置到网关启动、测试,一步到位,让你随时随地远程控制Hermes,真正实现AI智能体随身化!
👇 评论区互动
-
你成功部署了哪个平台的机器人?Telegram还是Discord?评论区晒出你的机器人截图!
-
遇到机器人无响应、报错?直接贴出错误信息,我帮你解决!
-
觉得有用请点赞+收藏+关注,后续持续更新Hermes高级实战(定时任务、多Agent协同)!