Skip to content

hermes 配置模型指南

Hermes 使用两种模型插槽(model slots):

主模型(Main model) —— 代理思考的核心。每一条用户消息、每一个工具调用循环、每一次流式响应都会经过该模型。

辅助模型(Auxiliary models) —— 代理分流出的较小的侧向任务。包括上下文压缩、视觉(图像分析)、网页摘要、会话搜索、审批评分、MCP 工具路由、会话标题生成以及技能搜索。每个任务都有独立的插槽,并可以分别进行覆盖。

本页面介绍了如何通过仪表板配置这两类模型。如果您更倾向于使用配置文件或 CLI,请跳转到底部的 其他方法

通过如下命令启动 UI web 服务:

Terminal window
hermes dashboard

打开仪表板并点击侧边栏中的 Models。你会看到两个部分:

  1. Model Settings — 顶部面板,用于为插槽分配模型。
  2. Usage analytics — 排行卡片,显示在选定期间内运行过会话的所有模型,包含令牌(token)计数、成本和功能徽章。

图片描述

顶部的卡片是 Model Settings 面板。主行始终显示代理为新会话启动的模型。点击 Change 以打开选择器。

点击主模型(Main model)行上的 Change

图片描述

选择器包含两列:

  • 左侧 —— 已认证的供应商。只有您已设置(设置了 API 密钥、通过 OAuth 认证或定义为自定义端点)的供应商会显示在这里。如果缺少某个供应商,请前往 Keys 页面并添加其凭据。
  • 右侧 —— 所选供应商的精选模型列表。这些是 Hermes 为该供应商推荐的代理模型,而非原始的 /models 列表(例如在 OpenRouter 上,原始列表包含 400 多个模型,包括 TTS、图像生成器和重排序器)。

在过滤框中输入内容,可按供应商名称、缩写(slug)或模型 ID 进行筛选。

选择一个模型,点击 Switch,Hermes 会将其写入 ~/.hermes/config.yamlmodel 部分。这仅适用于新会话 —— 您已打开的任何聊天标签页将继续运行其启动时的模型。若要热切换当前聊天,请在其中使用 /model 斜杠命令。

点击 Show auxiliary(显示辅助模型)以展开八个任务插槽:

图片描述

所有辅助任务默认设置为 auto —— 这意味着 Hermes 也会使用您的 主模型 来处理这些工作。如果您希望为某项副业任务使用更便宜或更快的模型,请覆盖特定任务的设置。

常见的覆盖模式(Common override patterns)

Section titled “常见的覆盖模式(Common override patterns)”
任务何时需要覆盖
Title Gen (标题生成)几乎总是。0.10 美元/百万令牌的 flash 模型写出的会话标题和 Opus 一样好。默认配置在 OpenRouter 上将其设为 google/gemini-3-flash-preview
Vision (视觉)当您的主模型是不具备视觉能力的编码模型(如 Kimi、DeepSeek)时。将其指向 google/gemini-2.5-flashgpt-4o-mini
Compression (压缩)当您在 Opus/M2.7 上仅仅为了总结上下文而浪费推理令牌时。快速聊天模型能以 1/50 的成本完成这项工作。
Session Search (会话搜索)当召回查询扇出时 —— 默认最大并发数为 3。便宜的模型可以保持账单可预测。
Approval (审批)用于 approval_mode: smart —— 由快速/便宜的模型(haiku、flash、gpt-5-mini)决定是否自动批准低风险命令。在此使用昂贵模型是一种浪费。
Web Extract (网页提取)当您大量使用 web_extract 时。逻辑同压缩 —— 摘要任务不需要强大的推理能力。
Skills Hub (技能枢纽)hermes skills search 使用此项。通常设为 auto 即可。
MCPMCP 工具路由。通常设为 auto 即可。

点击任何辅助行上的 Change。会打开相同的选择器,操作方式也一致 —— 选择供应商 + 模型,点击 Switch。该行将更新显示为 供应商 · 模型,而不是 auto (use main model)(自动使用主模型)。

