部署Hermes Agent必看!4种安装方式优缺点对比!

0 阅读6分钟

 Hermes Agent是由Nous Research开源的一款强大的AI Agent框架。它支持接入飞书、Telegram、Discord等17个消息平台,并具备上下文记忆、技能学习、定时任务等高级能力。

随着项目的爆火,许多开发者在尝试部署时却在第一步“安装”上犯了难——官方文档提供了多种安装方式,到底该选哪种?

本文基于官方文档和实际部署经验,逐一拆解四种安装方式的优缺点,帮你少走弯路。

先说结论:
这四种安装方式在最终实现的功能上完全一致。不管你用哪种方式部署,CLI交互、Gateway消息平台接入、定时任务、技能系统等所有能力都没有区别。它们的核心差异仅在于安装流程、运维方式和适用环境

方式一:curl一键脚本(官方推荐)

这是官方文档Quickstart页面的首推方式。只需一行命令:

bash

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

脚本会自动检测你的操作系统,并安装uv(Python 包管理器)、Python 3.11、Node.js 22、ripgrep、ffmpeg。随后克隆仓库到 ~/.hermes/hermes-agent,创建虚拟环境,安装全部依赖,最后启动配置向导让你选择LLM提供商。

优点:

  • 极度自动化: 将官方手动文档中的10 个步骤全部自动化,5-10 分钟即可搞定。
  • 免 sudo 权限: Python 版本通过 uv 管理,不污染系统原有的 Python 环境。
  • 自带服务化方案: 运行 hermes gateway install 就能自动生成 systemd(Linux)或 launchd(macOS)服务,轻松实现 7×24 后台运行。
  • 升级简单: 后续只需执行 hermes update 即可。

潜在大坑:

  • 缺乏容器级隔离: 虽然 Python 用了虚拟环境,但 Node.js、ripgrep、ffmpeg 都是粗暴地全局安装在宿主机上的。如果你的服务器正跑着依赖特定 Node 版本的核心项目,极易引发环境冲突。
  • 系统兼容性限制: 群晖 NAS 的 DSM 系统底层经过裁剪,不是标准 Linux,该脚本无法跑通。

方式二:手动安装(uv + pip)

即官方文档 "Manual Installation" 章节记录的流程:克隆仓库 → 安装 uv → 创建 venv → 安装依赖 → 创建配置目录 → 配置 API 密钥 → 配置 PATH → 选择模型 → 验证安装。

优点:

  • 按需安装(Extras): 可以精确控制安装范围。比如只要 CLI 就装 .[cli],需要消息平台装 .[messaging],不需要拉取冗余依赖。
  • 便于调试开发: 使用可编辑模式安装(pip install -e),改动源码立刻生效,是二次开发的最佳选择。
  • 过程完全可控: 每一步都在掌控之中,排错清晰。

不足:

门槛较高: 需要理解 uv、venv、extras、PATH 等概念,对非 Python 背景用户不友好。

运维成本: 同样没有容器隔离,且后台常驻需自行手写配置 systemd。

方式三:官方Dockerfile构建

Hermes 仓库根目录提供了一个官方的 Dockerfile。需要注意的是,截至目前,官方并没有在 GitHub Packages 或 Docker Hub 提供预构建的镜像。你需要自己 clone 源码后在本地执行 docker build。

优点:

  • 环境绝对隔离: 容器化运行,不影响宿主系统,随用随删。
  • 高可用性: 配合 docker-compose 的 restart: unless-stopped,天然支持 7×24 运行和宕机自动恢复。
  • 跨平台一致性: 部署可复现,在任何支持 Docker 的平台上行为一致。

不足:

  • 国内网络极度不友好: 官方 Dockerfile 中的 pip 和 npm 全部走默认源,国内网络下构建极慢,甚至大概率超时报错。
  • 镜像体积偏大: 基础镜像使用了完整的 debian:13.4 而非 slim 变体。
  • 升级繁琐: 升级需要重新 git pull 并重新 docker build,不如一键脚本方便。

方式四:自定义 Docker 构建(国内网络/NAS 优选)

在官方 Dockerfile 的基础上自行修改:加入国内镜像源、更换轻量级基础镜像、添加代理配置。这也是笔者在群晖 NAS 上最终采用的稳定方案。

核心改动参考:

dockerfile

# 1. 更换为更轻量的基础镜像
FROM debian:12-slim
# 2. 加入国内镜像源加速构建
RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
RUN npm config set registry https://registry.npmmirror.com

同时在 docker-compose.yml 中注入代理环境变量,实现“国际 API 走代理,国内大模型直连”:

yaml

environment:
  - HTTP_PROXY=http://your-proxy:7890
  - NO_PROXY=api.minimaxi.com,open.bigmodel.cn

优点:

  • 保留了 Docker 容器化的全部优势(隔离、自动重启、持久化)。
  • 彻底解决网络痛点: 极速完成依赖下载,完美契合国内网络环境。
  • 高度定制化: 可灵活预装额外工具或定制 entrypoint。

不足:

  • 需要具备一定的 Dockerfile 编写和 docker-compose 使用经验。
  • 在入门级处理器(如 NAS 的 Atom 芯片)上首次构建耗时较长(约 1-1.5 小时)。
  • NAS特别注意: 群晖DSM 有 seccomp 限制,构建时可能需要加上DOCKER_BUILDKIT=0。

总结与建议

为了方便大家快速决策,这里将4种安装方式的核心差异整理成表格:

安装方式环境隔离度部署门槛国内网络友好度后期升级维护适用人群 / 最佳场景
方式一:curl一键脚本极弱(全局装 Node/ffmpeg)极低(5分钟搞定)差 (依赖直连下载)极简(一条hermes update)小白尝鲜 / 个人 Mac 电脑/ 无历史包袱的纯净 Linux
方式二:手动安装(仅 Python venv 隔离)较高(需懂 Python 环境)差 (需自行配源)繁琐 (需手动 pull + pip)Python 开发者 / 源码二次开发/ 仅需部分模块的用户
方式三:官方Dockerfile(完整容器化)中等(需自行 build)极差(无国内源,易超时)一般 (需重新构建镜像)海外云服务器 (VPS)/ 追求环境洁癖的容器化玩家
方式四:自定义 Docker(完整容器化)较高(需改写 Dockerfile)极好(换源+代理)一般 (需重新构建镜像)国内服务器 / 群晖等 NAS 玩家/ 需要长期稳定挂机

不管哪种方式装完,要是觉得纯命令行太繁琐,试试Molili(OpenClaw中文版),简单配置一下就能和Hermes联动,中文界面操作起来特别丝滑,小白也能轻松上手,不用死记命令。两者搭配着用,既能发挥Hermes自进化、长程运行的优势,又能靠Molili简化操作,国内用起来效率翻倍~