Hermes Agent 是由 Nous Research 开发的一款自进化 AI 编程助手,越用越懂你。本文覆盖从零安装到生产可用的完整流程。
Hermes Agent 是由 Nous Research 开发的一款自进化 AI 编程助手,最大的特点是「越用越懂你」——它能从对话中建立记忆、创建技能、记住你的偏好,在多次使用后逐步成为真正了解你的智能体。它可以运行在 5 美元的 VPS 上,也支持 Telegram、Discord 等平台随时接入。
本文覆盖从零安装到生产可用的完整流程,适合想认真用好这个工具的读者。
安装前的准备
系统要求
Hermes 支持以下环境:
- Linux(主流发行版均可)
- macOS
- WSL2(Windows 用户)
- Android / Termux(需要参考专门指南)
不支持原生 Windows,需先装 WSL2。
前置条件
- Python 3.11 或更高版本
- 网络连接(用于下载安装脚本和拉取模型)
可以用以下命令确认 Python 版本:
python3 --version
输出 Python 3.11.x 或更高即可。如果显示没有 python3,需要先通过系统包管理器安装。
一键安装
Hermes 提供了一个傻瓜式安装脚本,一行命令搞定所有事情。
运行安装脚本
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
⚠️ 校书核实有效:上述 URL 已通过 HTTP 200 验证(2026-04-16 校书确认),若后续失效可前往 GitHub 仓库 查看最新安装方式。
脚本会自动检测你的系统环境,安装依赖、配置路径、添加命令行工具。整个过程通常不超过两分钟。
安装完成后,需要重新加载 shell 环境才能识别新装的命令:
source ~/.bashrc # 如果你用的是 bash
source ~/.zshrc # 如果你用的是 zsh
验证安装
hermes --version
输出版本号说明安装成功。如果提示找不到命令,先确认刚才的 source 命令执行过,然后重新打开终端窗口再试。
初始配置:选择模型提供商
安装完成后,下一步是告诉 Hermes 你想用哪个大模型。运行配置向导:
hermes setup
这个向导会一步步引导你完成所有核心配置。如果只想先设置模型,可以用:
hermes model
主要模型提供商一览
| 提供商 | 说明 | 配置难度 |
|---|---|---|
| Nous Portal | 订阅制,零配置,OAuth 登录 | ⭐ 最简单 |
| OpenRouter | 汇聚 200+ 模型,按量付费 | ⭐ 简单 |
| Anthropic (Claude) | 直连 Claude,需要 API Key | ⭐⭐ 简单 |
| OpenAI | Codex / GPT 系列 | ⭐⭐ 简单 |
| MiniMax | 国际版 / 国内版均有 | ⭐⭐ 简单 |
| 阿里云百炼 (DashScope) | Qwen 系列 | ⭐⭐ 简单 |
| 自定义端点 | Ollama、vLLM、SGLang 等 | ⭐⭐⭐ 需了解 |
| Kimi / Moonshot | 国内用户常用 | ⭐⭐ 简单 |
务必要注意:Hermes 要求模型上下文窗口至少 64K tokens。上下文太小的模型会在启动时被拒绝。如果用 Ollama 等本地模型,需要确保启动了足够大的上下文窗口(比如 ollama run qwen:32b -c 65536)。
以 OpenRouter 为例配置
hermes model
# 选择 OpenRouter
# 输入你的 OpenRouter API Key(从 https://openrouter.ai/keys 获取)
# 选择具体模型,比如 google/gemini-3-flash(性价比高)
配置完成后,API Key 会自动保存到 ~/.hermes/.env,不会出现在配置文件中。
启动你的第一次对话
配置好模型之后,直接运行:
hermes
小提示:
hermes是hermes chat的别名,两者完全等价,均可使用。
你会看到欢迎横幅,上面显示当前使用的模型、已启用的工具和技能列表。然后就可以开始聊天了。
可以试着问它:
「帮我看看当前目录的磁盘占用情况」
它会调用终端命令执行并返回结果。
几个实用操作
多行输入:按 Alt+Enter 或 Ctrl+J 换行,适合粘贴代码或写长 prompt。
中断任务:如果它在处理一个耗时较长的任务,直接输入新消息按回车即可中断切换。Ctrl+C 同样有效。
保存对话:输入 /save 可以保存当前会话,便于之后回顾。
查看所有命令:输入 /help 列出所有可用命令。
配置消息网关:从 Telegram 和 Discord 接入
Hermes 最实用的功能之一是消息网关——你可以从手机上的 Telegram 或 Discord 向它发消息,它在云端运行并回复,不依赖你的电脑一直开着。
运行网关设置向导
hermes gateway setup
按提示选择平台(Telegram / Discord / Slack / WhatsApp / Signal / Email / Home Assistant),填入对应的 Bot Token 或应用凭证即可。
以 Telegram 为例,你需要:
- 在 Telegram 通过 @BotFather 创建一个 Bot,获得
BOT_TOKEN - 在
hermes gateway setup中选择 Telegram 并粘贴 Token - 设置允许接收消息的用户 ID(白名单)
完成后,启动网关:
hermes gateway start
现在在 Telegram 给你的 Bot 发消息,它会像在终端一样响应。
WSL 用户注意:在 WSL 环境下推荐使用
hermes gateway run(前台运行)而非hermes gateway start,因为 WSL 的 systemd 支持不够稳定。建议配合 tmux 使用:这样即使关闭终端,Gateway 也能持续运行。
定时任务:用自然语言安排自动化
一个实用的例子:每天早上九点抓取 Hacker News AI 新闻摘要发到 Telegram。
在对话中直接说:
「Every morning at 9am, check Hacker News for AI news and send me a summary on Telegram.」
Hermes 会自动创建对应的 cron 任务,之后每天准时推送。
终端后端配置:本地、Docker 还是远程
默认情况下,Hermes 在你的本地机器上执行命令。如果你想增强隔离性或者使用远程服务器,可以配置不同的终端后端。
查看当前后端
hermes config
切换到 Docker 后端(推荐安全场景)
hermes config set terminal.backend docker
hermes config set docker_image "nikolaik/python-nodejs:python3.11-nodejs20"
Docker 后端会启动一个加固容器来执行命令——文件系统隔离、网络受限、不允许特权提升。适合让 Hermes 操作不受信任的代码或执行删除等高危操作。
容器资源限制(完整参数):
# ~/.hermes/config.yaml
terminal:
backend: docker
docker_image: "nikolaik/python-nodejs:python3.11-nodejs20"
# 资源限制
container_cpu: 1 # CPU 核心数(默认 1,0=不限制)
container_memory: 5120 # 内存上限 MB(默认 5GB,0=不限制)
container_disk: 51200 # 磁盘上限 MB(默认 50GB)
container_persistent: true # 文件系统持久化(默认开启)
安全加固措施(默认全部启用,无需额外配置):
- 根文件系统只读(无法修改系统文件)
- 所有 Linux capabilities 全部移除(
--cap-drop ALL) - 禁止特权提升(
no-new-privileges) - PID 进程数限制(最多 256 个进程)
- 完整命名空间隔离
- 临时文件目录容量限制(
/tmp512MB、/var/tmp256MB)
目录挂载(按需配置):
hermes config set docker_volumes '["/home/user/projects:/workspace/projects"]'
可以将本地目录映射进容器,实现「容器内操作、本地查看」的工作流。冒号后加 :ro 表示只读挂载。
安全提醒:通过
docker_forward_env传入容器的环境变量(如 GitHub Token、NPM Token)对容器内命令可见。只_forward 那些你愿意让容器 session 看到的凭证。
切换到 SSH 后端(远程开发)
如果你的开发环境在远程服务器上:
hermes config set terminal.backend ssh
export TERMINAL_SSH_HOST=your-server.com
export TERMINAL_SSH_USER=ubuntu
SSH 后端通过 ControlMaster 复用连接,每次命令执行不会重新建立连接,体验流畅。
其他后端
- modal:云端临时 VM,按使用计费,闲置几乎不收费
- daytona:托管式云开发环境,支持停止/恢复
- singularity:HPC 集群专用,Docker 不可用时的选择
技能系统:让 Hermes 自己学会新能力
Hermes 有一个独特的技能系统——它不只调用预设工具,还能在使用过程中自己创建技能。
安装现成技能
hermes skills search react
hermes skills install skills-sh/vercel-labs/json-render/json-render-react
也可以在对话中直接说「搜索并安装一个 Kubernetes 技能」,它会帮你完成。
技能来源
- Skills Hub(agentskills.io):社区技能市场
- ClawHub(clawhub.ai):OpenClaw 生态的技能库
- 任意 URL:支持从文档网站自动发现技能
技能自进化
这是 Hermes 和其他编程助手最大的不同。它会在完成复杂任务后自动反思:「这个问题下次可以用一个技能来解决」,然后创建出来。随着使用时间增长,它会积累越来越多针对你个人工作流程的专属技能。
记忆系统:跨会话记住你的偏好
Hermes 有几层记忆:
- 会话记忆:当前对话的上下文,自动管理
- 长期记忆:存储在
~/.hermes/memories/目录下的MEMORY.md和USER.md,跨会话保留 - 用户画像:由 Honcho 驱动的 dialectic 用户建模,会逐步建立对你的了解
每次对话结束时,Hermes 会自动决定是否将重要信息写入长期记忆。你也可以手动触发:
「记住我习惯用中文交流」
从 OpenClaw 迁移过来
如果你已经在用 OpenClaw,Hermes 提供了一键迁移工具:
hermes claw migrate
这个命令会导入:
SOUL.md(人格配置)- 记忆文件(MEMORY.md、USER.md)
- 自定义技能
- 消息平台配置和 API Keys
- TTS 音频文件
如果你想先看看会迁移什么内容(不实际执行):
hermes claw migrate --dry-run
密钥与安全提示
在使用 Hermes 的过程中,你会接触到多个 API Key 和 Token,以下几点值得特别注意:
不要把密钥写在命令里
❌ 错误做法:
hermes config set OPENROUTER_API_KEY sk-or-v1-xxxxx # 密钥会在 shell 历史中暴露
export ANTHROPIC_API_KEY=sk-ant-xxxxx
✅ 正确做法:
# 通过交互式命令输入(不会记录到历史)
hermes auth add openrouter --api-key
# 或者直接编辑 .env 文件
hermes config edit # 打开配置编辑器,手动填入 .env 中的密钥
敏感文件不要提交到 Git
~/.hermes/ 目录包含你的密钥和记忆文件,如果你是开源项目作者或者在团队环境中使用 Hermes,务必检查 .gitignore 是否包含以下内容:
# ~/.hermes/.gitignore 参考
.env
auth.json
*.log
sessions/
memories/
如果你的项目根目录有 Git 仓库,在项目级别也加一份排除规则。
Docker 容器中的凭证
使用 Docker 后端时,通过 docker_forward_env 传入的任何环境变量对容器内命令可见。如果容器被攻击者访问,这些变量也会暴露。请仅_forward 必要且可接受暴露的凭证。
最小权限原则
创建用于 Hermes 的 API Key 时,尽量选择只授权必要权限的密钥。例如只读权限的 GitHub Token、限定 IP 范围的 API Key 等,减少密钥泄露后的影响面。
卸载与重装
卸载 Hermes
如果想完全清除:
hermes uninstall
这会移除 Hermes 二进制文件和命令行工具,但不会删除 ~/.hermes/ 目录(包含你的配置、记忆和技能)。如需彻底清除:
rm -rf ~/.hermes
⚠️ 执行前请确认已备份重要数据,尤其是
memories/目录下的记忆文件。
重装
重装流程与全新安装完全相同:
# 1. 卸载旧版本
hermes uninstall
# 2. 重新运行安装脚本
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
source ~/.bashrc
# 3. 恢复配置(如果你备份了 ~/.hermes 目录)
# 将之前备份的 ~/.hermes 恢复到原位置
# Hermes 会自动识别现有配置,无需重新 setup
如果重装后想保留原有记忆和技能但重置配置:
# 进入 Hermes 目录,手动删除需要重置的部分
rm ~/.hermes/config.yaml # 重置配置,保留记忆和技能
rm ~/.hermes/.env # 清除 API Keys,需要重新配置
常见问题排查
启动时报错「context window too small」
模型上下文窗口不足 64K。切换到更大上下文的模型,或者检查 Ollama 等本地模型的启动参数是否设置了足够大的 -c 值。
终端命令没有执行
hermes doctor
这个诊断命令会检查 Docker 是否在运行、SSH 配置是否完整、各个 API Key 是否有效。按输出逐项修复即可。
想更新到最新版本
hermes update
写在最后
Hermes Agent 不是一个「装好就能完全上手」的工具——它的价值在于持续使用。随着对话积累,它会越来越懂你的工作方式、代码风格和偏好。建议先从日常的小问题开始用起,慢慢把更大块的任务交给它,让它的记忆和技能库一起成长。
如果遇到问题,官方文档(hermes-agent.nousresearch.com/docs)有更详细的各模块说明,也欢迎在 GitHub Issues 或 Discord 社区提问。
