📚 系列导航:上一篇 Hermes Agent 多 Agent 协作模式指南 已经讲清“多 Agent 协作模式与成本控制”;本篇聚焦 Hermes Agent 安装与部署;下一篇 Hermes Agent 安全配置指南 继续学习“权限审批与沙箱安全指南”。
先给结论:不想碰终端就选桌面 App;想长期在线优先看 Docker;要改源码再手动安装。 另外要分清两个问题:Hermes 进程装在哪里,和 Agent 的命令在哪里执行,不是同一件事。
ℹ️ 版本说明: 原稿基于 Hermes Agent v0.16.0(2026 年 6 月)源码整理。本文保留其版本化机制分析;命令、数量和界面请以 Hermes Agent 官方文档 与本地输出为准。
Hermes 安装位置与命令执行后端的区别
很多人第一次读 Hermes 文档会卡在同一个地方:「部署」这个词在这里有两层意思,混了就全乱了。
第一层是 Hermes 这个程序本身装在哪。你的笔记本?一台$5 的云服务器?一个 Docker 容器?还是用 Nix 声明式地拉起来?
第二层是 agent 在哪台机器上跑 shell 命令。它要执行 pip install 、要跑你的脚本、要碰文件系统,这些命令落在哪里?本地?SSH 进的远程机?一个临时容器?
这两层是独立的。你完全可以把 Hermes 装在自己的笔记本上,但让它的命令都跑在一个隔离的 Docker 容器里。程序在本地,手脚在容器。配置里那个 terminal.backend 字段管的是第二层,不是第一层。
记住这句话:「部署在哪」是 Hermes 进程的家,「agent 在哪跑命令」是 agent 干活的工地。家可以只有一个,工地可以换六种。下面先讲怎么把家安好,再讲六种工地。
Hermes Agent 的三种安装方式
装 Hermes 现在有三条路,对应三类人。我按门槛从低到高排。

