Hermes Agent基础配置指南(二)
上一篇 Hermes Agent 快速安装教程(一) 完成后,Hermes 已经可以运行了,但要做长期使用还需要进行一些配置。本文将覆盖模型与 fallback 配置、人格系统、SOUL.md 核心人格文件,以及记忆插件(重点推荐 OpenViking)。
如果打算长期使用 Hermes,建议从一开始就配置好记忆插件,这样 Agent 能跨会话积累知识,越用越聪明。
目录结构
先看一下 Hermes 的配置目录:
~/.hermes/
├── config.yaml # 设置(模型、终端、TTS、压缩等)
├── .env # API 密钥与敏感信息
├── auth.json # OAuth 提供商凭证(Nous Portal 等)
├── SOUL.md # Agent 主人格(系统提示词 #1 插槽)
├── memories/ # 持久记忆(MEMORY.md、USER.md)
├── skills/ # Agent 自创技能(通过 skill_manage 工具管理)
├── cron/ # 定时任务
├── sessions/ # 网关会话
└── logs/ # 日志(errors.log、gateway.log — 密钥自动脱敏)
模型配置
config.yaml 的语法比 OpenClaw 的配置文件简洁,不需要面对让人头大的双引号和中括号。
手动添加第三方模型以及 fallback 模型:
model:
default: xiaomi/mimo-v2-pro
provider: Nous Portal
context_length: 270000
providers: {}
fallback_providers: []
fallback_model:
provider: CPA-GPT
model: gpt-5.4
custom_providers:
- name: CPA-GPT #自定义渠道名
base_url: 填写第三方base url
api_key: 填写第三方API KEY
model: gpt-5.4 #模型ID
models:
gpt-5.4:
context_length: 270000
建议把API Key使用${VAR_NAME}语法写到.env文件里面
config.yaml 其余的配置项基本上是一些技能的开关和技能专用模型的配置,暂时保持默认就行。
人格系统(Personality)
Hermes 自带了一套人格切换功能,可以用 /personality <名称> 命令将系统提示切换为不同风格。
personality 是修改 system_prompt,和 SOUL.md 不同。SOUL.md 是你设的核心人格,优先级更高。personality 更像是一层"语气皮肤"叠加在上面。
例如 /personality pirate 会把系统提示切换成海盗风格——AI 会用海盗口吻跟你说话,使用航海术语,每句话都像老船长在聊天。
具体 prompt 内容:
Arrr! Ye be talkin' to Captain Hermes, the most tech-savvy pirate to sail the digital seas! Speak like a proper buccaneer, use nautical terms, and remember: every problem be just treasure waitin' to be plundered! Yo ho ho!
完整可用的 personalities 列表:
| 名称 | 风格 |
|---|---|
| kawaii | 可爱风,默认值 (◕‿◕) |
| catgirl | 猫娘 Neko-chan,nya~ |
| pirate | 海盗 Captain Hermes,Arrr! |
| shakespeare | 莎士比亚戏剧腔 |
| surfer | 冲浪小子,Duuude! |
| noir | 黑色侦探小说风 |
| uwu | 卖萌口齿不清风 |
| philosopher | 哲学家深沉风 |
| technical | 技术专家,详尽准确 |
| creative | 创意无限 |
| teacher | 耐心老师 |
| none | 清除,回到默认 |
SOUL.md
SOUL.md 应该放什么?用它来提供持久的交互风格和性格指导,例如:
- 基调
- 沟通风格
- 默认交互风格
- 风格上应避免的要素
- 如何处理不确定性、分歧或模糊
减少用于:
- 一次性项目说明
- 文件路径
- 仓库约定
- 临时工作流程细节
那些应该写在 AGENTS.md 里,而不是 SOUL.md。
示例:
# Personality
You are a pragmatic senior engineer with strong taste.
You optimize for truth, clarity, and usefulness over politeness theater.
## Style
- Be direct without being cold
- Prefer substance over filler
- Push back when something is a bad idea
- Admit uncertainty plainly
- Keep explanations compact unless depth is useful
## What to avoid
- Sycophancy
- Hype language
- Repeating the user's framing if it's wrong
- Overexplaining obvious things
## Technical posture
- Prefer simple systems over clever systems
- Care about operational reality, not idealized architecture
- Treat edge cases as part of the design, not cleanup
记忆系统
Hermes 内置了 MEMORY.md + USER.md 做基础记忆(和 OpenClaw 类似),但除此之外还提供了 8 个外部记忆提供商插件,与内置内存并行运行(从不替代),增加了知识图谱、语义搜索、自动事实提取和跨会话用户建模等功能。
重要:同一时间只能启用一个外部提供商,但内置记忆始终同时工作。外部提供商是叠加而非替代。
工作原理
启用外部记忆提供商后,Hermes 会自动:
- 将提供商的上下文注入系统提示词
- 每轮对话前预取相关记忆(后台非阻塞)
- 每次回复后将对话同步给提供商
- 会话结束时提取记忆(支持的提供商)
- 将内置记忆的写入镜像到外部提供商
- 添加提供商专属工具,让 Agent 能搜索、存储和管理记忆
快速命令
hermes memory setup # 交互式选择 + 配置
hermes memory status # 查看当前启用了什么
hermes memory off # 关闭外部提供商
也可以在 config.yaml 中手动设置:
memory:
provider: openviking # 或 honcho, mem0, hindsight, holographic, retaindb, byterover, supermemory
8 个提供商一览
| 提供商 | 存储位置 | 费用 | 依赖 | 特色 |
|---|---|---|---|---|
| Honcho | 云端 | 付费 | honcho-ai | 辩证式用户建模,适合多 Agent |
| OpenViking | 自托管 | 免费 | openviking + 服务端 | 文件系统式知识层级 + 分层加载 |
| Mem0 | 云端 | 付费 | mem0ai | 服务端 LLM 自动提取 + 语义去重 |
| Hindsight | 云端/本地 | 免费/付费 | hindsight-client | 知识图谱 + 实体关系 + 反思综合 |
| Holographic | 本地 SQLite | 免费 | 无 | HRR 代数查询 + 信任评分 |
| RetainDB | 云端 | $20/月 | requests | 混合搜索 + 增量压缩 |
| ByteRover | 本地/云端 | 免费/付费 | brv CLI | 压缩前自动提取,知识树 |
| Supermemory | 云端 | 付费 | supermemory | 上下文隔离 + 会话级图谱 + 多容器 |
推荐:如果你想要完全免费、自托管、结构化管理知识,OpenViking 是最佳选择。如果追求零依赖纯本地,Holographic 最省事。
OpenViking 配置方法(推荐)
OpenViking 是字节跳动 Volcengine 开源的知识库引擎(AGPL-3.0),提供文件系统式的知识层级浏览和三级上下文加载。
核心优势:
- 分层加载:L0(~100 tokens 摘要)→ L1(~2k tokens 概览)→ L2(完整内容),按需取用,不浪费上下文
- 自动记忆分类:会话结束时自动提取为 6 类——人物画像、偏好、实体、事件、案例、模式
- 层级浏览:支持
viking://URI 方案,像浏览文件系统一样浏览知识 - 5 个工具:
viking_search(语义搜索)、viking_read(分级读取)、viking_browse(层级导航)、viking_remember(存储事实)、viking_add_resource(导入 URL/文档)
安装与配置(推荐把以下内容发给 Hermes 自己安装,很多平台都提供免费的 Embedding 模型,以下用魔力方舟平台演示。提前在 ai.gitee.com 注册,生成 API key):
# 第一步:安装 OpenViking
pip install openviking
# 第二步:启动 OpenViking 服务端
openviking-server
# 默认监听 http://localhost:1933
# 第三步:配置 Hermes 启用 OpenViking
hermes memory setup # 选择 "openviking"
# 或手动配置:
hermes config set memory.provider openviking
# 第四步:设置环境变量
echo "OPENVIKING_ENDPOINT=http://localhost:1933" >> ~/.hermes/.env
# Embedding模型配置:
- Embedding API Baseurl: https://ai.gitee.com/v1
- API KEY: 填入准备好的api key
- 模型: bge-m3
- 维度: 1024
配置完成后,hermes memory status 应显示 OpenViking 已激活。之后和 Hermes 对话时,它会自动在后台将对话内容提取并存储到 OpenViking 中,下次新会话时可以自动召回相关记忆。
总结
本文覆盖了 Hermes Agent 安装后的核心配置:模型与 fallback 设置、人格系统、SOUL.md 核心人格文件,以及记忆插件。如果你打算长期使用 Hermes,建议按以下优先级配置:
- 模型:配置好主力模型和 fallback,确保可用性
- 记忆:启用 OpenViking 等外部记忆提供商,让 Agent 跨会话积累知识
- 人格:通过 SOUL.md 定义核心人格,personality 做日常风格切换