DEV Community

Henry Lin
Henry Lin

Posted on

Hermes Agent 04. 配置体系与模型管理

04. 配置体系与模型管理

Hermes 的强大很大程度上来自“入口统一,但后端可替换”。要把这一点用好,就必须掌握配置体系。

本章目标

  • 理解 config.yaml.env 的角色分工
  • 学会选择 provider 和模型
  • 理解 profile 的隔离价值
  • 学会管理常见配置项

适用读者

  • 已经完成首次运行的用户
  • 想在不同场景下切换模型或部署多实例的用户
  • 需要排查配置问题的开发者

前置条件

  • 已完成安装并能进入 CLI

核心概念

config.yaml.env 的分工

你可以简单记成:

  • config.yaml:结构化配置,控制行为和默认值
  • .env:密钥、令牌、URL、环境变量

常见位置:

  • ~/.hermes/config.yaml
  • ~/.hermes/.env

模型选择不是单一命令,而是一整套解析流程

Hermes 会综合这些信息来决定最终的模型与 provider:

  • 当前会话显式指定
  • hermes model 保存的默认值
  • config.yaml
  • .env 中的 provider 相关变量

这也是为什么“明明我填了 API key,但还是走了别的 provider”这类问题会出现。

Profile 是隔离实例,不是主题标签

Profile 的作用是把配置、会话、技能、记忆、gateway 状态等全部隔离开。它适合:

  • 工作 / 私人分离
  • 不同 bot 实例分离
  • 测试环境 / 生产环境分离

操作步骤

查看和设置当前模型

最直接的方式:

hermes model
Enter fullscreen mode Exit fullscreen mode

会话中也可以:

/model
/model claude-sonnet-4
/model openrouter:anthropic/claude-sonnet-4
/model custom:qwen-2.5
Enter fullscreen mode Exit fullscreen mode

管理环境变量

最基础的是 provider 凭据,例如:

OPENROUTER_API_KEY=...
OPENAI_API_KEY=...
OPENAI_BASE_URL=...
ANTHROPIC_API_KEY=...
GLM_API_KEY=...
Enter fullscreen mode Exit fullscreen mode

除模型相关之外,还有 web、browser、Gateway、MCP、memory provider 等能力依赖的变量。

管理 config.yaml

常用方式:

hermes config
hermes config get skills.config
hermes config set some.key value
Enter fullscreen mode Exit fullscreen mode

你不需要一开始手改所有配置。很多场景下,用 hermes setuphermes modelhermes toolshermes skills 这类命令比直接编辑 YAML 更稳。

使用 profile

先看当前有哪些 profile:

hermes profile list
Enter fullscreen mode Exit fullscreen mode

创建和切换:

hermes profile create work --clone
hermes profile use work
hermes profile show work
Enter fullscreen mode Exit fullscreen mode

如果想回到默认实例:

hermes profile use default
Enter fullscreen mode Exit fullscreen mode

为不同场景建立不同默认值

一个很实用的模式是:

  • default:个人本地使用
  • work:工作环境,配置公司 MCP、企业平台和相关技能
  • bot:部署在服务器上的长期运行实例

这样能减少“在一个配置里堆所有用途”的混乱。

常见场景

场景 1:接多个 provider,按任务切换

你可以默认使用一个通用 provider,然后在特定会话用 /model 临时切换。Hermes 适合这种“一个工作流,多种模型”的使用方式。

场景 2:连接自建 OpenAI-compatible endpoint

常见做法是配置:

OPENAI_API_KEY=...
OPENAI_BASE_URL=http://your-endpoint/v1
Enter fullscreen mode Exit fullscreen mode

然后在会话中选择:

/model custom:your-model-name
Enter fullscreen mode Exit fullscreen mode

场景 3:把工作和私人使用完全隔离

最推荐用 profile,而不是频繁替换同一个 config.yaml

常见问题与排错

为什么切换模型后表现变化很大

除了模型本身变化,还可能是:

  • provider 不同
  • base URL 不同
  • 上下文缓存被打断
  • 会话中的工具使用策略发生变化

为什么我改了配置却没有马上感知

有些改动影响新会话,有些改动影响当前会话,有些需要重新加载相关系统。比如 MCP 配置常常需要 /reload-mcp

什么时候要小心 prompt cache

如果你频繁改系统提示、模型、上下文文件或技能加载方式,缓存命中会变差,成本和延迟都可能上升。不要把中途乱改配置当成常规工作流。

本章总结

Hermes 的配置核心可以归纳为四件事:provider、model、tooling、profile。理解它们之后,你就能把 Hermes 从“能用”推进到“适合自己的使用方式”。

下一步建议

继续看 工具与工具集,理解 Hermes 的实际执行能力边界。

Top comments (0)