🤖HermesBlog
Hermes 官方教程 · 第12篇2026/8/9· Easy Understand Hermes Agent

从“装不上”到“跑起来”:Nix 用户的新选择

Hermes Agent 官方教程第十二篇:Nix 与 NixOS 安装 Hermes,flake 一条命令搞定。

Nix 安装:智能厨房一条命令 好,咱们接着聊。上一篇我们说到 Nix 用户装 Hermes Agent 的那些“爱恨情仇”,今天这篇,直接给你看官方最新给出的“参考答案”。

先别急着划走,这次更新有个大新闻:Nix 和 NixOS 现在被官方划成了 Tier 2 平台,文档里写得很直白——“best-effort only”(尽力而为)。听起来有点扎心?别慌,这其实是件好事,意味着官方把精力放在了更顺滑的通用安装路径上,同时也给 Nix 老用户留了一扇专门的“小门”。想走官方支持的路线,就用 Docker 或者 FHS 环境。

两分钟跑起来:官方推荐路线

如果你不是 Nix 死忠,或者只是想快速体验,官方现在最推荐的是桌面安装包。去官网下载 Hermes Desktop 安装器,macOS 和 Windows 都是双击下一步,命令行和图形界面一次搞定,省心。

不想装桌面版?那就走纯命令行:

# Linux / macOS / WSL2 / Android (Termux)
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

Windows 原生用户用 PowerShell:

