在 Windows 上通过 WSL2 运行 Hermes Agent
Hermes Agent 不支持原生 Windows。本文是在 WSL2 中运行它的完整指南——哪些功能可用、哪些存在限制,以及何时选择托管服务更为明智。
Hermes Agent 不支持原生 Windows
如果你使用 Windows 并尝试安装 Hermes Agent,很快就会碰壁。官方 Hermes 文档明确指出:原生 Windows 不在支持之列。受支持的平台为 Linux、macOS、WSL2,以及通过 Termux 运行的 Android。
这一局面短期内不太可能改变。Hermes 依赖 shell 工具链、进程管理机制,以及 Linux 原生的文件系统规范。Windows 上的正确路径是 WSL2——即 Windows Subsystem for Linux 2,它可以在 Windows 内部运行真实的 Linux 内核。
本指南将完整介绍 Hermes Agent 的 WSL2 配置流程,并说明首次成功运行后可能遇到的各类摩擦点。
WSL2 究竟是什么
WSL2 既不是模拟器,也不是兼容层。它在一个轻量级虚拟机中运行真实的 Linux 内核。在 WSL2 的 shell 环境中,你拥有完整的 Linux 环境:文件系统、进程表、包管理器和网络。
对 Hermes 而言,这意味着在 Linux 服务器上能用的功能,在 WSL2 中同样可用——但网络和持久化方面存在一些注意事项,下文将详细介绍。
Microsoft 在 Windows 10(版本号 1903 及更高)和 Windows 11 中均内置了 WSL2。只要你的 Windows 版本不太老旧,就已经具备使用条件。
第一步:启用 WSL2
以管理员身份打开 PowerShell,执行:
wsl --install
该命令会启用 WSL 功能、安装默认 Linux 发行版(Ubuntu),并将 WSL2 设置为默认版本。完成安装需要重启。
如果你已安装 WSL1 并希望升级至 WSL2:
wsl --set-default-version 2
然后查看当前发行版使用的版本:
wsl --list --verbose
查看 VERSION 列,目标值为 2。
第二步:在 WSL2 中配置 Ubuntu
重启后,从开始菜单打开 Ubuntu。首次启动会引导你创建 Unix 用户名和密码。这是你的 WSL2 账户,与 Windows 账户相互独立。
更新软件包列表并升级已安装的软件包:
sudo apt update && sudo apt upgrade -y
安装 Hermes 所需的 curl 等基础工具:
sudo apt install -y curl git build-essential
第三步:在 WSL2 内安装 Hermes Agent
Ubuntu 环境准备就绪后,使用官方安装脚本安装 Hermes:
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
安装完成后,执行初始化配置:
hermes setup
该步骤将引导你完成服务商选择、模型配置,以及可选的 Telegram 设置。首次运行建议选择 OpenRouter,提前准备好 OpenRouter API 密钥。
配置完成后,启动 Hermes:
hermes
如果看到终端界面,说明你的 WSL2 安装已成功运行。
第四步:在 WSL2 中配置 Telegram
在 WSL2 内为 Hermes 配置 Telegram,需要比原生 Linux 服务器多几个步骤。
Hermes 消息网关需要保持运行才能接收 Telegram 消息。在 WSL2 中,该进程的生命周期与 WSL2 会话绑定——关闭终端,网关即停止,Telegram 消息将无法送达。
若要在后台保持网关运行:
hermes gateway start --detach
查看运行状态:
hermes gateway status
如果希望网关在 WSL2 启动时自动运行,可以将其添加到 ~/.bashrc,或配置一个 systemd 服务(WSL2 在 Windows 11 的近期版本中已支持 systemd)。
WSL2 运行 Hermes 的已知限制
WSL2 关闭后,记忆与状态不会保留。 默认情况下,关闭最后一个会话时 WSL2 会终止。所有运行中的进程均会停止。如果 Hermes 正在接收 Telegram 消息或执行定时任务,这些操作将被中断。每次 WSL2 启动后,你都需要重新启动 Hermes 和网关。
网络是桥接模式,而非原生网络。 WSL2 会创建一个虚拟网络适配器。从互联网角度来看,你的 Hermes 实例没有固定 IP 地址。这对需要接收 webhook 流量的集成场景有影响,但不影响向外发起的 Telegram 或模型 API 调用。
文件路径存在摩擦。 WSL2 拥有自己的 Linux 文件系统(在 Windows 中通过 \\wsl$\Ubuntu\home\... 访问)。如需在 WSL2 与 Windows 应用之间共享文件,可以在 WSL2 内挂载 Windows 路径(/mnt/c/...)。Hermes 的(持久化)记忆文件和配置文件默认存储在 WSL2 主目录,如不使用网络路径,在 Windows 资源管理器中无法直接访问。
Windows 路径上的性能问题。 如果将 Hermes 文件存储在 Windows 文件系统(/mnt/c/ 之下),文件操作速度会明显慢于存储在 WSL2 文件系统中的情况。建议将 Hermes 数据保留在 Linux 主目录以获得更好性能。
需要保持 WSL2 开启。 若要让 Hermes 在 Telegram 上持续可用,WSL2 终端必须保持运行。这是希望使用持久化智能体的 Windows 用户面临的最大运营限制。
何时托管服务对 Windows 用户更合适
对大多数 Windows 用户而言,WSL2 足以用于评估和学习。问题出现在你希望 Hermes 持续、全天候可用时。
WSL2 是开发者工具,而非服务器。持续运行意味着你的 Windows 机器必须始终开机、WSL2 会话不能关闭,而且每次 Windows 更新强制重启后,你都要自行处理恢复问题。
如果你希望 Hermes 全天 24 小时在 Telegram 上可用,且不依赖本地机器,有两个选择:
- 租用一台 Linux VPS,在上面运行 Hermes,而非在本地运行。
- 使用托管服务,例如 Hermify——运行时驻留在持久化服务器上,你通过 Telegram 和控制台与其交互。
第二种方式无需 Linux 知识,无需管理 VPS,且完全不依赖 WSL2 即可在 Windows 上使用。你无需在本地安装任何东西,Hermify 代为处理运行时。Telegram 机器人保持可用,因为它运行在真实服务器上,而非你的笔记本电脑。
这正是大多数 Windows 用户在完成评估、希望将 Hermes 作为真正日常助手时所选择的路径。
实用决策参考
| 场景 | 建议 |
|---|---|
| 在 Windows 上首次体验 Hermes | WSL2 即可 |
| 构建自定义工具或为 Hermes 贡献代码 | 开发机上使用 WSL2 |
| 希望 Hermes 全天在 Telegram 上可用 | 托管服务(Hermify)或 Linux VPS |
| 希望完全跳过 Linux 配置 | 托管服务 |
| 本地或服务器上已有 Linux 环境 | 原生 Linux,无需 WSL2 |
WSL2 并非错误的工具——它是开发场景的正确选择。对于持续的生产用途,服务器端运行时更为可靠。如需对比托管 Hermes 服务与自托管 VPS 方案,可以参考这篇对比文章,了解两种选项的详细差异。