前言

本指南基于 Hermes Agent 实际上手体验整理,每个步骤均经过流程验证,适合从零开始的用户按顺序跟着操作。与原文相比,本文对每一步的命令、参数和验证方式做了更细致的补充,确保你能顺利跑通全流程。

Hermes Agent 是 NousResearch 开源的 AI Agent 框架,相比 OpenClaw,其亮点在于:配置友好、多模型路由、记忆系统完善、自动沉淀技能,且使用国内模型(如 Qwen 系列)也能稳定运行。


第 0 步:安装与初始配置

0.1 一键安装

支持 macOS、Linux 和 WSL2(Windows 用户需先安装 WSL2 并在其中运行):

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

-x 参数可以看到每一步的执行过程,便于排查问题。

0.2 交互式配置

安装完成后执行以下命令进入配置向导:

hermes setup

配置向导会引导你设置:模型提供商与 API Key、默认 Channel(Telegram / Terminal 等)、基础参数。

💡 提示:填写 API Key 时粘贴后不会显示内容(安全设计),请勿重复粘贴。若怀疑填错,直接编辑配置文件验证:vim ~/.hermes/.env

0.3 验证安装

hermes --version
hermes chat "你好,介绍一下你自己"

收到回复即代表安装成功。如果报错,检查 ~/.hermes/.env 中的 Key 是否正确。


第 1 步:配置防爬浏览器(Camofox)

为什么需要

普通的后端浏览器(如 Chromium headless)访问大多数网站会立即被反爬机制拦截。Camofox 提供了一个「像真人一样」的浏览器环境,使 Hermes 能够:

  • 自动读取网页文章
  • 自动填写表单
  • 操作需要登录的后台系统
  • 执行复杂的网页自动化任务

配置步骤

直接告诉 Hermes:

帮我配置 CAMOFOX 及 CAMOFOX_URL

Hermes 会自动完成配置文件的写入,并在需要高危操作时主动请求你的授权。

💡 亮点一:Hermes 会智能识别高危指令并请求授权,比 OpenClaw 更清晰地告知你它要做什么,而不是带着一堆无意义数字的授权请求。


第 2 步:配置灵魂定义(SOUL.md)

什么是 SOUL.md

SOUL.md 是 Hermes 的人格配置文件,定义了 Agent 的思考模式、行为约束和输出风格。默认文件是空注释,需要你自己填写。

最佳实践:先聊再总结

推荐流程:先和 Hermes 正常使用 1-2 天,展现你的工作风格和偏好,然后问:

灵魂定义(SOUL.md)你有没有推荐的配置,基于我们的对话风格来建议?

Hermes 会读取历史会话,生成贴合你习惯的配置。然后让它写入:

帮我编辑写入 ~/.hermes/SOUL.md

💡 亮点二:Hermes 能读取 session 历史并据此生成个性化建议,体现了其会话感知机制的价值。

参考配置

---
name: 严谨架构师
version: 2.0
---

# 思考模式
- 先验证后回答:不确定的 API、配置、路径,先查工具确认,不靠猜测
- 先计划后执行:3步以上的任务,先列方案标风险,确认再动手
- 交付即验证:做完一件事,主动给出「怎么检查它是否生效」

# 自我约束
- 不确定时直接说「我不确定」
- 高危操作(删数据、重启、覆盖)必须预警

# 输出纪律
- 结论先行,代码/命令为主,少废话

第 3 步:配置 Auxiliary 副驾模型路由

设计理念

Auxiliary 是 Hermes 的副驾 LLM 路由中心。核心思路:让主模型专注复杂推理,让便宜/专用的副模型承担「脏活累活」,从而节省成本、提升效率。

支持配置的 8 个辅助任务

辅助模型 用途说明
vision 截图 / 验证码 / 图片分析
web_extract 网页内容抓取与提炼
compression 上下文压缩摘要(节省 Token)
session_search 历史会话搜索与摘要
approval 高危命令审批决策
skills_hub 技能市场搜索与安装
mcp MCP 服务调用辅助
flush_memories 记忆系统清理与重组

配置示例

直接口头告知 Hermes:

压缩会话的辅助模型帮我配置成 qwen3.5-plus

验证配置

# 手动触发压缩
hermes compress

# 查看日志确认模型路由
tail -f ~/.hermes/logs/agent.log

日志中你应该看到类似:

Auxiliary compression: using auto (qwen3.5-plus) at https://dashscope.aliyuncs.com/...

💡 亮点三:压缩阈值默认 50%,不同上下文长度的模型触发比例不同:1M 模型可分配最多 50K token 给摘要,200K 模型只有 10K。这比统一阈值更合理。


