第 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

向导会引导你完成:

  1. 选择 LLM Provider
  2. 输入 API Key
  3. 选择终端后端
  4. 配置消息网关(可跳过,第 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 证书有效期

动手练习

  1. 安装 Hermes Agent:在你的管理机或本地电脑上完成安装
  2. 配置终端后端:选择 Docker 或 SSH,完成基础配置
  3. 编写 SOUL.md:按 2.5 节模板写你的服务器资产信息
  4. 第一条命令:让 Hermes 帮你检查服务器的 CPU 和磁盘使用率
  5. 验证 SSH 连接:如果用 SSH 后端,确认所有服务器可达

本课小结

要点 内容
安装 curl 一行安装,支持主流 Linux
Docker 后端 沙箱隔离执行,安全第一
SSH 后端 远程管理多台服务器
SOUL.md 写入服务器资产、技术栈、行为规范
MEMORY.md 记录变更历史、已知问题

下一课预告

第 3 课:服务器健康巡检——Cron + Terminal 自动化监控

配置定时健康巡检:CPU、内存、磁盘、网络、进程、数据库连接——让 Agent 7×24 帮你盯着服务器。