343ca4d7-cb7b-808d-80ff-d856a5d7bc普通的后端浏览器(如 Chromium headless)访问大多数网站会立即被反爬机制拦截。Camofox 提供了一个「像真人一样」的浏览器环境,使 Hermes 能够:
直接告诉 Hermes:
帮我配置 CAMOFOX 及 CAMOFOX_URL
Hermes 会自动完成配置文件的写入,并在需要高危操作时主动请求你的授权。
亮点一:Hermes 会智能识别高危指令并请求授权,比 OpenClaw 更清晰地告知你它要做什么,而不是带着一堆无意义数字的授权请求。
SOUL.md 是 Hermes 的人格配置文件,定义了 Agent 的思考模式、行为约束和输出风格。默认文件是空注释,需要你自己填写。
推荐流程:先和 Hermes 正常使用 1-2 天,展现你的工作风格和偏好,然后问:
灵魂定义(SOUL.md)你有没有推荐的配置,基于我们的对话风格来建议?
Hermes 会读取历史会话,生成贴合你习惯的配置。然后让它写入:
帮我编辑写入 ~/.hermes/SOUL.md
亮点二:Hermes 能读取 session 历史并据此生成个性化建议,体现了其会话感知机制的价值。
Auxiliary 是 Hermes 的副驾 LLM 路由中心。核心思路:让主模型专注复杂推理,让便宜/专用的副模型承担「脏活累活」,从而节省成本、提升效率。
| 辅助模型 | 用途说明 |
|---|---|
| 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。这比统一阈值更合理。
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 轮才触发退出时的记忆刷新
支持 mem0、Zep 等 8 个外挂记忆插件。配置方式:
hermes memory setup
注意:开启后每轮对话会增加至少 2 次 API 调用(写入 + 搜索),根据使用频率权衡是否开启。 亮点四:密钥与配置分离,采用 YAML 格式,修改直观友好。
所有历史对话自动持久化到本地 SQLite,支持关键词检索 + LLM 摘要,是记忆系统的兜底机制:
**~/.hermes/state.db**不需要额外配置,Session Search 默认开启。Agent 会根据你的问题自动判断是否需要检索历史。
Hermes 原生支持 4 个搜索提供商:Exa、Tavily、Parallel、Firecrawl。
直接告诉 Hermes:
帮我配置 exa 搜索
Hermes 会引导你输入 API Key 并完成配置。配置成功后可以直接测试:
搜索一下今天 AI 领域有什么新进展
亮点五:Hermes 默认会在 IM 界面清晰打印每个 tool 调用的过程,执行过程完全透明可见。
Hermes 提供两套互补的扩展系统:
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 → 会话结束
告诉 Hermes:
做一个终端命令审计插件(Terminal Audit Hook):
在每次 terminal 工具执行完毕后,自动把命令内容、
执行结果、时间戳、会话 ID 追加到日志文件。
授权后,Hermes 会自动生成并激活这个 Hook。
# 执行任意命令后,检查审计日志
tail -f ~/.hermes/audit_logs/terminal_audit.log
默认情况下 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 承担高风险任务。
只需一句话:
请 spawn 三个 subagent 来相互讨论 Hermes 的优劣势
三个 Sub-Agent 会在同一 Session 中并行工作,各自发言,最终给出汇总。这种方式适合需要多角度分析或并行处理的复杂任务。
将以下脚本保存为 **~/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。
Hermes 最令人印象深刻的功能之一:它会自动将有价值的操作流程总结并固化为可复用的技能。
触发条件:每累计 15 次工具循环(**config.yaml** 中的 **creation_nudge_interval** 参数),Hermes 会在后台启动一个 Skill Review:
# Skill Review 的三种结果:
# 1. 发现可更新的现有技能 → 自动更新补充新经验
# 2. 发现值得新建的技能 → 创建新技能文件
# 3. 没有值得保存的内容 → 输出 Nothing to save. 结束
整个过程在后台线程运行,不阻塞当前对话。
帮我安装 git 操作相关的技能
帮我搜索并安装 Docker 管理技能
亮点七:Hermes 自动将有价值的操作沉淀为永久技能,避免重复踩坑。这是它相比其他 Agent 框架最有差异化的亮点之一。