文章目录
- 打开Telegram,搜索 @BotFather(官方机器人) 发送指令 /newbot,按照提示设置机器人名称(如HermesAgentBot)和用户名(如Hermes_Agent_Bot,必须以bot结尾) 创建成功后,BotFather会返回一个 API Token(格式:123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11),复制保存,后续要用
- # 启动Hermes消息网关配置向导 hermes gateway setup # 后续步骤(按提示操作,全程中文): 1. 选择要配置的平台 → 输入 1(Telegram) 2. 输入Telegram Bot API Token → 粘贴刚才获取的Token 3. 设置允许使用机器人的用户ID(可选,不设置则所有人可使用) – 如何获取自己的用户ID:搜索 @userinfobot,发送任意消息,即可获取 4. 确认配置 → 输入 y 保存
- # 启动Hermes消息网关(后台运行,避免关闭终端后停止) hermes gateway start & # 查看网关运行状态,确认启动成功 hermes gateway status 若输出“Telegram gateway: running”,说明启动成功!
- 打开Telegram,搜索你创建的机器人用户名(如Hermes_Agent_Bot) 发送 /start 指令,机器人会回复欢迎消息 发送任意消息(如“帮我查询当前时间”),机器人会调用Hermes的能力,返回回复 测试工具调用(如“帮我查询文件 /home/user/test.txt”),验证工具是否正常使用
- 访问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服务器
- # 启动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 保存
- # 启动Hermes消息网关(后台运行) hermes gateway start & # 查看网关运行状态 hermes gateway status 若输出“Discord gateway: running”,说明启动成功!
- 打开Discord,进入你邀请机器人的服务器 在任意频道发送 /start 指令,机器人回复欢迎消息 发送消息测试对话和工具调用,确认机器人正常工作
- 直接用 hermes gateway start 启动,关闭终端后会停止,推荐用systemd设置开机自启: # 创建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
- Hermes支持同时启动Telegram和Discord网关,只需分别配置后,启动一次网关即可: # 分别配置Telegram和Discord hermes gateway setup # 先配置Telegram,再配置Discord hermes gateway start # 启动后,两个平台同时可用
- 避免机器人被陌生人使用,可设置允许使用的用户ID: # 编辑配置文件 vim ~/.hermes/config.yaml # 添加以下内容(以Telegram为例) gateway: telegram: allowed_user_ids: [123456789, 987654321] # 允许使用的用户ID列表 discord: allowed_guild_ids: [123456789012345678] # 允许使用的服务器ID列表 保存后,重启网关即可生效。
目录
- 📌 前言:为什么要部署多平台机器人?
- ✅ 一、前期准备(必做)
- 🛠️ 二、部署Telegram机器人(重点,手机端首选)
- Step 1:创建Telegram机器人,获取API Token
- Step 2:配置Hermes对接Telegram机器人
- Step 3:启动Telegram机器人网关
- Step 4:测试Telegram机器人
- 🚀 三、部署Discord机器人(电脑端首选)
- Step 1:创建Discord机器人,获取Token和Client ID
- Step 2:配置Hermes对接Discord机器人
- Step 3:启动Discord机器人网关
- Step 4:测试Discord机器人
- 🎯 四、进阶配置(提升使用体验)
- 1. 后台持久化运行网关(关键)
- 2. 配置多平台同时运行
- 3. 权限控制(限制使用人员)
- 🐛 五、常见问题&解决方案
- 💡 六、总结&互动引流
专注AI Agent实战、多平台部署、开源项目落地!
前面我们完成了Hermes的安装、源码解析、自定义工具开发和本地模型对接,今天带来终极实战——部署Telegram/Discord机器人,让你随时随地通过手机、电脑远程控制Hermes,实现跨平台对话、工具调用、定时任务,真正把AI智能体变成你的随身助手!全文流程清晰、代码可直接复制,建议收藏+关注,部署时不迷路~
Hermes默认只能在终端使用,局限性很大:必须登录服务器、打开终端才能操作。而部署成Telegram/Discord机器人后,你可以:
- 手机/电脑随时随地聊天、调用工具(无需登录服务器)
- 多设备同步对话历史(和Hermes终端对话同步)
- 邀请好友一起使用(设置权限即可)
- 结合定时任务,让Hermes定时推送消息到Telegram/Discord
Hermes内置消息网关,部署过程非常简单,无需额外开发,一键配置即可完成!
- 已安装Hermes-Agent(参考第一篇安装教程),且能正常启动
- 拥有Telegram/Discord账号(用于创建机器人)
- 服务器能正常联网(需要对接Telegram/Discord API)
- 安装消息网关依赖(Hermes内置,执行以下命令确认):
# 激活Hermes虚拟环境
source ~/.hermes/venv/bin/activate
# 安装消息网关依赖(若未安装)
uv pip install -e ".[messaging]" # 包含Telegram、Discord网关依赖
- 打开Telegram,搜索
@BotFather(官方机器人)
- 发送指令
/newbot,按照提示设置机器人名称(如HermesAgentBot)和用户名(如Hermes_Agent_Bot,必须以bot结尾)
- 创建成功后,BotFather会返回一个
API Token(格式:123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11),复制保存,后续要用
@BotFather(官方机器人)/newbot,按照提示设置机器人名称(如HermesAgentBot)和用户名(如Hermes_Agent_Bot,必须以bot结尾)API Token(格式:123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11),复制保存,后续要用
# 启动Hermes消息网关配置向导
hermes gateway setup
# 后续步骤(按提示操作,全程中文):
1. 选择要配置的平台 → 输入 1(Telegram)
2. 输入Telegram Bot API Token → 粘贴刚才获取的Token
3. 设置允许使用机器人的用户ID(可选,不设置则所有人可使用)
- 如何获取自己的用户ID:搜索 @userinfobot,发送任意消息,即可获取
4. 确认配置 → 输入 y 保存
# 启动Hermes消息网关(后台运行,避免关闭终端后停止)
hermes gateway start &
# 查看网关运行状态,确认启动成功
hermes gateway status
若输出“Telegram gateway: running”,说明启动成功!
- 打开Telegram,搜索你创建的机器人用户名(如Hermes_Agent_Bot)
- 发送
/start 指令,机器人会回复欢迎消息
- 发送任意消息(如“帮我查询当前时间”),机器人会调用Hermes的能力,返回回复
- 测试工具调用(如“帮我查询文件 /home/user/test.txt”),验证工具是否正常使用
/start 指令,机器人会回复欢迎消息
- 访问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服务器
# 启动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 保存
# 启动Hermes消息网关(后台运行)
hermes gateway start &
# 查看网关运行状态
hermes gateway status
若输出“Discord gateway: running”,说明启动成功!
- 打开Discord,进入你邀请机器人的服务器
- 在任意频道发送
/start 指令,机器人回复欢迎消息
- 发送消息测试对话和工具调用,确认机器人正常工作
/start 指令,机器人回复欢迎消息
直接用 hermes gateway start 启动,关闭终端后会停止,推荐用systemd设置开机自启:
# 创建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
Hermes支持同时启动Telegram和Discord网关,只需分别配置后,启动一次网关即可:
# 分别配置Telegram和Discord hermes gateway setup # 先配置Telegram,再配置Discord hermes gateway start # 启动后,两个平台同时可用
避免机器人被陌生人使用,可设置允许使用的用户ID:
# 编辑配置文件
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智能体随身化!
到此这篇关于Hermes-Agent 部署Telegram/Discord机器人的全过程(多平台远程控制)的文章就介绍到这了,更多相关Hermes Agent 部署Telegram/Discord机器人内容请搜索风君子博客以前的文章或继续浏览下面的相关文章,希望大家以后多多支持风君子博客!