适合谁:想要在自己的云服务器上部署一套真正具备真实 Linux 终端操作、自主排障、文件读写、网页抓取与消息推送能力的执行型 AI 工程助手(而不是玩具聊天框)的开发者与 SRE 运维。
支持系统:Debian 11/12/13、Ubuntu 20.04/22.04/24.04 LTS(推荐 2 核 CPU / 4GB 内存 / 20GB+ 磁盘,配置适量 Swap 兜底)。
耗时预期:约 20 ~ 30 分钟(按照阶梯点火法则逐层验证,稳健上线)。
做完你将得到:一套长期稳定运行在 Telegram / QQ 平台的自主工程助手;掌握模型 Provider 路由鉴权、Gateway 后台系统守护、自包含 Cron 定时巡检与生产安全审批边界!
⚠️ 全程唯一保命铁律:
每完成一层配置,必须执行一次真实通信验收! 静态配置通过不代表链路打通,严禁跳步盲目启动网关。
🧭 核心认知:不要把 Agent 当成普通的聊天机器人
普通聊天机器人只能“动嘴”,而 Hermes Agent 拥有完整的“手脚与大脑”:
┌─────────────────────────────────────────────────────────────┐
│ 🧠 决策中枢 (Model):负责推理、生成与决定下一步调用什么工具; │
│ 🛠️ 工具引擎 (Tools):拥有终端执行、文件读写、浏览器与抓取能力;│
│ 📡 网关中枢 (Gateway):接收 Telegram / QQ 消息并双向回传; │
│ ⏰ 定时调度 (Cron):到点在全新独立会话中自动巡检、生成早报; │
│ 📜 记忆与技能 (Soul):跨会话记住服务器拓扑与专属排障技能; │
│ 🛡️ 安全底线 (Security):拦截高危危险命令,等待人工确认审批。 │
└─────────────────────────────────────────────────────────────┘
📋 开始前的准备清单(缺一项都别往下走)
- 一台云服务器(VPS):拥有 root 权限,网络可正常访问模型 Provider 端点与消息平台;
- 至少一个模型 API Key:OpenRouter、DeepSeek、Anthropic 或自定义 OpenAI 兼容接口;
- 一个 Telegram Bot Token:在 Telegram 找
@BotFather申请(若接入 QQ 则准备 QQ 开放平台凭据); - 明确自己的数字 ID:通过
@userinfobot确认自己的 Telegram User ID(用于白名单访问控制)。
第 1 步:极速安装官方 Hermes 引擎与基础诊断
💻 【你本地的电脑】 打开终端连入服务器,进入 🖥️ 【服务器窗口】。
粘贴执行官方一键全自动安装脚本:
# 1. 运行官方一键安装
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
# 2. 检查命令与版本就位情况
command -v hermes
hermes --version
# 3. 运行环境依赖与健康静态体检
hermes doctor
- ✅ 成功标志:终端正确返回版本号(如
hermes version v0.x.x),hermes doctor诊断无阻断性红色报错。
第 2 步:配置模型 Provider 并进行真实调用点火
Hermes 的配置文件遵循**“凭据放密文、行为放配置”**的绝对铁律:
- 🔑 API Key、Bot Token、密码:统一保存在
~/.hermes/.env; - ⚙️ 模型选择、工具开关、Fallback 策略:保存在
~/.hermes/config.yaml。
🖥️ 【服务器窗口】 推荐使用官方向导或一键命令安全注入凭据:
# 1. 注入你的模型 API 密钥(以 DeepSeek 或自定义 Provider 为例)
hermes config set DEEPSEEK_API_KEY "你的真实API密钥"
# 2. 交互式选择并确认默认模型
hermes model
接着,执行第一层真实通信点火测试(拒绝推测,真实发包):
hermes chat -Q -q "只回复 OK"
- ✅ 成功标志:终端在 2 秒内准确返回了一个单词
OK!证明底层请求链路、Token 鉴权与模型推理 100% 满血打通。
第 3 步:配置 Telegram 消息网关与严格安全白名单
模型打通后,配置外部消息接收网关。
🖥️ 【服务器窗口】 运行 Gateway 配置向导:
hermes gateway setup
按照终端交互提示选择:
- 平台选择
Telegram; - 填入你的
Bot Token; - ⚠️ 核心安全配置:当询问
Allowed Users / Chats时,务必填入你自己的数字 User ID!- 🗣️ 大白话:千万不要留空!留空等于向全网任何人开放你的服务器控制权限,别人发一条指令就能远程操控你的终端,极其危险!
第 4 步:生成并启动后台守护服务(Systemd)
配置好网关后,必须将其交由 Linux 系统级守护进程托管,保证断开 SSH 后持续在线,服务器重启后自动自愈:
# 1. 生成并安装系统级服务
hermes gateway install --system
# 2. 启动服务并检查实时状态
systemctl restart hermes-gateway
systemctl is-active hermes-gateway
- ✅ 成功标志:最后一行返回
active。
此时拿起你的手机打开 Telegram,找到你的 Bot,发送一条最简单的消息:
只回复 TG-OK
- ✅ 大功告成标志:手机端瞬间收到 Bot 秒回的
TG-OK!消息网关双向链路已全部跑通!🚀
第 5 步:配置 Cron 定时任务(避开新手经典理解大坑)
很多新手在 Hermes 里配置定时任务时会犯一个严重错误:
写出类似“继续检查刚才那台机器”的 Prompt。
- 🚨 核心机制铁律:Hermes Cron 不是当前聊天的延续!
每个定时任务触发时,都会在全新的独立会话中运行,完全没有你当前窗口的上下文。因此,Prompt 必须是完全自包含的!
🖥️ 【服务器窗口】 创建一条标准的每日巡检定时任务:
hermes cron create "0 9 * * *" \
"检查本机 CPU、内存、磁盘水位与核心服务运行状态;按严重程度列出异常,若全正常输出健康表格,完成后推送到 Telegram" \
--name "每日服务器健康巡检"
查看已注册的任务列表:
hermes cron list
- ✅ 成功标志:列表中清晰列出任务名称、下次触发时间与执行指令。
🚑 翻车急救站(新手部署常见卡点速查)
| 异常现场 | 真实根因 | 对应一秒救命招式 |
|---|---|---|
| 手机发消息,Bot 完全已读不回 | 用户 ID 未加入白名单,或网关服务未启动 | 1. 检查日志:journalctl -u hermes-gateway -n 50;2. 检查 ~/.hermes/config.yaml 确认你的数字 ID 在 allowed_chats 列表中。 |
模型调用报 401 / 403 Forbidden | Provider 凭据失效,或余额耗尽 | 检查 ~/.hermes/.env 中的 Key 是否正确,或进入服务商官网检查账户余额。 |
| 改了配置(config.yaml),Bot 行为无变化 | 修改配置后未重载 Gateway 进程 | 终端执行 systemctl restart hermes-gateway,重启后新配置瞬间生效。 |
| 危险命令被拦截,提示等待审批 | 正常安全机制生效(Tirith 审批拦截) | 这是预期的安全保护!在 Telegram 点击「Approve」按钮放行,绝不要为了省事彻底关闭安全层。 |
🎓 毕业全维度自检清单
核对以下 5 项指标,全部通过即代表你的 Hermes Agent 已达企业生产受控标准:
- 引擎与体检全绿:
hermes doctor无阻断报错,核心依赖齐全; - 模型真实链路通畅:
hermes chat -Q -q "只回复 OK"稳定返回; - 白名单收敛严密:仅允许自己的 Telegram / QQ 账号唤起,外部陌生人消息直接静默丢弃;
- 系统服务开机保活:
systemctl is-active hermes-gateway处于active状态; - Cron 任务自包含:定时任务 Prompt 语义完整独立,具备自动化巡检与消息推送能力!