现在位置: 首页 > AI Agent 教程 > 正文

Hermes Agent 配置

了解如何配置 Hermes Agent,包括配置文件、LLM 提供商设置、工具配置和所有可用的配置选项。


配置文件位置

Hermes Agent 使用以下配置文件:

文件 说明
~/.hermes/config.yaml 主配置文件
~/.hermes/.env 环境变量(API 密钥等)
~/.hermes/state.db SQLite 会话数据库
~/.hermes/skills/ 安装的技能目录
~/.hermes/sessions/ 会话存储目录
~/.hermes/memories/ 持久化记忆存储

基本配置

设置 API 密钥

通过 CLI 设置 API 密钥:

hermes config set OPENROUTER_API_KEY sk-or-v1-your-key-here

或直接编辑 ~/.hermes/.env 文件:

# LLM 提供商
OPENROUTER_API_KEY=sk-or-v1-your-key-here

# 可选工具
FIRECRAWL_API_KEY=fc-your-key
FAL_KEY=your-fal-key

选择模型

hermes model       # 交互式选择

或在配置文件中指定:

# ~/.hermes/config.yaml
provider:
  name: openrouter
  model: anthropic/claude-sonnet-4-20250514

终端配置

终端后端

终端工具可以在不同的环境中执行命令:

后端 说明 适用场景
local 在本地机器运行(默认) 开发、可信任务
docker 隔离容器 安全、可重现性
ssh 远程服务器 沙盒、保持 agent 远离自己的代码
singularity HPC 容器 集群计算、无 root
modal 云端执行 无服务器、弹性扩展
daytona 云沙盒工作区 持久远程开发环境

配置示例

# ~/.hermes/config.yaml
terminal:
  backend: local    # 或: docker, ssh, singularity, modal, daytona
  cwd: "."          # 工作目录
  timeout: 180      # 命令超时时间(秒)

Docker 后端

terminal:
  backend: docker
  docker_image: python:3.11-slim

SSH 后端

terminal:
  backend: ssh
# 在 ~/.hermes/.env 中设置凭据
TERMINAL_SSH_HOST=my-server.example.com
TERMINAL_SSH_USER=myuser
TERMINAL_SSH_KEY=~/.ssh/id_rsa

容器资源

terminal:
  backend: docker
  container_cpu: 1              # CPU 核心数(默认:1)
  container_memory: 5120        # 内存 MB(默认:5GB)
  container_disk: 51200         # 磁盘 MB(默认:50GB)
  container_persistent: true    # 跨会话持久化文件系统

容器安全

所有容器后端都使用安全加固运行:

  • 只读根文件系统(Docker)
  • 删除所有 Linux 能力
  • 无权限提升
  • PID 限制(256 个进程)
  • 完整命名空间隔离

工具配置

配置工具集

# 使用特定工具集
hermes chat --toolsets "web,terminal"

# 配置每个平台的工具(交互式)
hermes tools

常用工具集包括:webterminalfilebrowservisionimage_genskillsttstodomemorysession_searchcronjobcode_executiondelegationhomeassistantrl

可用工具分类

类别 示例 说明
网页 web_search, web_extract 搜索网页和提取页面内容
终端和文件 terminal, process, read_file, patch 执行命令和操作文件
浏览器 browser_navigate, browser_snapshot 交互式浏览器自动化
媒体 vision_analyze, image_generate, text_to_speech 多模态分析和生成
智能体编排 todo, clarify, execute_code, delegate_task 规划、澄清、代码执行和子智能体委托
记忆和召回 memory, session_search 持久化记忆和会话搜索
自动化和投递 cronjob, send_message 定时任务和出站消息投递

显示设置

# ~/.hermes/config.yaml
display:
  busy_input_mode: "interrupt"   # 或 "queue"
  tool_preview_length: 0         # 0 = 无限制
  bell_on_complete: false
  • busy_input_mode:agent 工作时按 Enter 的行为
  • tool_preview_length:工具预览行的最大字符数
  • bell_on_complete:任务完成时是否响铃

快速命令

定义自定义命令,无需调用 LLM 即可立即执行 shell 命令:

# ~/.hermes/config.yaml
quick_commands:
  status:
    type: exec
    command: systemctl status hermes-agent
  gpu:
    type: exec
    command: nvidia-smi --query-gpu=utilization.gpu,memory.used --format=csv,noheader
  cdh:
    type: cd
    path: ~/projects/hermes-agent

然后在任何聊天中输入 /status/gpu


人格设置

# ~/.hermes/config.yaml
personalities:
  helpful: "You are a helpful, friendly AI assistant."
  kawaii: "You are a kawaii assistant! Use cute expressions..."
  pirate: "Arrr! Ye be talkin' to Captain Hermes..."
  # 添加您自己的!

使用 /personality pirate 等命令激活。


上下文压缩

# ~/.hermes/config.yaml
compression:
  enabled: true
  threshold: 0.50    # 在上下文限制的 50% 时压缩
  summary_model: "google/gemini-3-flash-preview"

CLI 命令

命令 说明
hermes config set <key> <value> 设置配置值
hermes config get <key> 获取配置值
hermes config list 列出所有配置
hermes config check 检查配置完整性
hermes config migrate 迁移配置到新版本

提示:运行 hermes doctor 可以诊断配置问题并提供修复建议。