⚙️ Hermes Agent 配置指南
一、配置文件位置与目录结构
所有配置都存储在:
~/.hermes/
目录结构如下:
~/.hermes/
├── config.yaml # 主配置(模型、终端、语音、压缩等)
├── .env # API Key 等敏感信息
├── auth.json # OAuth 登录凭证
├── SOUL.md # Agent人格定义(系统提示核心)
├── memories/ # 持久记忆(MEMORY.md, USER.md)
├── skills/ # 技能系统
├── cron/ # 定时任务
├── sessions/ # 会话数据
└── logs/ # 日志(自动脱敏)
二、配置管理命令
bash
hermes config # 查看配置
hermes config edit # 编辑 config.yaml
hermes config set KEY VAL # 设置配置项
hermes config check # 检查配置完整性
三、运行后端(Backend)
Hermes 支持多种执行环境:
| 后端 | 运行位置 | 隔离性 | 适用场景 |
|---|---|---|---|
| local | 本机 | 无 | 开发/个人 |
| docker | 容器 | 强隔离 | 安全沙箱 |
| ssh | 远程服务器 | 网络隔离 | 远程计算 |
| modal | 云沙箱 | 强隔离 | 云计算 |
| daytona | 云开发环境 | 强隔离 | 团队协作 |
| singularity | HPC容器 | 强隔离 | 集群 |
本地模式(默认)
yaml
terminal:
backend: local
⚠️ 注意:
本地模式下 Agent 拥有与你相同的文件权限。 (Hermes Agent)
四、工具调用控制(Tool Use Enforcement)
yaml
agent:
tool_use_enforcement: "auto"
模式说明:
| 值 | 含义 |
|---|---|
| auto | GPT类模型启用 |
| true | 所有模型启用 |
| false | 全部关闭 |
| ["gpt","qwen"] | 指定模型启用 |
👉 作用:
强制模型实际调用工具 ,而不是只描述操作。 (Hermes Agent)
五、语音(TTS)配置
yaml
tts:
provider: "edge"
支持:
- edge(默认)
- elevenlabs
- openai
- neutts
示例:
yaml
edge:
voice: "en-US-AriaNeural"
六、会话隔离(群聊)
yaml
group_sessions_per_user: true
- true(推荐):每个用户独立上下文
- false:整个群共享上下文
👉 影响:
- token 消耗
- 上下文污染
- 中断行为 (Hermes Agent)
七、澄清机制(Clarify)
yaml
clarify:
timeout: 120
👉 等待用户补充信息的时间(秒)
八、技能配置(Skills)
技能可以定义自己的配置:
yaml
skills:
config:
myplugin:
path: ~/data
设置方式:
bash
hermes config set skills.config.myplugin.path ~/data
特点:
- 自动扫描未配置项
- 自动注入技能上下文 (Hermes Agent)
九、记忆系统(Memory)
yaml
memory:
memory_enabled: true
👉 控制是否启用长期记忆
十、Git 工作区隔离(Worktree)
yaml
worktree: true
作用:
- 每个 Agent 独立分支
- 并行开发不冲突
- 自动清理干净分支
十一、上下文压缩(Context Compression)
👉 自动压缩长对话,避免超 token:
- 保留开头 + 最新内容
- 中间部分摘要化
👉 可配置独立模型处理压缩任务 (Hermes Agent)
十二、凭证池(多API Key)
yaml
credential_pool_strategies:
openrouter: round_robin
策略:
| 策略 | 说明 |
|---|---|
| fill_first | 用完一个再换 |
| round_robin | 轮询 |
| least_used | 用最少的 |
| random | 随机 |
十三、辅助模型(Auxiliary Models)
用于:
- 图片分析
- 网页总结
- 压缩上下文
统一配置结构:
yaml
provider: "auto"
model: ""
base_url: ""
api_key: ""
timeout: 30
👉 默认自动使用轻量模型(如 Gemini Flash) (Hermes Agent)
十四、安全审批(Approvals)
yaml
approvals:
mode: manual
模式:
| 模式 | 行为 |
|---|---|
| manual | 每次询问 |
| smart | AI判断风险 |
| off | 完全关闭 |
⚠️ off = 无任何安全保护 (Hermes Agent)
十五、文件检查点(Checkpoints)
yaml
checkpoints:
enabled: true
max_snapshots: 50
👉 自动保存文件快照,支持回滚
十六、子代理(Delegation)
yaml
delegation:
model: ...
👉 控制子 Agent 使用的模型
十七、上下文文件系统(非常重要)
Hermes 使用多层上下文:
| 文件 | 作用 |
|---|---|
| SOUL.md | 定义人格(最高优先级) |
| .hermes.md | 项目规则 |
| AGENTS.md | 编码规范 |
| CLAUDE.md | Claude兼容 |
| .cursorrules | Cursor规则 |
规则:
- 只加载一个项目规则文件(优先级匹配)
- SOUL.md 始终加载
- 最大 20,000 字符 (Hermes Agent)
十八、工作目录(Working Directory)
默认:
| 场景 | 路径 |
|---|---|
| CLI | 当前目录 |
| 消息网关 | ~ |
| Docker/SSH | 容器内目录 |
可配置:
bash
MESSAGING_CWD=/path
TERMINAL_CWD=/workspace
✅ 总结一句话
👉 Hermes 配置系统本质是:
"一个模块化 + 可编排的 AI Agent 操作系统配置层"
它允许你控制:
- 模型
- 工具
- 安全
- 记忆
- 多Agent协作
- 云/本地执行