全部重置为自动(Reset all to auto)

Section titled “全部重置为自动(Reset all to auto)”

如果您由于过度调优而想要重新开始,请点击辅助部分顶部的 Reset all to auto。每个插槽都将恢复为使用您的主模型。

页面上的每个模型卡片都有一个 Use as 下拉菜单。这是快捷路径 —— 从分析数据中选择一个模型,点击 Use as,即可一键将其分配给主插槽或特定的辅助任务:

图片描述

下拉菜单包含:

  • Main model — 与点击主行上的 Change 效果相同。
  • All auxiliary tasks — 一次性将此模型分配给所有 8 个辅助插槽。当您希望所有副业任务都运行在廉价的 flash 模型上时非常有用。
  • Individual task options(单个任务选项) — 视觉(Vision)、网页提取(Web Extract)、压缩(Compression)等。每个任务当前分配的模型会被标记为 current

当前已分配任务的模型卡片会打上 mainaux · <task> 的徽章 —— 因此您可以一眼看到历史模型中哪些正被接入使用。

当您通过仪表板保存时,Hermes 会写入 ~/.hermes/config.yaml

主模型:

model:
provider: openrouter
default: anthropic/claude-opus-4.7
base_url: '' # 在切换供应商时会被清空
api_mode: chat_completions

辅助模型覆盖(示例 —— 在 gemini-flash 上运行视觉):

auxiliary:
vision:
provider: openrouter
model: google/gemini-2.5-flash
base_url: ''
api_key: ''
timeout: 120
extra_body: {}
download_timeout: 30

辅助模型设为自动(默认):

auxiliary:
compression:
provider: auto
model: ''
base_url: ''
# ... 其他字段保持不变

provider: auto 配合 model: '' 告诉 Hermes 该任务使用主模型。

何时生效?

  • CLI (hermes chat):下一次执行 hermes chat 时。
  • 网关 (Telegram, Discord, Slack 等):下一次 会话。现有会话保留其原有模型。如果您想强制所有会话应用更改,请重启网关 (hermes gateway restart)。
  • 仪表板聊天标签页 (/chat):下一个新的 PTY(伪终端)。当前打开的聊天保持其模型 —— 使用内部的 /model 命令进行热切换。

更改 永远不会 使运行中会话的提示词缓存失效。这是故意的:在会话内更换主模型需要重置缓存(系统提示词包含特定于模型的内容),我们将此操作保留给聊天内显式的 /model 斜杠命令。

选择器中显示“No authenticated providers”(无已认证供应商)

Section titled “选择器中显示“No authenticated providers”(无已认证供应商)”

Hermes 仅在供应商拥有有效凭据时才会列出该供应商。请检查侧边栏中的 Keys —— 您应该能看到以下之一:API 密钥、成功的 OAuth 认证或自定义端点 URL。如果您想要的供应商不在列表中,请运行 hermes setup 进行绑定,或者前往 Keys 添加环境变量。

我的运行中聊天的主模型没有更改

Section titled “我的运行中聊天的主模型没有更改”

符合预期。仪表板修改的是 config.yaml,供新会话读取。当前打开的聊天是一个活跃的代理进程 —— 它会保留启动时分配的模型。请在聊天内使用 /model <名称> 来热切换该特定会话。

请检查以下三点:

  1. 是否启动了新会话? 现有聊天不会重新读取配置。
  2. 供应商(provider)是否设置为“auto”以外的值? 如果该字段显示为 auto,则任务仍在使用您的主模型。点击 Change 并选择一个真实的供应商。
  3. 供应商是否已认证? 如果您为某个任务分配了 minimax 但没有 MiniMax API 密钥,该任务将回退到 OpenRouter 默认设置,并在 agent.log 中记录警告。

我选择了一个模型,但 Hermes 切换了我的供应商

Section titled “我选择了一个模型,但 Hermes 切换了我的供应商”