iex (irm https://hermes-agent.nousresearch.com/install.ps1)

装完如果想补个桌面版,敲一句 hermes desktop 就行。

安装器到底干了啥?

你可能会担心“这脚本会不会把我系统搞乱?”放心,它全自动处理:Python、Node.js、ripgrep、ffmpeg 这些依赖,还有仓库克隆、虚拟环境、全局 hermes 命令,一条龙全包。你唯一要做的就是等它跑完,然后开聊。

装完记得重开终端(或者 source ~/.bashrc),然后输入 hermes 就能开始对话了。

Nix 用户专属通道

重点来了。如果你已经在用 Nix(NixOS、macOS 或 Linux 都行),官方准备了一个专门的 Nix 设置指南,里面有 Nix flake、NixOS 模块,还有 Home Manager 模块。这意味着你可以把 Hermes Agent 像其他包一样,优雅地写进你的 configuration.nix 里,而不是靠 curl 脚本“入侵”你的系统。

官方把 Nix 的用法分了几个层级,挑一个适合你的:

层级 适合谁 你能得到什么
nix run / nix profile install 任何 Nix 用户(macOS、Linux) 带全部依赖的预构建二进制,之后走标准 CLI 流程
Home Manager 模块 想给一个人配一个 agent,任意发行版或 macOS 声明式配置 + 用户服务,不需要 root
NixOS 模块(原生) NixOS 服务器部署 声明式配置、加固的 systemd 服务、托管密钥
NixOS 模块(容器) 需要自我修改的 agent 上面全都有,外加一个持久化 Ubuntu 容器,agent 可以在里面 apt/pip/npm install

最省事的起步方式,连 clone 都不用:

# 跑桌面版
nix run github:NousResearch/hermes-agent#desktop

# 或者持久安装
nix profile install github:NousResearch/hermes-agent#desktop

# 跑 TUI
nix run github:NousResearch/hermes-agent -- setup
nix run github:NousResearch/hermes-agent -- --tui

# 或者装进 profile
nix profile install github:NousResearch/hermes-agent
hermes setup
hermes --tui

nix profile install 之后,hermes、hermes-agent、hermes-acp 就都在 PATH 上了,后面的流程和标准安装一模一样。

小提醒:默认包会把 hermes-agent 可能用到的所有库都塞进去,closure 会多出大约 700 MB。如果你只需要消息平台,用 #messaging 变体,只多约 33 MB。

具体怎么配 NixOS 模块,官方文档里有一整页 nix-setup.md 在等着你。这里就不展开代码了,免得篇幅爆炸。

小提醒:如果你在 NixOS 上用原生模式(不是容器模式)跑定时任务,得让服务用户“linger”一下。模块在 createUser = true 时会自动帮你设好 linger = true(需要 nixpkgs ≥ 25.05),把 gateway 排在 linger-users.service 之后,并在启动前等一下 /run/user/<uid>/bus;但如果你自己声明用户(createUser = false),记得手动加上 linger = true,或者跑一次 sudo loginctl enable-linger <user>,不然 cron 任务会降级甚至直接罢工。

按需加料:extraDependencyGroups

Nix 构建的 venv 是“密封”的,默认只装核心依赖。想加功能怎么办?官方给了一个新参数 extraDependencyGroups,用来把 pyproject.toml 里的可选依赖组塞进这个密封环境,在构建时并入核心依赖解析。注意:如果依赖需求冲突,解析仍然可能失败;下表只列常见组,完整列表和平台标记以 pyproject.toml 为准。

比如想开语音功能:

#   pkgs.hermes-agent.override { extraDependencyGroups = [ "voice" ]; }
参数 类型 默认值 说明
extraDependencyGroups listOf str [] 要加进密封 venv 的 pyproject.toml 可选依赖组(如 ["voice"]),构建时并入核心依赖解析

注意:像 Hindsight 这类放在插件目录里、不在 Hermes 源码树内的记忆提供商,不算 extras。要用就按普通目录插件安装:hermes plugins install hindsight,或者用 extraPlugins 指向它的源码树做声明式安装。

运行时锁定:Nix 里的 Python 和工具版本

官方最近把 Nix 构建的“版本锁定”讲得更细了,值得单独拎出来说说。

工具锁:PM 的工具锁现在也是 Nix 的构建输入。nix/npm-pinned.nix 读取 npm 的 pin,nix/pm-packages.nix 则把对应的归档暴露成 pm-NAME 形式的 derivation,比如:

nix build .#pm-ripgrep

这些输出只是把锁定的归档解包出来,并不是完整的 Hermes wrapper,也不保证每个归档脱离平台集成就能直接跑。应用本身还是走 uv2nix 环境和 Nix wrapper。

Python 锁:nix/pythonLock.nix 会从 pm/lock.json 里读出 Python 的主/次版本号。uv2nix 环境、包覆盖、插件包以及开发者 shell 都用这个解释器家族。如果锁定的 nixpkgs 里没有这个家族,评估会直接停下,而不是偷偷换一个 Python。

一条铁律:原生 Nix 评估和构建仍然是 CI 关卡。要更新就走 Nix,千万别用 pip 去修 Nix store 里的路径。

nix build .#pm-ripgrep

一条铁律:原生 Nix 评估和构建仍然是 CI 关卡。要更新就走 Nix,千万别用 pip 去修 Nix store 里的路径。

开发 shell 也变了:nix develop 现在提供的是可编辑的 Python venv,运行在 pm/lock.json 锁定的解释器上,并带上 dev 依赖组。HERMES_PYTHON 和 VIRTUAL_ENV 都指向它,而且不需要 PYTHONPATH;它不再往仓库本地的 .venv 里装 Python 依赖。shell 里同样有 Node.js 和运行时工具,npm hook 会在 JS 工作区输入变化时刷新它们。

cd hermes-agent
nix develop
"$HERMES_PYTHON" -c "import sys; print(sys.executable); print(sys.version)"
hermes setup
hermes chat

装完怎么调教?

装好只是开始,几个常用命令帮你快速上手:

hermes model          # 选模型和提供商
hermes tools          # 开关工具
hermes gateway setup  # 配置消息平台
hermes config set     # 改单个配置项
hermes setup          # 或者干脆跑一遍完整向导

偷懒小技巧:如果你不想一个个配 API key,直接 hermes setup --portal,一个订阅搞定 300+ 模型,还顺带把网页搜索、图片生成、TTS 这些工具网关全打开,省下的时间够你喝杯咖啡了。

最后唠叨两句

这次更新把安装路径理得更清楚了:普通用户走官方脚本或桌面安装器,Nix 用户走专门的 flake 通道,开发者可以手动克隆源码。别再纠结“装不上”了,选一条适合你的路,跑起来才是正经事。

如果你是从另一台机器迁移过来,记得用 hermes import 恢复备份,或者 hermes profile import 搬单个 agent——不过注意,profile 导出默认不含凭证,别把它当完整备份用。

好了,去装吧。有问题评论区见。

📖 官方文档

本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › getting-started/nix-setup