Hermes Agent 安装配置与实战全指南
大多数 AI 工具在你关掉终端的那一刻就忘得一干二净。Hermes Agent 不一样——它会记住你、积累经验,并把跑通过的流程固化成可复用的技能。这篇文章带你从零装好它,并真正用起来。
一、先搞清楚:Hermes Agent 是什么?
Hermes Agent 是 Nous Research(Hermes、Nomos、Psyche 系列模型的训练方)开源的自主智能体框架。它不是绑在 IDE 里的编程副驾,也不是套在单个 API 上的聊天机器人外壳——它是一个越跑越强的自主 Agent。
真正让它拉开差距的是那套闭环学习机制:
一句话概括:它是个会积累的数字同事,而不是每次都从零开始的工具。
另外几件事它做得挺不一样
不挑住处:可以跑在 5 美元的 VPS、GPU 集群,或者 Daytona / Modal 这类空闲时几乎不花钱的 serverless 平台上。你在 Telegram 上跟它说话,它在一台你从没 SSH 登录过的云主机上干活。
6 种终端后端:local、Docker、SSH、Daytona、Singularity、Modal。
20+ 消息平台:Telegram、Discord、Slack、WhatsApp、Signal、Matrix、Teams、邮件、飞书、钉钉、企业微信等,统一走一个网关。
60+ 内置工具:文件操作、终端命令、网页搜索、浏览器自动化、代码执行、图像生成等。
原生支持 MCP:可以挂载任何 MCP server 扩展能力。
二、安装前:你几乎什么都不用准备
这一点值得单独讲:在非 Windows 平台上,唯一的先决条件是 Git。 其余依赖安装脚本会自己搞定:
uv(快速 Python 包管理器)Python 3.11(通过 uv 安装,不需要 sudo)
Node.js v22(浏览器自动化与 WhatsApp 桥接用)
ripgrep(快速文件搜索)ffmpeg(TTS 场景的音频格式转换)
硬件上保持常规水平即可(建议 4GB 以上内存、2GB 以上剩余磁盘)。如果要跑本地模型,那另说,取决于你选多大的模型。
三、安装:一行命令的事
3.1 主流平台(Linux / macOS / WSL2 / Android Termux)
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
Windows 用户直接在原生 PowerShell 里跑(不需要先装 WSL2):
iex (irm https://hermes-agent.nousresearch.com/install.ps1)
3.2 想要桌面应用?
macOS 和 Windows 用户可以从官网下载 Hermes Desktop 安装包,一次装上命令行 + 桌面端,这是官方推荐的入门方式。
用命令行脚本装的时候也可以顺带带上桌面端:
# 连桌面应用一起装
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash -s -- --include-desktop
# 只装 CLI,跳过浏览器相关组件(更轻)
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash -s -- --skip-browser
3.3 走 pip 安装
pip install hermes-agent
hermes postinstall # pip 方式必须补这一步
3.4 安装器到底干了什么
它会自动完成:安装全部依赖 → 克隆仓库到 ~/.hermes/ → 创建 Python 虚拟环境 → 注册全局 hermes 命令(软链到 ~/.local/bin/hermes)→ 引导你配置 LLM 供应商。
3.5 装完记得重载 Shell
source ~/.bashrc # Bash
source ~/.zshrc # Zsh(macOS 默认)
然后验证:
hermes --version
hermes doctor # 检查环境、依赖、API 连通性与配置
⚠️ 一个高频坑:如果
hermes doctor报ModuleNotFoundError: No module named 'dotenv',说明你调用的是仓库源码里的hermes文件、用的是系统 Python,而不是 venv 的启动器。命令路径搞对了就好。
四、初始化配置:三条路,选一条
运行配置向导:
hermes setup
在全新安装上,它会给你三种模式:
最省事的一条命令:
hermes setup --portal
一次 OAuth 登录,同时搞定三件事:登录 Nous Portal → 把 Nous 设为供应商并选好默认模型 → 打开 Tool Gateway(网页搜索、图像生成、TTS、云浏览器)。不用复制 API Key,不用编辑 .env,30 秒内可聊。
五、选模型:整个配置里最关键的一步
hermes model # 交互式配置供应商、认证、端点和默认模型
Hermes 支持 OAuth 账户、API Key 供应商、聚合服务、自定义 OpenAI 兼容端点以及自托管模型。常见选择:
① Nous Portal(官方门户) — 一份订阅覆盖 300+ 模型,外加 Tool Gateway。零配置成本。
② 自带 API Key — OpenRouter(一个 Key 通吃上百个模型)、Anthropic、OpenAI、Google Gemini、Groq、Mistral 等等。
③ 本地模型(免费、离线) — 通过 Ollama / vLLM / LM Studio,在 hermes model 里选 Custom endpoint。
④ 国内用户推荐 — DeepSeek、Kimi(Moonshot)、智谱 GLM、通义千问、硅基流动等,走自定义 OpenAI 兼容端点接入即可,网络层面最省心的组合。
会话中想临时换模型,不用改配置:
/model
配置也支持热切换,直接改 ~/.hermes/config.yaml:
llm:
provider: openrouter
model: anthropic/claude-sonnet-4-20250514
api_key: sk-or-...
六、第一次对话
hermes # 经典 CLI
hermes --tui # 现代化终端 UI(官方推荐)
hermes desktop # 桌面应用
进入后随手问一句:
> 看看当前目录,告诉我这个项目是干什么的
怎么算成功? 看三个信号:
启动横幅上显示了你选的模型和供应商;
它能正常回复,且需要时会调用工具;
连续多轮对话不掉链子。
黄金法则:如果 Hermes 连一次普通对话都跑不顺,先别加任何新功能。 拿到一段干净可用的对话,再去叠网关、cron、技能、语音或多供应商路由。
续接上次会话:
hermes --continue # 或 hermes -c
七、Slash 命令速查表
会话内直接输入,斜杠开头:
常用 CLI 子命令
八、让它真正"进化":记忆 + 技能
这部分是 Hermes 的灵魂,也是很多人装完却没用起来的一块。
记忆系统
记忆落在 ~/.hermes/memories/ 下(MEMORY.md 持久记忆、USER.md 用户画像),底层用 SQLite FTS5 做全文检索,配 LLM 摘要。跨会话提起上周聊过的项目背景,它是真的能翻出来的。
/memory # 看它记住了什么
/journey # 回顾记忆与技能积累
技能系统
技能是程序性记忆——Hermes 从经验里自己写出来的操作手册。用法很朴素:
你带着它完整跑通一件复杂的事(比如"抓取某站点更新 → 整理成要点 → 生成一份周报");
输入
/learn,让它把这套流程固化成一个 skill;下次你只用一句话,它就能照着跑;
而且这个 skill 会在后续使用中被持续改写优化。
hermes skills # 浏览与管理已安装的技能
用得越久,它的技能库越贴合你的实际工作流——这是它跟"每次都失忆"的工具最本质的区别。
九、把它变成 24 小时在线的机器人
前提:本地对话、模型访问、工具权限都验证通过之后,再动网关。
hermes gateway setup # 配置消息平台
hermes gateway start # 启动网关
hermes gateway status # 查看状态
以 Telegram 为例,准备两样东西:
找 @BotFather,发
/newbot,拿到 Bot Token;找 @userinfobot 拿到你自己的 Telegram User ID;
在
hermes gateway setup里填进去。
之后手机直接跟你的 Agent 聊天就行——而它跑在你自己的机器或服务器上。
⚠️ 安全提醒:群组和公开频道的工具权限必须比私人终端会话收紧。Agent 有终端执行能力,在一个热闹的群里裸奔不是好主意。
Bot Mode:给不同场景开不同的"人"
hermes profile create # 创建一个 profile(bot)
hermes profile list
hermes -p chat # 打开某个 bot 的持久 profile
每个 bot 有独立的模型、记忆、技能、例行任务和会话。你可以让一个专做代码审查、一个专做舆情监控、一个当个人助理,彼此互不干扰。
十、定时任务:让它自己干活
hermes cron list
hermes cron create "every 6h" "检查这几个项目的 GitHub 更新并汇总"
hermes cron edit <id> --continuity
--continuity 是个很实用的开关:开启后,任务后续每次运行都会拿到上一次的输出,于是可以做去重和增量报告——比如"每 6 小时扫一次新闻,只报新增的"。
十一、接 MCP:扩展能力边界
hermes mcp # 交互式 MCP picker
hermes mcp catalog # 列出可用集成
hermes mcp install <name>
hermes mcp add ... # 配置自定义 HTTP 或 stdio server
hermes mcp serve # 让 Hermes 自己作为 MCP server 运行
数据库、开发工具、可观测性系统、自动化服务……基本都能挂上来。
十二、安全与隔离:别省这一步
Hermes 有终端执行能力,所以:
# 把终端执行关进容器
hermes config set terminal.backend docker
# 或者丢到远程机器上跑
hermes config set terminal.backend ssh
其他内置防护包括:命令审批、deny 规则、受保护的指令文件写入、密钥脱敏与沙箱选项。
分享会话记录前务必脱敏:
hermes sessions export backup.jsonl --redact
从 OpenClaw 迁移过来,先干跑预览再落盘:
hermes claw migrate --dry-run
hermes claw migrate
十三、目录结构速览
所有东西都在 ~/.hermes/ 下:
~/.hermes/
├── config.yaml # 所有非密钥配置(唯一来源)
├── .env # API Key 与敏感信息
├── auth.json # OAuth 凭证
├── SOUL.md # Agent 身份定义(系统提示词第一位)
├── memories/ # 持久记忆
│ ├── MEMORY.md
│ └── USER.md
├── skills/ # 已学会的技能
├── sessions/ # 会话记录
├── cron/ # 定时任务
├── logs/ # 日志(自动脱敏)
└── state.db # SQLite(FTS5 全文检索)
Profiles 则各占一份 ~/.hermes/profiles/<名称>/,结构相同。
想调人格,改 SOUL.md;想改参数,hermes config edit 或直接编辑 config.yaml。
十四、进阶:当成 Python 库来用
Hermes 不只是 CLI,可以 import 进你自己的脚本、Web 应用或自动化流水线。
pip install git+https://github.com/NousResearch/hermes-agent.git
# 或 uv pip install git+https://github.com/NousResearch/hermes-agent.git
最简用法:
from run_agent import AIAgent
agent = AIAgent(
model="anthropic/claude-sonnet-4",
quiet_mode=True, # 嵌入自己代码时务必开启,否则会打印 CLI 转圈动画
)
response = agent.chat("法国的首都是哪里?")
print(response)
需要完整控制时,用 run_conversation():
result = agent.run_conversation(
user_message="搜索 Python 3.13 的新特性",
task_id="my-task-1",
)
print(result["final_response"])
print(f"消息数: {len(result['messages'])}")
限制工具集(做最小化、被锁定的 Agent 时很有用):
# 只开网页能力
agent = AIAgent(model="anthropic/claude-sonnet-4",
enabled_toolsets=["web"], quiet_mode=True)
# 全开,但禁掉终端
agent = AIAgent(model="anthropic/claude-sonnet-4",
disabled_toolsets=["terminal"], quiet_mode=True)
多轮对话靠传回历史:
result1 = agent.run_conversation("我叫小明")
history = result1["messages"]
result2 = agent.run_conversation("我叫什么?", conversation_history=history)
批量跑任务:
python batch_runner.py --input prompts.jsonl --output results.jsonl
注意:作为库使用时,CLI 需要的环境变量同样要设好(至少
OPENROUTER_API_KEY,或OPENAI_API_KEY/ANTHROPIC_API_KEY)。
十五、出问题了?按这个顺序排查
hermes doctor # 1. 诊断环境与配置
hermes model # 2. 重新确认模型/供应商
hermes setup # 3. 重跑配置向导
hermes sessions list # 4. 检查会话
hermes gateway status# 5. 检查网关
几个常见情况:
hermes: command not found→ 没重载 shell,或~/.local/bin不在 PATH 里。ModuleNotFoundError: No module named 'dotenv'→ 调用到了系统 Python 而非 venv 启动器。装完但"什么都不干" → 大概率是模型/Key 没配好,回到
hermes model重新走一遍。Windows 杀软误报 → 部分杀毒软件会把捆绑的
uv判为可疑,加白名单即可。
写在最后
适合 Hermes 的场景很明确:你需要一个长期驻留、能从每次执行中学习、把重复流程沉淀成可复用能力的数字同事。它跑在哪台机器上都行,你从哪个聊天软件里叫它都行。
如果你的需求只是一次性问答或短平快的脚本,那任何聊天机器人都够用,Hermes 的优势发挥不出来。
给新人的一句话路线:先装好 → hermes setup --portal → 跑通一次干净的对话 → 再一层层加网关、cron、技能和 MCP。别跳步,跳步就会得到那个经典结局——"装是装上了,但它什么都不干"。
参考与延伸阅读
建议接着看:Configuration(配置详解)、Messaging Gateway(网关)、Skills System(技能系统)、Tips & Best Practices(提效技巧)
