2
0

Hermes 本体安装配置步骤

2026-06-26
Hermes 本体安装配置步骤

本篇博客是 只安装 Hermes 本体、先不配置角色 的从 0 到完成步骤。建议不要用 root 安装 Hermes,用专门的 hermes 用户安装。官方文档也说明专门的无 sudo 服务用户安装是支持的,普通用户安装会把数据放在该用户的 ~/.hermes/ 下,而不是 /root/.hermes/

0. 约定

以下命令默认你先用有 sudo 权限的管理用户登录服务器,不直接用 hermes 用户登录。

1. 更新系统并装基础依赖

sudo apt update
sudo apt upgrade -y

sudo apt install -y \
  curl git xz-utils ca-certificates gnupg lsb-release \
  build-essential

Hermes 官方说 Linux 安装前至少要有 gitcurlxz-utils;而Python、Node、ripgrep、ffmpeg、uv 等安装器会处理,不需要手动装。

2. 创建专用用户和用户组

sudo adduser --disabled-password --gecos "" hermes
sudo passwd -l hermes

检查:

id hermes
ls -ld /home/hermes

预期类似:

uid=1001(hermes) gid=1001(hermes) groups=1001(hermes)

这一步的目的:Hermes 以后只拥有 /home/hermes 范围内的数据和权限,不继承你的主用户文件,也不直接拿 root 权限。

3. 不给 hermes sudo 权限

确认它不在 sudo 组:

groups hermes

如果看到 sudo,移除:

sudo gpasswd -d hermes sudo

原则:hermes 是服务用户,不是管理用户。后续需要系统级操作时,用你的管理用户执行。

4. 预装 Chromium/Playwright 系统依赖

Hermes 官方文档说,无 sudo 服务用户安装时,唯一真正需要 root 的部分通常是 Playwright/Chromium 的系统库依赖。先由管理员装好:

sudo apt install -y npm
sudo npx playwright install-deps chromium

说明:这不是安装 Hermes 本体,只是把浏览器自动化可能需要的系统库提前补齐,避免 hermes 用户安装时卡在权限上。

如果你确定完全不用浏览器工具,也可以跳过这一步,并在安装 Hermes 时用 --skip-browser

5. 启用 hermes 用户的 systemd linger

后续我们会让 Hermes 作为常驻服务运行。先打开 linger:

sudo loginctl enable-linger hermes

检查:

loginctl show-user hermes | grep Linger

预期:

Linger=yes

6. 切换到 hermes 用户

sudo -iu hermes

确认当前用户和家目录:

whoami
pwd

预期:

hermes
/home/hermes

7. 安装 Hermes

推荐正常安装:

curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

如果你前面跳过了 Playwright/Chromium 依赖,或者暂时不需要浏览器能力,用:

curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash -s -- --skip-browser

安装器会把 Hermes 放在 hermes 用户自己的目录下,典型位置是:

/home/hermes/.hermes/hermes-agent/
/home/hermes/.local/bin/hermes

8. 修正 PATH

仍然在 hermes 用户下执行:

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

确认命令可用:

which hermes
hermes --help

如果 which hermes 没结果,用绝对路径试:

/home/hermes/.local/bin/hermes --help

如果 hermes 只在 /home/hermes/.hermes/hermes-agent/ 目录下,则需要手动将其创建到 ~/.local/bin/hermes 下:

mkdir -p ~/.local/bin
ln -s ~/.hermes/hermes-agent/venv/bin/hermes ~/.local/bin/hermes
chmod +x ~/.hermes/hermes-agent/venv/bin/hermes

然后确认:

export PATH="$HOME/.local/bin:$PATH"
which hermes
hermes --help

如果能看到:

/home/hermes/.local/bin/hermes

就好了。

再把 PATH 写进 shell 配置:

grep -qxF 'export PATH="$HOME/.local/bin:$PATH"' ~/.bashrc || echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

9. 跑健康检查

hermes doctor

如果提示配置缺失、provider 未配置,这在当前阶段可以接受;但不应出现 Hermes 命令不可用、Python 模块缺失、安装目录异常这类基础错误。

官方也建议用 hermes doctor 做诊断,常见问题包括 PATH 不对或调用了错误的 Python 环境。

10. 做一次最小启动验证

hermes

能进入 Hermes 交互界面,就说明本体安装成功。此时可以直接退出,不需要配置模型和 Slack:

Ctrl+C

或者按界面提示退出。

11. 回到管理用户

exit

12. 当前阶段不要急着加 Docker 组

先别执行:

sudo usermod -aG docker hermes

原因:传统 Docker 的 docker 组权限非常大,基本等价于能间接拿到宿主机 root。我们后面做 Docker sandbox 时再决定:

  • 简单方案:把 hermes 加入 docker 组,部署容易,但权限更大
  • 更稳方案:给 hermes 配 rootless Docker,隔离更好,但配置稍复杂

你的安全目标更偏稳,所以我建议后面单独处理 Docker sandbox,不混在 Hermes 本体安装里。

完成标准

到这里算 Hermes 本体安装完成:

sudo -iu hermes
which hermes
hermes doctor
hermes --help

都能正常执行即可。

下一步才进入:目录结构、profiles、Slack token、四个 systemd service、Docker sandbox。

评论