Hermes 使用两种模型插槽(model slots):
主模型(Main model) —— 代理思考的核心。每一条用户消息、每一个工具调用循环、每一次流式响应都会经过该模型。
辅助模型(Auxiliary models) —— 代理分流出的较小的侧向任务。包括上下文压缩、视觉(图像分析)、网页摘要、会话搜索、审批评分、MCP 工具路由、会话标题生成以及技能搜索。每个任务都有独立的插槽,并可以分别进行覆盖。
本页面介绍了如何通过仪表板配置这两类模型。如果您更倾向于使用配置文件或 CLI,请跳转到底部的 其他方法。
The Models page
Section titled “The Models page”通过如下命令启动 UI web 服务:
hermes dashboard打开仪表板并点击侧边栏中的 Models。你会看到两个部分:
- Model Settings — 顶部面板,用于为插槽分配模型。
- Usage analytics — 排行卡片,显示在选定期间内运行过会话的所有模型,包含令牌(token)计数、成本和功能徽章。

顶部的卡片是 Model Settings 面板。主行始终显示代理为新会话启动的模型。点击 Change 以打开选择器。
Setting the main model
Section titled “Setting the main model”点击主模型(Main model)行上的 Change:

选择器包含两列:
- 左侧 —— 已认证的供应商。只有您已设置(设置了 API 密钥、通过 OAuth 认证或定义为自定义端点)的供应商会显示在这里。如果缺少某个供应商,请前往 Keys 页面并添加其凭据。
- 右侧 —— 所选供应商的精选模型列表。这些是 Hermes 为该供应商推荐的代理模型,而非原始的
/models列表(例如在 OpenRouter 上,原始列表包含 400 多个模型,包括 TTS、图像生成器和重排序器)。
在过滤框中输入内容,可按供应商名称、缩写(slug)或模型 ID 进行筛选。
选择一个模型,点击 Switch,Hermes 会将其写入 ~/.hermes/config.yaml 的 model 部分。这仅适用于新会话 —— 您已打开的任何聊天标签页将继续运行其启动时的模型。若要热切换当前聊天,请在其中使用 /model 斜杠命令。
Setting auxiliary models
Section titled “Setting auxiliary models”点击 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-flash 或 gpt-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 即可。 |
| MCP | MCP 工具路由。通常设为 auto 即可。 |
逐项任务覆盖(Per-task override)
Section titled “逐项任务覆盖(Per-task override)”点击任何辅助行上的 Change。会打开相同的选择器,操作方式也一致 —— 选择供应商 + 模型,点击 Switch。该行将更新显示为 供应商 · 模型,而不是 auto (use main model)(自动使用主模型)。
全部重置为自动(Reset all to auto)
Section titled “全部重置为自动(Reset all to auto)”如果您由于过度调优而想要重新开始,请点击辅助部分顶部的 Reset all to auto。每个插槽都将恢复为使用您的主模型。
“Use as” 快捷方式
Section titled ““Use as” 快捷方式”页面上的每个模型卡片都有一个 Use as 下拉菜单。这是快捷路径 —— 从分析数据中选择一个模型,点击 Use as,即可一键将其分配给主插槽或特定的辅助任务:

下拉菜单包含:
- Main model — 与点击主行上的 Change 效果相同。
- All auxiliary tasks — 一次性将此模型分配给所有 8 个辅助插槽。当您希望所有副业任务都运行在廉价的 flash 模型上时非常有用。
- Individual task options(单个任务选项) — 视觉(Vision)、网页提取(Web Extract)、压缩(Compression)等。每个任务当前分配的模型会被标记为 current。
当前已分配任务的模型卡片会打上 main 或 aux · <task> 的徽章 —— 因此您可以一眼看到历史模型中哪些正被接入使用。
写入 config.yaml 的内容
Section titled “写入 config.yaml 的内容”当您通过仪表板保存时,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 斜杠命令。
Troubleshooting
Section titled “Troubleshooting”选择器中显示“No authenticated providers”(无已认证供应商)
Section titled “选择器中显示“No authenticated providers”(无已认证供应商)”Hermes 仅在供应商拥有有效凭据时才会列出该供应商。请检查侧边栏中的 Keys —— 您应该能看到以下之一:API 密钥、成功的 OAuth 认证或自定义端点 URL。如果您想要的供应商不在列表中,请运行 hermes setup 进行绑定,或者前往 Keys 添加环境变量。
我的运行中聊天的主模型没有更改
Section titled “我的运行中聊天的主模型没有更改”符合预期。仪表板修改的是 config.yaml,供新会话读取。当前打开的聊天是一个活跃的代理进程 —— 它会保留启动时分配的模型。请在聊天内使用 /model <名称> 来热切换该特定会话。
辅助模型覆盖“未生效”
Section titled “辅助模型覆盖“未生效””请检查以下三点:
- 是否启动了新会话? 现有聊天不会重新读取配置。
- 供应商(provider)是否设置为“auto”以外的值? 如果该字段显示为
auto,则任务仍在使用您的主模型。点击 Change 并选择一个真实的供应商。 - 供应商是否已认证? 如果您为某个任务分配了
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。如果您看到意外的供应商切换,请检查您当前的供应商是否符合预期 —— 选择器始终在对话框顶部显示当前的主模型供应商。
其他方法(Alternative methods)
Section titled “其他方法(Alternative methods)”CLI 斜杠命令
Section titled “CLI 斜杠命令”在任何 hermes chat 会话内部:
/model gpt-5.4 --provider openrouter # 仅限当前会话/model gpt-5.4 --provider openrouter --global # 同时持久化到 config.yaml--global 的作用与仪表板的 Change 按钮相同,此外它还会原地切换正在运行的会话模型。
自定义别名(Custom aliases)
Section titled “自定义别名(Custom aliases)”为您经常使用的模型定义专属短名称,然后在 CLI 或任何消息平台中使用 /model <别名>:
model_aliases: fav: model: claude-sonnet-4.6 provider: anthropic grok: model: grok-4 provider: x-ai或者通过 Shell 设置(简写形式:供应商/模型):
hermes config set model.aliases.fav anthropic/claude-opus-4.6hermes config set model.aliases.grok x-ai/grok-4之后在聊天中输入 /model fav 或 /model grok 即可。用户别名会覆盖内置的短名称(如 sonnet, kimi, opus 等)。完整参考请查阅 Custom model aliases。
hermes model 子命令
Section titled “hermes model 子命令”hermes model # 交互式供应商 + 模型选择器(切换默认设置的标准方式)hermes model 会引导您选择供应商、进行身份验证(OAuth 流程会打开浏览器;API 密钥供应商会提示输入密钥),然后从该供应商的精选目录中选择特定模型。选择结果将写入 ~/.hermes/config.yaml 中的 model.provider 和 model.model。
若要列出供应商/模型而不启动选择器,请使用仪表板或下方的 REST 端点。若要检查 CLI 当前实际使用的内容:hermes config get model 和 hermes status。
直接编辑配置
Section titled “直接编辑配置”编辑 ~/.hermes/config.yaml 并重启读取该文件的服务。完整架构请参阅 Configuration reference。
REST API
Section titled “REST API”仪表板使用三个端点,适用于脚本操作:
# 列出已认证的供应商 + 精选模型列表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__)。