桌面 App 安装 Hermes Agent
这是这一版的头条功能,也是我觉得最该先讲的。Hermes 现在有一个 Electron 桌面应用,macOS、Linux、Windows 三平台都有。
它就是一个普通桌面软件。装好打开是个聊天窗口,能流式回复,能拖文件进对话,能粘贴剪贴板里的图,有会话列表,有 Cmd+K 命令面板,状态栏还能直接切模型。应用内自动更新,你不用操心版本。
为什么这件事重要?因为它把 Hermes 从「一个命令行 agent」变成了「一个你能直接发安装包给朋友的 App」。以前你想安利别人用 Hermes,得先教他装环境、敲命令;现在你发个安装包过去,他双击就能聊。这是降低门槛幅度最大的一步。
使用官方脚本安装 Hermes Agent
如果你不排斥终端,一键脚本是最快的正路。一行命令,依赖全自动。
Linux、macOS、WSL2 或 Termux,在 Bash 终端执行:
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
Windows 原生环境,在 PowerShell 执行:
iex (irm https://hermes-agent.nousresearch.com/install.ps1)
⚠️ 先看风险: 这两条命令会联网下载脚本并立即执行。公司设备、生产服务器或其他受控环境不要直接盲跑;先下载脚本、审查内容,再按组织的安全流程执行。
这里有个对老用户很关键的变化:Windows 已经支持原生安装。旧版要装 Hermes,Windows 用户常常得先折腾 WSL2;现在可以通过 PowerShell 安装,安装器会在需要时准备隔离的便携版 Git 环境,不必改动系统 Git。具体下载体积和依赖处理方式会随安装器更新。
脚本会安装 uv、Python 3.11、Node.js 22、ripgrep、ffmpeg 等依赖,你不用逐个手动配置。
安装结束后,重新打开终端并验证:
hermes --help
预期结果: 终端显示 Hermes 的命令帮助,而不是 command not found。如果找不到命令,先重新打开终端,再检查安装器提示的可执行文件目录是否已经加入 PATH。
💡 受控部署建议: 安装器支持
--no-venv、--skip-setup、--skip-browser、--no-skills等开关,也能用环境变量HERMES_HOME指定数据目录。用root安装时会走 FHS 标准布局:代码进入/usr/local/lib,命令进入/usr/local/bin。具体开关仍以当前安装脚本的帮助信息为准。
从源码安装 Hermes Agent
想读源码、想改 Hermes 本身,就走这条。
git clone https://github.com/NousResearch/hermes-agent.git
cd hermes-agent
./setup-hermes.sh # 装 uv、建 venv、装全量依赖、软链 hermes 命令
./hermes # 自动识别 venv,不用先 source
预期结果: ./setup-hermes.sh 正常完成依赖安装,随后 ./hermes 能启动或显示初始化引导。如果中途失败,先看第一条报错,不要连续重跑掩盖根因;常见检查项是 Python 版本、网络、磁盘空间和当前目录权限。
有个细节挺贴心: setup-hermes.sh 会先判断你是在桌面/服务器还是在安卓 Termux 上。桌面用 uv,Termux 走 Python 自带的 venv+pip,因为 uv 在安卓上不太靠谱。这个分叉是手机端一等支持的伏笔,等下专门讲。
Hermes Agent 的终端执行后端
回到刚才说的第二层。 terminal.backend 决定 agent 在哪跑命令,六种选择这版一个没少。
| 后端 | 用途 | 什么时候选它 |
|---|---|---|
| local | 本地直接跑(默认) | 本地开发,最省事,但 agent 命令直接落在你机器上 |
| docker | 隔离容器 | 想给 agent 一个沙箱,命令搞砸了也不伤主机 |
| ssh | 远程服务器 | 命令跑在远端大机器,Hermes 本身在本地 |
| singularity | HPC 集群 | 跑在高性能计算集群里 |
| modal | Serverless | 闲时成本趋近于零,按需拉起 |
| daytona | Serverless | 另一个无服务器选项 |
后面四种容器类后端(docker / singularity / modal / daytona)共用一套资源限制,默认给 1 核 CPU、5GB 内存、50GB 磁盘,还能跨会话保留文件系统。这里有个安全默认挺重要:docker 后端默认不把你当前目录挂进容器( docker_mount_cwd_to_workspace: false ),免得 agent 一不小心就能动你工作区的文件。
Hermes Agent Docker 长期部署
如果你想让 Hermes 长期挂着跑,Docker 是我最推荐的方式。官方镜像是 nousresearch/hermes-agent:latest ,compose 文件结构很清爽。
Linux/macOS 的 docker-compose.yml 起两个 Service:一个 gateway(跑消息网关,接 Telegram、Discord 等平台),一个 dashboard(浏览器管理面板)。它使用 host 网络,所有状态只挂载一个卷,也就是 ~/.hermes 目录。搬家或备份时,重点保护这个目录。
在包含 Compose 文件的目录执行:
HERMES_UID=$(id -u) HERMES_GID=$(id -g) docker compose up -d
docker compose ps
预期结果: docker compose ps 中 gateway 和 dashboard 处于运行状态。若容器反复重启,继续执行 docker compose logs --tail=100,优先检查配置、端口占用和 ~/.hermes 的读写权限。
前面那串 UID/GID 是把容器里的 hermes 用户映射成你宿主机的身份,保证挂出来的文件你能正常读写。Windows 上 Docker Desktop 不支持 host 网络,官方另有一份 docker-compose.windows.yml ,改成显式端口映射。
⚠️ 注意
这版 Compose 注释里把安全默认写得很直白,请照做:① dashboard 默认只绑定 127.0.0.1,因为它存着你的 API key;没有认证时,不要裸露到局域网或公网,远程访问应走 SSH 隧道或带认证的反向代理。② OpenAI 兼容 API Server 默认关闭;开启时必须同时设置 host 和 key。③ 不要绕过镜像的 ENTRYPOINT,否则可能跳过权限初始化和进程监督树搭建,导致 Gateway 异常。
Hermes Docker 的 s6-overlay 进程监督
这是相比旧版底层的一个实打实的改动,值得展开一句。
旧版容器里用 tini 当 1 号进程,它的活很单纯:收割僵尸进程,别让容器里堆一堆死掉的进程。这版换成了 s6-overlay, /init 当 1 号进程。它不光收僵尸,还监督 Hermes 主进程、dashboard、以及每个 profile 的 gateway,哪个挂了它管着重新拉起。这让容器里那套多进程的东西稳得多。
为了不坑老用户,它还留了个软链 /usr/bin/tini → /init ,那些还指向老路径的第三方编排模板(比如某些主机商的一键 WebUI 目录)不会崩。这种「换底座但留兼容垫片」的做法,是个成熟项目该有的样子。
Hermes Agent VPS 远程部署
橙皮书旧版主打过一个观念:你不需要一台贵机器,一个月 5 美金的 VPS 就能养一个 24/7 在线的 agent。我当时还担心这版会不会淡化它。
结果官方直接把它写进了 README 的第一段:「在一个$5VPS、一个 GPU 集群、或者闲时几乎零成本的 serverless 上跑它。它不绑在你的笔记本上,它在云上干活时,你可以从 Telegram 跟它聊。
逻辑没变:不跑本地大模型时 Hermes 占用很低,VPS 上起一个 gateway run ,接上 Telegram 或 Discord,模型走云端 API,本地只是个瘦中转。这版还多了一个更划算的组合:VPS 跑 gateway,本地装桌面 App 远程连过去。笔记本只负责好看的界面,重活和 API key 都在远端那台便宜机器上。
Hermes Agent Termux 手机部署
这是旧书完全没讲、这版能给你惊喜的点:Hermes 在安卓 Termux 上是官方正式支持的,不是勉强能跑。
安装器会自己检测出 Termux 环境,然后切到适配路径:不用 uv(安卓上不稳),改用 Python 自带的 venv 加 pip;装的是专门的 .[termux] 依赖集,而不是全量包,因为全量包会拉进一堆安卓不兼容的语音依赖。还有一份 constraints-termux.txt 把一批包版本钉死,保证安卓上这条安装路稳定。
典型玩法是这样的:手机上跑 Termux,起一个 gateway 接 Telegram。等于把你口袋里那台旧安卓机,变成一个 24/7 的个人 agent 服务器。我觉得这是个被低估的用法:一台吃灰的旧手机,比$5VPS 还便宜。
Hermes Agent Nix 与 NixOS 部署
如果你是 NixOS 用户,或者就是喜欢声明式、可复现的部署,这版补强了一条完整的 Nix 路径,旧书几乎没提过。
它提供完整的 flake,支持三个平台。更进一步的是有一个 NixOS module( services.hermes-agent ),让你能用两种形态二选一:要么跑成原生 systemd service,要么跑成容器。配置直接在 Nix 里以 attrset 写,深度合并。这条线还有外部社区贡献者在推,说明它不是官方随手做的摆设。
Hermes Web Dashboard 配置入口
最后说一个不算安装、但深刻影响运维体验的变化。
旧版你想给 Hermes 接一个新的消息渠道、加一个 MCP Server、换个凭证,得 SSH 进机器,手改那个 62KB 的 cli-config.yaml 。改错一个缩进,整个起不来。
这版多了个浏览器管理面板。消息渠道、MCP 目录、凭证、webhook、记忆、gateway,这些都能在网页上点选配置。你不用再 SSH 进去编辑 yaml 来接一个新渠道了。对不爱折腾配置文件的人,这是从「能用」到「好用」的一道坎。
这一节的主线:Hermes 的部署后端其实没怎么变,还是那六种工地。真正翻新的是「怎么用上它」这层长出了桌面 App、浏览器面板、远程瘦客户端三条新路。从前你要会发命令,现在你能直接发安装包。门槛降到这个程度,受众自然就从开发者,往「所有 AI 重度用户」放宽了一截。
常见问题
Hermes Agent 最适合哪种安装方式?
不想处理终端时优先桌面 App;需要标准 CLI 环境时使用官方安装脚本;长期在线可考虑 Docker;只有需要修改本体时才从源码安装。
Hermes 安装后怎么验证?
重新打开终端并执行 hermes --help,确认能看到命令帮助。若提示找不到命令,先检查安装器输出和 PATH,再决定是否重装。
这篇教程里的版本数字会变化吗?
会。原稿以 Hermes Agent v0.16.0 为分析基线,平台、工具、命令参数和默认配置可能继续变化;实际操作前请核对当前官方文档和本地命令帮助。