第 2 课 快速上手:安装与终端后端配置
第 2 课 快速上手:安装与终端后端配置
本课目标
- 完成 Hermes Agent 在运维环境中的安装与基础配置
- 掌握 Docker 与 SSH 终端后端的配置方法
- 实现第一个终端命令的 AI 代理执行
2.1 安装 Hermes Agent
在运维管理机上安装
小周选择在 nginx-01(最轻负载的机器)上安装 Hermes Agent 作为管理中心:
# 一键安装
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
# 验证安装
hermes --version
# hermes-agent v0.8.0 (v2026.4.8)
安装环境要求
| 系统 | 支持 | 备注 |
|---|---|---|
| Ubuntu 20.04+ | ✅ | 推荐 |
| Debian 11+ | ✅ | |
| CentOS 8+ / Rocky 9 | ✅ | |
| macOS (Intel/Apple) | ✅ | 开发用 |
| WSL2 | ✅ | Windows 用户 |
| Alpine | ✅ | Docker 镜像 |
| Android/Termux | ✅ | 应急 |
初始化向导
hermes setup
向导会引导你完成:
- 选择 LLM Provider
- 输入 API Key
- 选择终端后端
- 配置消息网关(可跳过,第 4 课配置)
2.2 Docker 终端后端
为什么运维场景一定要用 Docker 后端?
让 AI Agent 直接在宿主机执行命令是危险的。Docker 后端提供:
- 命令执行沙箱隔离
- 可控的工具集
- 出问题了直接销毁容器
配置 Docker 后端
hermes config edit
terminal:
backend: "docker"
docker:
image: "hermes-ops:latest" # 自定义运维镜像
network: "host" # 需要访问宿主网络
volumes:
- "/var/log:/var/log:ro" # 只读挂载日志
- "/etc/hosts:/etc/hosts:ro"
resources:
cpu: "1"
memory: "512m"
自定义运维 Docker 镜像
创建一个包含常用运维工具的镜像:
# Dockerfile.hermes-ops
FROM ubuntu:22.04
RUN apt-get update && apt-get install -y \
curl wget net-tools dnsutils \
htop iotop sysstat \
postgresql-client redis-tools \
jq yq \
openssh-client \
python3 python3-pip \
&& pip3 install pgcli httpie \
&& rm -rf /var/lib/apt/lists/*
# 运维常用脚本
COPY scripts/ /opt/hermes-scripts/
docker build -t hermes-ops:latest -f Dockerfile.hermes-ops .
测试 Docker 后端
hermes
> 帮我检查当前系统的 CPU 和内存使用率。
Hermes 会在 Docker 容器内执行命令并返回结果:
✅ 系统状态:
CPU 使用率:23%(4核)
内存使用:1.2GB / 2GB(60%)
Load Average:0.45, 0.38, 0.32
状态正常,无需处理。
2.3 SSH 终端后端
Docker 只能管本机。要管理 5 台服务器,需要 SSH 后端。
配置 SSH 密钥
# 在管理机(nginx-01)上生成密钥
ssh-keygen -t ed25519 -C "hermes-agent"
# 分发到所有服务器
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@api-01
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@api-02
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@db-01
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@redis-01
配置 SSH 后端
hermes config edit
terminal:
backend: "ssh"
ssh:
default_host: "api-01"
hosts:
api-01:
hostname: "10.0.1.11"
user: "deploy"
key: "~/.ssh/id_ed25519"
api-02:
hostname: "10.0.1.12"
user: "deploy"
key: "~/.ssh/id_ed25519"
db-01:
hostname: "10.0.1.21"
user: "deploy"
key: "~/.ssh/id_ed25519"
redis-01:
hostname: "10.0.1.31"
user: "deploy"
key: "~/.ssh/id_ed25519"
测试多服务器执行
hermes
> 帮我检查 api-01 和 api-02 的系统负载。
✅ 服务器负载报告:
api-01 (10.0.1.11):
CPU: 34% 内存: 62% 磁盘: 48% Uptime: 42d
api-02 (10.0.1.12):
CPU: 28% 内存: 58% 磁盘: 45% Uptime: 42d
两台 API 服务器负载正常,负载基本均衡。
2.4 LLM Provider 配置
运维场景 Provider 选择
| Provider | 延迟 | 推理能力 | 月费(预估) | 适合场景 |
|---|---|---|---|---|
| Nous Portal | 低 | 强 | $5-15 | 日常运维 |
| OpenRouter | 中 | 多模型可选 | $10-30 | 灵活切换 |
| z.ai (GLM) | 低 | 中 | ¥30-80 | 国内服务器 |
| Kimi/Moonshot | 低 | 中 | ¥50+ | 国内服务器 |
hermes model
# 选择适合运维的模型
# 推荐:推理能力强 + 代码理解好的模型
API Key 配置
hermes config set api_key "your-api-key-here"
hermes config set provider "openrouter"
2.5 运维专属 SOUL.md
hermes config edit soul
面向运维工程师的 SOUL.md:
# 角色定位
你是一名资深 Linux 运维工程师助理,负责协助管理 CloudNote 的基础设施。
# 服务器资产清单
- api-01 (10.0.1.11): 主 API,Python/FastAPI,Ubuntu 22.04
- api-02 (10.0.1.12): API 副本,同上
- db-01 (10.0.1.21): PostgreSQL 15,Ubuntu 22.04,4C8G
- redis-01 (10.0.1.31): Redis 7.2,Ubuntu 22.04,2C2G
- nginx-01 (10.0.1.1): Nginx 1.24 + Hermes Agent,Ubuntu 22.04
# 技术栈
- 后端:Python 3.12 / FastAPI
- 数据库:PostgreSQL 15 + Redis 7.2
- 反向代理:Nginx 1.24
- 容器:Docker 25.x
- CI/CD:GitHub Actions
- 监控:Prometheus + Grafana(计划接入)
# 行为规范
- 执行破坏性操作前必须确认(rm、DROP、重启服务等)
- 数据库操作默认加 EXPLAIN 分析
- 日志清理保留最近 7 天
- 所有变更记录到 MEMORY.md
# 告警分级
- P0 紧急:服务不可用 → 立即通知 + 自动尝试恢复
- P1 高优先级:性能严重下降 → 5 分钟内通知
- P2 中等:磁盘/内存预警 → 汇总到日报
- P3 低:安全扫描发现 → 周报汇总
2.6 MEMORY.md 运维资产库
hermes config edit memory
# 服务器变更记录
## 最近变更
- [2026-04-14] api-01: 升级 Python 3.11 → 3.12
- [2026-04-10] db-01: 添加 notes 表索引 idx_user_id
# 已知问题
- api-01 每周五下午 CPU 偶尔飙升(疑似定时任务冲突)
- redis-01 内存碎片率偏高(fragmentation_ratio 1.8)
# 运维 Checklist
## 日常巡检
- [ ] CPU / 内存 / 磁盘使用率
- [ ] PostgreSQL 连接数
- [ ] Redis 内存使用
- [ ] Nginx 错误日志
- [ ] SSL 证书有效期
动手练习
- 安装 Hermes Agent:在你的管理机或本地电脑上完成安装
- 配置终端后端:选择 Docker 或 SSH,完成基础配置
- 编写 SOUL.md:按 2.5 节模板写你的服务器资产信息
- 第一条命令:让 Hermes 帮你检查服务器的 CPU 和磁盘使用率
- 验证 SSH 连接:如果用 SSH 后端,确认所有服务器可达
本课小结
| 要点 | 内容 |
|---|---|
| 安装 | curl 一行安装,支持主流 Linux |
| Docker 后端 | 沙箱隔离执行,安全第一 |
| SSH 后端 | 远程管理多台服务器 |
| SOUL.md | 写入服务器资产、技术栈、行为规范 |
| MEMORY.md | 记录变更历史、已知问题 |
下一课预告
第 3 课:服务器健康巡检——Cron + Terminal 自动化监控
配置定时健康巡检:CPU、内存、磁盘、网络、进程、数据库连接——让 Agent 7×24 帮你盯着服务器。