第 4 步:配置三层记忆系统

Hermes 记忆系统分为三层,由浅到深,可按需启用。建议先用第一层 + 第三层,满足需求后再考虑引入第二层。

第一层:内置记忆(默认已开)

编辑 ~/.hermes/config.yaml 进行微调:

memory:
  memory_enabled: true        # MEMORY.md — 项目事实、踩坑记录
  user_profile_enabled: true  # USER.md — 用户画像与偏好
  memory_char_limit: 4000     # 默认 2200,重度使用建议调到 4000
  user_char_limit: 1375       # 用户画像字符上限
  nudge_interval: 5           # 每 5 轮提醒存记忆(默认 10,调小更积极)
  flush_min_turns: 6          # 至少 6 轮才触发退出时的记忆刷新

第二层:外部 Memory Provider(按需)

支持 mem0、Zep 等 8 个外挂记忆插件。配置方式:

hermes memory setup

⚠️ 注意:开启后每轮对话会增加至少 2 次 API 调用(写入 + 搜索),根据使用频率权衡是否开启。

💡 亮点四:密钥与配置分离,采用 YAML 格式,修改直观友好。

第三层:Session Search(默认已开)

所有历史对话自动持久化到本地 SQLite,支持关键词检索 + LLM 摘要,是记忆系统的兜底机制:

  • 存储位置~/.hermes/state.db
  • 检索方式:FTS5 关键词全文搜索 + LLM 二次摘要
  • 兜底保障:LLM 调用失败时返回原始文本前 500 字符,不会因故障而完全失效

不需要额外配置,Session Search 默认开启。Agent 会根据你的问题自动判断是否需要检索历史。


第 5 步:配置 Web Search

支持的搜索引擎

Hermes 原生支持 4 个搜索提供商:Exa、Tavily、Parallel、Firecrawl

配置方式

直接告诉 Hermes:

帮我配置 exa 搜索

Hermes 会引导你输入 API Key 并完成配置。配置成功后可以直接测试:

搜索一下今天 AI 领域有什么新进展

💡 亮点五:Hermes 默认会在 IM 界面清晰打印每个 tool 调用的过程,执行过程完全透明可见。


第 6 步:配置自动化审计(Hooks)

两种扩展方式

Hermes 提供两套互补的扩展系统:

  • Gateway Hooks:事件驱动钩子,处理生命周期通知
  • Plugin System:插件生命周期钩子,处理功能扩展

8 个生命周期 Hook

on_session_start      → 会话创建时
pre_llm_call          → LLM 调用前(可注入上下文)
pre_api_request       → 每次 API 调用前
post_api_request      → 每次 API 调用后
pre_tool_call         → 工具执行前
post_tool_call        → 工具执行后
post_llm_call         → 本轮对话结束
on_session_end        → 会话结束

实战:创建终端命令审计 Hook

告诉 Hermes:

做一个终端命令审计插件(Terminal Audit Hook):
在每次 terminal 工具执行完毕后,自动把命令内容、
执行结果、时间戳、会话 ID 追加到日志文件。

授权后,Hermes 会自动生成并激活这个 Hook。

验证

# 执行任意命令后,检查审计日志
tail -f ~/.hermes/audit_logs/terminal_audit.log

第 7 步:配置 Docker 沙箱

为什么需要沙箱

默认情况下 Hermes 在本地执行命令,存在一定风险。Docker 沙箱将命令执行隔离在容器中,即使 Agent 执行了危险命令,也只会影响容器内的环境。

配置步骤

# 创建一个使用 Docker 沙箱的 worker profile
hermes -p worker config set terminal.backend docker
hermes -p worker config set terminal.docker_image python:3.11-slim

# 配置 worker 使用便宜模型(沙箱任务不需要顶级模型)
hermes -p worker config set model.provider alibaba
hermes -p worker config set model.model qwen3.5-plus

# 如果使用 Telegram,绑定独立的 Bot Token
hermes -p worker config set gateway.telegram.bot_token "YOUR_BOT_TOKEN_B"
hermes -p worker config set gateway.telegram.enabled true

也可以直接告诉主 Agent:

参考如下命令,帮我额外配置一个 profile,sandbox 使用 docker,模型遵循主 profile 即可

验证沙箱隔离

# 在 worker bot 中执行(不会真正损坏宿主机)
rm -rf /

# 在宿主机验证 Docker 已启动
docker ps

💡 亮点六:多 profile 配置非常友好,一句话就让 Hermes 完成配置。主 profile 保持安全,worker profile 承担高风险任务。


