Hermes Agent 的核心配置文件是 ~/.hermes/config.yaml。该文件采用 YAML 格式,结构清晰,允许你全面定制智能体的行为,包括模型选择、工具启用、安全策略、消息网关等。

本指南将深入解析 config.yaml 的每一个关键部分,并提供可直接使用的配置示例。


一、配置文件位置与管理

  • Linux / macOS / WSL2: ~/.hermes/config.yaml
  • Windows (原生): %USERPROFILE%\.hermes\config.yaml (通常为 C:\Users\<你的用户名>\.hermes\config.yaml)

管理命令

Hermes 提供了便捷的 CLI 命令来管理配置:

  • hermes config edit: 在默认编辑器中打开配置文件。
  • hermes config: 查看当前生效的配置。
  • hermes doctor: 运行诊断,检查配置和依赖是否正常。

重要安全提示切勿config.yaml 中硬编码你的 API Key。应使用环境变量(如 OPENROUTER_API_KEY)并通过 api_key_env 字段引用。


二、核心配置项详解

1. 模型配置 (model)

这是最核心的部分,决定了 Hermes 使用哪个大语言模型。

示例 1:使用 OpenRouter
model:
  provider: custom
  base_url: "https://openrouter.ai/api/v1"
  api_key_env: "OPENROUTER_API_KEY" # 从环境变量读取
  model_name: "anthropic/claude-3.5-sonnet"
  max_tokens: 8192
  temperature: 0.7
示例 2:使用 Ollama (本地模型)
model:
  provider: ollama
  model_name: "llama3.1:8b"
  base_url: "http://localhost:11434"
  temperature: 0.7
示例 3:使用 OpenAI
model:
  provider: openai
  api_key_env: "OPENAI_API_KEY"
  model_name: "gpt-4o"
  max_tokens: 4096

关键字段说明:

  • provider: 模型提供商,可选 openai, anthropic, google, custom, ollama 等。
  • base_url: 对于 custom 提供商(如 OpenRouter),必须指定 API 端点。
  • api_key_env: 强烈推荐使用此字段指向一个环境变量名,而非直接写入密钥。
  • model_name: 模型的完整标识符。对于 OpenRouter,需使用其目录中的完整路径(如 anthropic/claude-3.5-sonnet)。

2. 工具配置 (tools)

Hermes 内置了多种工具,你可以按需启用或禁用。

tools:
  # 代码解释器:允许 Agent 执行 Python 代码
  code_interpreter:
    enabled: true
    timeout: 120 # 代码执行超时时间(秒)

  # 浏览器自动化:允许 Agent 控制浏览器
  browser:
    enabled: true
    # WSL2 用户需要指定 Windows 浏览器的路径
    # executable_path: "/mnt/c/Program Files/Google/Chrome/Application/chrome.exe"

  # 文件系统访问:允许 Agent 读写文件
  file_system:
    enabled: true
    allowed_directories:
      - "~" # 允许访问家目录
      - "./projects" # 允许访问当前目录下的 projects 文件夹

  # 终端后端:决定代码和命令在何处执行
  terminal:
    backend: "local" # 可选: local, docker, ssh
    # 如果 backend 是 docker,可以指定镜像
    # docker:
    #   image: "python:3.11-slim"
    #   timeout: 300

3. MCP 服务器配置 (mcp_servers)

MCP (Model Context Protocol) 是一种标准协议,用于将外部服务(如 GitHub, Notion)集成到 AI 工作流中。

mcp_servers:
  github:
    command: npx
    args: ["-y", "@modelcontextprotocol/server-github"]
    env:
      GITHUB_TOKEN: "${GITHUB_TOKEN}" # 从环境变量 GITHUB_TOKEN 读取

要启用此功能,你需要先安装对应的 MCP 服务器:

npm install -g @modelcontextprotocol/server-github

4. 消息网关配置 (gateways)

此部分用于将 Hermes 连接到 Slack、飞书、微信等外部通讯平台,使其能监听和回复群聊消息。

gateways:
  feishu:
    app_id: "cli_a1b2c3d4e5f6g7h8"
    app_secret: "${FEISHU_APP_SECRET}" # 从环境变量读取
    verification_token: "your_verification_token"
    # 默认情况下,Agent 需要被 @ 才会响应
    require_mention: true
    # 可以设置默认的群组策略
    default_group_policy: "open" # 或 "closed"

5. 记忆与用户画像 (memory)

Hermes 的“自我进化”能力依赖于其记忆系统。

memory:
  # 启用 MEMORY.md 文件,Agent 会在此记录学到的知识和技能
  memory_enabled: true
  # 启用 USER.md 文件,Agent 会在此构建你的个人画像
  user_profile_enabled: true
  # 启用对话历史搜索
  conversation_search_enabled: true

这些文件会生成在 ~/.hermes/ 目录下,你可以随时查看和编辑它们。


6. 安全与审批 (approvals, security)

为了防止意外操作,Hermes 提供了安全审批机制。

# 审批模式
approvals:
  mode: "manual" # 可选: "manual", "auto"
  timeout: 60 # 审批超时时间(秒),超时后自动拒绝

# 安全策略
security:
  # 启用 Tirith 安全策略引擎
  tirith_enabled: true
  # 自定义安全规则文件路径
  policy_file: "~/.hermes/tirith-policy.rego"

manual 模式下,每当 Agent 尝试执行高风险操作(如删除文件、发送邮件)时,它会暂停并等待你的确认。


7. 其他全局设置

# 是否开启详细日志输出
verbose: false

# 任务规划的递归深度限制
max_reflection_depth: 3

# 技能库的存储路径
skills_dir: "~/.hermes/skills"

三、最佳实践总结

  1. 安全第一:始终通过 .env 文件或系统环境变量管理所有密钥。
  2. 渐进式配置:初次使用时,建议只启用 code_interpreterfile_system,熟悉后再逐步开启 browsermcp_servers
  3. 利用记忆:定期查看 ~/.hermes/MEMORY.md,了解 Agent 学到了什么,并可以手动修正或补充。
  4. 善用审批:在生产或重要环境中,务必保持 approvals.modemanual,以防止不可逆的操作。
  5. 模型选择:对于需要强推理和代码能力的任务,推荐使用 claude-3.5-sonnetgpt-4o;对于本地运行,llama3.1:8b 是一个不错的起点。

通过精心配置 config.yaml,你可以将 Hermes Agent 从一个通用的聊天机器人,转变为一个高度专业化、安全可靠且能持续学习的个人 AI 助手。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