--- notion-id: 343ca4d7-cb7b-808d-80ff-d856a5d7bc9d --- ## **第 1 步:配置防爬浏览器(Camofox)** ### **为什么需要** 普通的后端浏览器(如 Chromium headless)访问大多数网站会立即被反爬机制拦截。Camofox 提供了一个「像真人一样」的浏览器环境,使 Hermes 能够: - 自动读取网页文章 - 自动填写表单 - 操作需要登录的后台系统 - 执行复杂的网页自动化任务 ### **配置步骤** 直接告诉 Hermes: ```plain text 帮我配置 CAMOFOX 及 CAMOFOX_URL ``` Hermes 会自动完成配置文件的写入,并在需要高危操作时主动请求你的授权。 > **亮点一**:Hermes 会智能识别高危指令并请求授权,比 OpenClaw 更清晰地告知你它要做什么,而不是带着一堆无意义数字的授权请求。 ## **第 2 步:配置灵魂定义(SOUL.md)** ### **什么是 SOUL.md** SOUL.md 是 Hermes 的人格配置文件,定义了 Agent 的思考模式、行为约束和输出风格。默认文件是空注释,需要你自己填写。 ### **最佳实践:先聊再总结** 推荐流程:先和 Hermes 正常使用 1-2 天,展现你的工作风格和偏好,然后问: ```plain text 灵魂定义(SOUL.md)你有没有推荐的配置,基于我们的对话风格来建议? ``` Hermes 会读取历史会话,生成贴合你习惯的配置。然后让它写入: ```plain text 帮我编辑写入 ~/.hermes/SOUL.md ``` > **亮点二**:Hermes 能读取 session 历史并据此生成个性化建议,体现了其会话感知机制的价值。 ## **第 3 步:配置 Auxiliary 副驾模型路由** ### **设计理念** Auxiliary 是 Hermes 的副驾 LLM 路由中心。核心思路:让主模型专注复杂推理,让便宜/专用的副模型承担「脏活累活」,从而节省成本、提升效率。 ### **支持配置的 8 个辅助任务** | **辅助模型** | **用途说明** | | --- | --- | | vision | 截图 / 验证码 / 图片分析 | | web_extract | 网页内容抓取与提炼 | | compression | 上下文压缩摘要(节省 Token) | | session_search | 历史会话搜索与摘要 | | approval | 高危命令审批决策 | | skills_hub | 技能市场搜索与安装 | | mcp | MCP 服务调用辅助 | | flush_memories | 记忆系统清理与重组 | ### **配置示例** 直接口头告知 Hermes: ```plain text 压缩会话的辅助模型帮我配置成 qwen3.5-plus ``` ### **验证配置** ```plain text # 手动触发压缩 hermes compress # 查看日志确认模型路由 tail -f ~/.hermes/logs/agent.log ``` 日志中你应该看到类似: ```plain text Auxiliary compression: using auto (qwen3.5-plus) at https://dashscope.aliyuncs.com/... ``` > **亮点三**:压缩阈值默认 50%,不同上下文长度的模型触发比例不同:1M 模型可分配最多 50K token 给摘要,200K 模型只有 10K。这比统一阈值更合理。 ## **第 4 步:配置三层记忆系统** Hermes 记忆系统分为三层,由浅到深,可按需启用。**建议先用第一层 + 第三层,满足需求后再考虑引入第二层。** ### **第一层:内置记忆(默认已开)** 编辑 `**~/.hermes/config.yaml**` 进行微调: ```plain text 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 个外挂记忆插件。配置方式: ```plain text hermes memory setup ``` > **注意**:开启后每轮对话会增加至少 2 次 API 调用(写入 + 搜索),根据使用频率权衡是否开启。 > **亮点四**:密钥与配置分离,采用 YAML 格式,修改直观友好。 ### **第三层:Session Search(默认已开)** 所有历史对话自动持久化到本地 SQLite,支持关键词检索 + LLM 摘要,是记忆系统的兜底机制: - **存储位置**:`**~/.hermes/state.db**` - **检索方式**:FTS5 关键词[全文搜索](https://cloud.tencent.com/product/es?from_column=20421&from=20421) + LLM 二次摘要 - **兜底保障**:LLM 调用失败时返回原始文本前 500 字符,不会因故障而完全失效 不需要额外配置,Session Search 默认开启。Agent 会根据你的问题自动判断是否需要检索历史。 --- ## **第 5 步:配置 Web Search** ### **支持的搜索引擎** Hermes 原生支持 4 个搜索提供商:**Exa、Tavily、Parallel、Firecrawl**。 ### **配置方式** 直接告诉 Hermes: ```plain text 帮我配置 exa 搜索 ``` Hermes 会引导你输入 API Key 并完成配置。配置成功后可以直接测试: ```plain text 搜索一下今天 AI 领域有什么新进展 ``` > **亮点五**:Hermes 默认会在 IM 界面清晰打印每个 tool 调用的过程,执行过程完全透明可见。 --- ## **第 6 步:配置自动化审计(Hooks)** ### **两种扩展方式** Hermes 提供两套互补的扩展系统: - **Gateway Hooks**:事件驱动钩子,处理生命周期通知 - **Plugin System**:插件生命周期钩子,处理功能扩展 ### **8 个生命周期 Hook** ```plain text 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: ```plain text 做一个终端命令审计插件(Terminal Audit Hook): 在每次 terminal 工具执行完毕后,自动把命令内容、 执行结果、时间戳、会话 ID 追加到日志文件。 ``` 授权后,Hermes 会自动生成并激活这个 Hook。 ### **验证** ```plain text # 执行任意命令后,检查审计日志 tail -f ~/.hermes/audit_logs/terminal_audit.log ``` ## **第 7 步:配置 Docker 沙箱** ### **为什么需要沙箱** 默认情况下 Hermes 在本地执行命令,存在一定风险。Docker 沙箱将命令执行隔离在容器中,即使 Agent 执行了危险命令,也只会影响容器内的环境。 ### **配置步骤** ```plain text # 创建一个使用 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: ```plain text 参考如下命令,帮我额外配置一个 profile,sandbox 使用 docker,模型遵循主 profile 即可 ``` ### **验证沙箱隔离** ```plain text # 在 worker bot 中执行(不会真正损坏宿主机) rm -rf / # 在宿主机验证 Docker 已启动 docker ps ``` > **亮点六**:多 profile 配置非常友好,一句话就让 Hermes 完成配置。主 profile 保持安全,worker profile 承担高风险任务。 --- ## **第 8 步:使用多 Agent** ### **两种多 Agent 模式** - **同一 Session 内触发 Sub-Agent**:适合并行子任务 - **完全隔离的多 Profile**:适合不同安全级别的任务分工(见第 7 步) ### **触发 Sub-Agent** 只需一句话: ```plain text 请 spawn 三个 subagent 来相互讨论 Hermes 的优劣势 ``` 三个 Sub-Agent 会在同一 Session 中并行工作,各自发言,最终给出汇总。这种方式适合需要多角度分析或并行处理的复杂任务。 --- ## **第 9 步:建立备份体系** ### **三层备份策略** - **第一层**:本地 Git(快速版本控制) - **第二层**:其他磁盘定时备份(防止硬盘故障) - **第三层**:远程备份(GitHub 私有仓库 / 对象存储) ### **完整备份脚本** 将以下脚本保存为 `**~/hermes_backup.sh**`: ```plain text #!/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)" ``` ```plain text # 添加执行权限并运行 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: ```plain text # Skill Review 的三种结果: # 1. 发现可更新的现有技能 → 自动更新补充新经验 # 2. 发现值得新建的技能 → 创建新技能文件 # 3. 没有值得保存的内容 → 输出 Nothing to save. 结束 ``` 整个过程在后台线程运行,不阻塞当前对话。 ### **手动安装技能** ```plain text 帮我安装 git 操作相关的技能 帮我搜索并安装 Docker 管理技能 ``` > **亮点七**:Hermes 自动将有价值的操作沉淀为永久技能,避免重复踩坑。这是它相比其他 Agent 框架最有差异化的亮点之一。