第 8 步:使用多 Agent

两种多 Agent 模式

  • 同一 Session 内触发 Sub-Agent:适合并行子任务
  • 完全隔离的多 Profile:适合不同安全级别的任务分工(见第 7 步)

触发 Sub-Agent

只需一句话:

请 spawn 三个 subagent 来相互讨论 Hermes 的优劣势

三个 Sub-Agent 会在同一 Session 中并行工作,各自发言,最终给出汇总。这种方式适合需要多角度分析或并行处理的复杂任务。


第 9 步:建立备份体系

三层备份策略

  • 第一层:本地 Git(快速版本控制)
  • 第二层:其他磁盘定时备份(防止硬盘故障)
  • 第三层:远程备份(GitHub 私有仓库 / 对象存储)

完整备份脚本

将以下脚本保存为 ~/hermes_backup.sh

#!/bin/bash
BACKUP_NAME="hermes_backup_$(date +%Y%m%d_%H%M%S)"
BACKUP_DIR="/tmp/$BACKUP_NAME"
DEST_DIR=~/hermes_backups

mkdir -p $BACKUP_DIR/hermes $DEST_DIR

echo "正在备份核心配置..."
cp ~/.hermes/config.yaml $BACKUP_DIR/hermes/
cp ~/.hermes/.env $BACKUP_DIR/hermes/
cp ~/.hermes/MEMORY.md $BACKUP_DIR/hermes/ 2>/dev/null

echo "正在备份数据库与会话..."
cp ~/.hermes/state.db $BACKUP_DIR/hermes/
cp -r ~/.hermes/sessions $BACKUP_DIR/hermes/ 2>/dev/null

echo "正在备份扩展与技能..."
cp -r ~/.hermes/plugins $BACKUP_DIR/hermes/ 2>/dev/null
cp -r ~/.hermes/skills $BACKUP_DIR/hermes/ 2>/dev/null
cp -r ~/.hermes/audit_logs $BACKUP_DIR/hermes/ 2>/dev/null

echo "正在备份所有 Profile..."
cp -r ~/.hermes/profiles $BACKUP_DIR/hermes/ 2>/dev/null

echo "压缩中..."
tar -czf $DEST_DIR/$BACKUP_NAME.tar.gz -C /tmp $BACKUP_NAME
rm -rf $BACKUP_DIR

echo "✅ 备份完成:$DEST_DIR/$BACKUP_NAME.tar.gz"
echo "大小:$(du -h $DEST_DIR/$BACKUP_NAME.tar.gz | cut -f1)"
# 添加执行权限并运行
chmod +x ~/hermes_backup.sh
~/hermes_backup.sh

# 可选:添加到 crontab,每天凌晨 2 点自动备份
# 0 2 * * * ~/hermes_backup.sh

⚠️ .env 文件包含 API Key,建议加入 .gitignore,不要推送到 GitHub。


第 10 步:安装与沉淀技能(Skills)

自动技能沉淀

Hermes 最令人印象深刻的功能之一:它会自动将有价值的操作流程总结并固化为可复用的技能。

触发条件:每累计 15 次工具循环(config.yaml 中的 creation_nudge_interval 参数),Hermes 会在后台启动一个 Skill Review:

# Skill Review 的三种结果:
# 1. 发现可更新的现有技能 → 自动更新补充新经验
# 2. 发现值得新建的技能   → 创建新技能文件
# 3. 没有值得保存的内容   → 输出 Nothing to save. 结束

整个过程在后台线程运行,不阻塞当前对话。

手动安装技能

帮我安装 git 操作相关的技能
帮我搜索并安装 Docker 管理技能

💡 亮点七:Hermes 自动将有价值的操作沉淀为永久技能,避免重复踩坑。这是它相比其他 Agent 框架最有差异化的亮点之一。


Hermes 八大亮点总结

# 亮点 说明
智能授权 自动识别高危指令,清晰说明意图再请求授权
会话感知 通过 Session 阅读机制感知历史对话,可据此生成个性化 SOUL.md
多模型路由 Auxiliary 支持为 8 类任务分配独立模型,省钱且高效
配置解耦 密钥与配置分离,YAML 格式友好,修改直观
工具透明 IM 界面清晰打印每次 tool 调用过程,执行过程完全可见
多 Profile 多实例配置简单,一句话完成,轻松实现沙箱/主力分离
自动技能沉淀 将有价值操作自动总结为可复用技能,避免重复踩坑
消息不丢失 20 个退出触发点,增量写入,无论正常/异常退出都不丢消息

参考资源

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