我用了一周 Hermes Agent,整理出这十件必做的事
前言
本指南基于 Hermes Agent 实际上手体验整理,每个步骤均经过流程验证,适合从零开始的用户按顺序跟着操作。与原文相比,本文对每一步的命令、参数和验证方式做了更细致的补充,确保你能顺利跑通全流程。
Hermes Agent 是 NousResearch 开源的 AI Agent 框架,相比 OpenClaw,其亮点在于:配置友好、多模型路由、记忆系统完善、自动沉淀技能,且使用国内模型(如 Qwen 系列)也能稳定运行。
第 0 步:安装与初始配置
0.1 一键安装
支持 macOS、Linux 和 WSL2(Windows 用户需先安装 WSL2 并在其中运行):
curl-fsSLhttps://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--versionhermes chat"你好,介绍一下你自己"收到回复即代表安装成功。如果报错,检查~/.hermes/.env中的 Key 是否正确。
第 1 步:配置防爬浏览器(Camofox)
为什么需要
普通的后端浏览器(如 Chromium headless)访问大多数网站会立即被反爬机制拦截。Camofox 提供了一个「像真人一样」的浏览器环境,使 Hermes 能够:
- 自动读取网页文章
- 自动填写表单
- 操作需要登录的后台系统
- 执行复杂的网页自动化任务
配置步骤
直接告诉 Hermes:
帮我配置 CAMOFOX 及 CAMOFOX_URLHermes 会自动完成配置文件的写入,并在需要高危操作时主动请求你的授权。
💡亮点一: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,重度使用建议调到 4000user_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 profilehermes-pworker configsetterminal.backenddockerhermes-pworker configsetterminal.docker_image python:3.11-slim# 配置 worker 使用便宜模型(沙箱任务不需要顶级模型)hermes-pworker configsetmodel.provider alibaba hermes-pworker configsetmodel.model qwen3.5-plus# 如果使用 Telegram,绑定独立的 Bot Tokenhermes-pworker configsetgateway.telegram.bot_token"YOUR_BOT_TOKEN_B"hermes-pworker configsetgateway.telegram.enabledtrue也可以直接告诉主 Agent:
参考如下命令,帮我额外配置一个 profile,sandbox 使用 docker,模型遵循主 profile 即可验证沙箱隔离
# 在 worker bot 中执行(不会真正损坏宿主机)rm-rf/# 在宿主机验证 Docker 已启动dockerps💡亮点六:多 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/bashBACKUP_NAME="hermes_backup_$(date+%Y%m%d_%H%M%S)"BACKUP_DIR="/tmp/$BACKUP_NAME"DEST_DIR=~/hermes_backupsmkdir-p$BACKUP_DIR/hermes$DEST_DIRecho"正在备份核心配置..."cp~/.hermes/config.yaml$BACKUP_DIR/hermes/cp~/.hermes/.env$BACKUP_DIR/hermes/cp~/.hermes/MEMORY.md$BACKUP_DIR/hermes/2>/dev/nullecho"正在备份数据库与会话..."cp~/.hermes/state.db$BACKUP_DIR/hermes/cp-r~/.hermes/sessions$BACKUP_DIR/hermes/2>/dev/nullecho"正在备份扩展与技能..."cp-r~/.hermes/plugins$BACKUP_DIR/hermes/2>/dev/nullcp-r~/.hermes/skills$BACKUP_DIR/hermes/2>/dev/nullcp-r~/.hermes/audit_logs$BACKUP_DIR/hermes/2>/dev/nullecho"正在备份所有 Profile..."cp-r~/.hermes/profiles$BACKUP_DIR/hermes/2>/dev/nullecho"压缩中..."tar-czf$DEST_DIR/$BACKUP_NAME.tar.gz-C/tmp$BACKUP_NAMErm-rf$BACKUP_DIRecho"✅ 备份完成:$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 个退出触发点,增量写入,无论正常/异常退出都不丢消息 |
参考资源
- 源码仓库:https://github.com/NousResearch/hermes-agent
- 官方文档:https://hermes-agent.nousresearch.com/docs/
- 社区 Wiki:https://github.com/cclank/Hermes-Wiki
