Hermes Telegram Bot 接入(macOS + 代理)
在带 HTTP 代理(Clash 127.0.0.1:7890)的 macOS 上把 Telegram 机器人接入 Hermes Agent。
环境
- macOS 15.x
- 代理:HTTP/HTTPS
http://127.0.0.1:7890,SOCKS5 socks5://127.0.0.1:7890
- Shell:zsh
- Hermes home:
~/.hermes/
- Hermes venv:
~/.hermes/hermes-agent/venv/(精简版,可能没 pip)
Step 1:创建 Bot
- Telegram 搜索
@BotFather
- 发
/newbot,设置名称和用户名(以 bot 结尾)
- 拿到 token,格式:
123456789:ABCdefGHIjklMNOpqrSTUvwxYZ
Step 2:安装 python-telegram-bot
Hermes 的 venv 可能没 pip,先装回来:
1 2
| ~/.hermes/hermes-agent/venv/bin/python3 -m ensurepip --upgrade ~/.hermes/hermes-agent/venv/bin/python3 -m pip install python-telegram-bot
|
Step 3:配置 ~/.hermes/.env
Token
直接写入即可——Hermes 的密钥脱敏只影响屏幕输出和日志,不会影响文件实际内容:
1
| echo 'TELEGRAM_BOT_TOKEN=你的TOKEN' >> ~/.hermes/.env
|
代理变量
Gateway 不会加载 .zshrc,代理必须写到 .env:
1 2 3
| echo 'HTTPS_PROXY=http://127.0.0.1:7890' >> ~/.hermes/.env echo 'HTTP_PROXY=http://127.0.0.1:7890' >> ~/.hermes/.env echo 'ALL_PROXY=socks5://127.0.0.1:7890' >> ~/.hermes/.env
|
权限控制
GATEWAY_ALLOW_ALL_USERS=true — 任何人找到你的 bot 都能用
TELEGRAM_ALLOWED_USERS=你的ID — 仅限特定用户(从 @userinfobot 获取 ID)
1
| echo 'GATEWAY_ALLOW_ALL_USERS=true' >> ~/.hermes/.env
|
Step 4:验证 Token
1
| curl -s --proxy http://127.0.0.1:7890 "https://api.telegram.org/bot你的TOKEN/getMe"
|
应返回 {"ok":true, "result":{...}}。404 “Not Found” 说明 token 写错了,去 BotFather 重新拿。
Step 5:启动 Gateway
1 2 3 4 5 6 7 8 9 10
| hermes gateway run
hermes gateway install hermes gateway start
hermes gateway status tail -f ~/.hermes/logs/gateway.log | grep telegram
|
看到 ✓ telegram connected 和 Connected to Telegram (polling mode) 即成功。
Troubleshooting
| 症状 |
原因 |
解决 |
| InvalidToken: Not Found |
Token 写错了或已吊销 |
BotFather 重新获取 |
| No adapter could be created |
缺 python-telegram-bot |
venv 里 pip install |
| No messaging platforms enabled |
Token 不在 .env |
确认在 .env 而非 config.yaml |
| Connection timeout |
代理没配 |
.env 里加 HTTPS_PROXY 等 |
| Bot 在线但无视消息 |
权限没配 |
设 GATEWAY_ALLOW_ALL_USERS 或 TELEGRAM_ALLOWED_USERS |
涉及文件
| 文件 |
内容 |
~/.hermes/.env |
TELEGRAM_BOT_TOKEN、代理变量、GATEWAY_ALLOW_ALL_USERS |
~/.hermes/hermes-agent/venv/ |
python-telegram-bot |
~/.hermes/logs/gateway.log |
连接日志 |