在 OpenRouter(或任何聚合器)上,简短的模型名称会首先在聚合器 内部 进行解析。因此,OpenRouter 上的 claude-sonnet-4 会变为 anthropic/claude-sonnet-4.6,并保持使用您的 OpenRouter 认证。但如果您在原生 Anthropic 认证下输入 claude-sonnet-4,它将保持为 claude-sonnet-4-6。如果您看到意外的供应商切换,请检查您当前的供应商是否符合预期 —— 选择器始终在对话框顶部显示当前的主模型供应商。

在任何 hermes chat 会话内部:

Terminal window
/model gpt-5.4 --provider openrouter # 仅限当前会话
/model gpt-5.4 --provider openrouter --global # 同时持久化到 config.yaml

--global 的作用与仪表板的 Change 按钮相同,此外它还会原地切换正在运行的会话模型。

为您经常使用的模型定义专属短名称,然后在 CLI 或任何消息平台中使用 /model <别名>

~/.hermes/config.yaml
model_aliases:
fav:
model: claude-sonnet-4.6
provider: anthropic
grok:
model: grok-4
provider: x-ai

或者通过 Shell 设置(简写形式:供应商/模型):

Terminal window
hermes config set model.aliases.fav anthropic/claude-opus-4.6
hermes config set model.aliases.grok x-ai/grok-4

之后在聊天中输入 /model fav/model grok 即可。用户别名会覆盖内置的短名称(如 sonnet, kimi, opus 等)。完整参考请查阅 Custom model aliases

Terminal window
hermes model # 交互式供应商 + 模型选择器(切换默认设置的标准方式)

hermes model 会引导您选择供应商、进行身份验证(OAuth 流程会打开浏览器;API 密钥供应商会提示输入密钥),然后从该供应商的精选目录中选择特定模型。选择结果将写入 ~/.hermes/config.yaml 中的 model.providermodel.model

若要列出供应商/模型而不启动选择器,请使用仪表板或下方的 REST 端点。若要检查 CLI 当前实际使用的内容:hermes config get modelhermes status

编辑 ~/.hermes/config.yaml 并重启读取该文件的服务。完整架构请参阅 Configuration reference

仪表板使用三个端点,适用于脚本操作:

Terminal window
# 列出已认证的供应商 + 精选模型列表
curl -H "X-Hermes-Session-Token: $TOKEN" http://localhost:PORT/api/model/options
# 读取当前主模型 + 辅助任务分配情况
curl -H "X-Hermes-Session-Token: $TOKEN" http://localhost:PORT/api/model/auxiliary
# 设置主模型
curl -X POST -H "Content-Type: application/json" -H "X-Hermes-Session-Token: $TOKEN" \
-d '{"scope":"main","provider":"openrouter","model":"anthropic/claude-opus-4.7"}' \
http://localhost:PORT/api/model/set
# 覆盖单个辅助任务
curl -X POST -H "Content-Type: application/json" -H "X-Hermes-Session-Token: $TOKEN" \
-d '{"scope":"auxiliary","task":"vision","provider":"openrouter","model":"google/gemini-2.5-flash"}' \
http://localhost:PORT/api/model/set
# 将一个模型分配给所有辅助任务
curl -X POST -H "Content-Type: application/json" -H "X-Hermes-Session-Token: $TOKEN" \
-d '{"scope":"auxiliary","task":"","provider":"openrouter","model":"google/gemini-2.5-flash"}' \
http://localhost:PORT/api/model/set
# 将所有辅助任务重置为自动(auto)
curl -X POST -H "Content-Type: application/json" -H "X-Hermes-Session-Token: $TOKEN" \
-d '{"scope":"auxiliary","task":"__reset__","provider":"","model":""}' \
http://localhost:PORT/api/model/set

会话令牌(Session token)在启动时注入仪表板 HTML,并在每次服务器重启时更换。如果您要针对运行中的仪表板编写脚本,请从浏览器开发者工具中获取它 (window.__HERMES_SESSION_TOKEN__)。

-
0:000:00