Hermes Agent 模型供应商配置

perry 2026-06-08 14:28 1

不同 API 服务的对我来说,非常实用。毕竟想省tokens,我还在用很多免费的模型,就是怕不稳定.

只讲实际能用、配置里能落地的部分,避免把不存在的配置项写进去

如果有错误欢迎佬友指正 ^-^

我的Hermes 的模型配置思路

Hermes 的配置核心在 ~/.hermes/config.yaml

模型相关配置主要分几层:

主对话模型:负责正常聊天、代码、工具调用、任务执行。

辅助模型:负责压缩上下文、图片理解、网页提取等后台任务。

Fallback Providers:主模型失败时切到备用供应商。

Custom Providers:接入 OpenAI 兼容接口,比如 vLLM、Ollama、LM Studio、SGLang 或第三方中转 API。

Credential / Auth:API Key 或 OAuth 凭据。

最常见的配置结构大致是:


model:
default: gpt-5.5
provider: custom
base_url: https://example.com/v1
api_key: sk-xxx
context_length: 128000

其中:

model.default:模型名称

model.provider:供应商名称

model.base_url:自定义 OpenAI 兼容端点时使用

model.api_key:API Key

model.context_length:上下文长度


Hermes 要求模型上下文窗口不能太小。实际使用 Agent、工具调用、长会话压缩时,建议至少 64K tokens 起步。本地模型也建议把上下文开到 65536 或以上。


Hermes 支持哪些供应商我就不说了佬友自己就可以看到


切换模型的几种方式


方式一:交互式选择


hermes model

这是最推荐的方式。它会引导你选择 provider、填写凭据、选择模型。

方式二:查看和修改配置

查看配置:


hermes config

打开配置文件:


hermes config edit

也可以直接设置某个配置项,例如:


hermes config set model.provider openrouter
hermes config set model.default anthropic/claude-sonnet-4

如果是自定义接口:


hermes config set model.provider custom
hermes config set model.default your-model-name
hermes config set model.base_url https://example.com/v1

API Key 建议放在 .env 或配置里由 Hermes 管理,不要写进公开文章、截图或 Git 仓库。

方式三:会话内临时切换

在 Hermes 会话里可以用:


/model openrouter/anthropic/claude-sonnet-4

这种方式适合临时测试。长期默认模型还是建议写入 config.yaml


主模型和辅助模型


Hermes 不是所有任务都必须用同一个模型。

主模型负责核心对话和 Agent 执行;辅助模型可以负责压缩、视觉、网页提取等后台任务。这样可以避免“用旗舰模型做摘要”这种浪费。

常见配置示例:


model:
default: claude-sonnet-4
provider: anthropic

auxiliary:
compression:
provider: openrouter
model: openai/gpt-5-mini
vision:
provider: openrouter
model: openai/gpt-4o

建议:

主模型:选择工具调用稳定、上下文长、代码能力强的模型。

压缩模型:选择便宜但摘要能力不错的模型。

视觉模型:选择明确支持图片输入的模型。

如果辅助模型没有配置好,某些任务可能会回退到自动检测逻辑,或者使用主模型兜底。为了稳定,建议主动配置。


Fallback Providers:主模型备用链


当主模型遇到限流、服务错误或连接失败时,Hermes 可以尝试备用模型。

正确的配置项是 fallback_providers,不是 fallback_models

示例:


model:
default: gpt-5.5
provider: custom
base_url: https://primary.example.com/v1
api_key: sk-primary

fallback_providers:
- provider: custom
base_url: https://backup.example.com/v1
api_key: sk-backup
model: claude-sonnet-4
- provider: openrouter
model: anthropic/claude-sonnet-4

触发条件一般包括:

HTTP 429:限流

HTTP 503:服务错误

HTTP 529:过载

连接失败

需要注意:

Fallback 是按顺序尝试的,不存在 fallback_strategy: randomcheapest_first 这类配置。

也不存在 fallback_on 这种配置项;触发条件是内置的。

主模型 fallback 一旦在当前会话触发,通常会在该会话里继续使用 fallback 后的模型。

旧版可能支持单个 fallback_model,但新写法建议使用列表形式的 fallback_providers


辅助任务也可以单独配置 fallback


辅助任务不继承主模型的 fallback_providers,它们有自己的 fallback 链。

示例:


auxiliary:
compression:
provider: custom
base_url: https://primary.example.com/v1
api_key: sk-primary
model: gpt-5-mini
fallback_chain:
- provider: custom
base_url: https://backup.example.com/v1
api_key: sk-backup
model: deepseek-chat
- provider: openrouter
model: openai/gpt-5-mini

vision:
provider: openrouter
model: openai/gpt-4o
fallback_chain:
- provider: anthropic
model: claude-sonnet-4

辅助任务 fallback 的触发更偏向容量或额度问题,例如:

HTTP 402:余额或额度耗尽

明确的日/月额度耗尽

连接失败



  • 注意:普通临时 429 不一定会触发辅助 fallback,因为 Hermes 会尊重你显式指定的 provider。


自定义 OpenAI 兼容端点


我相信很多佬友跟我一样会用本地模型或第三方中转服务,这时最常见的就是 custom provider。

例如 Ollama:


model:
provider: custom
default: qwen3-coder:latest
base_url: http://127.0.0.1:11434/v1
api_key: ollama
context_length: 65536

例如 vLLM:


model:
provider: custom
default: Qwen/Qwen3-Coder
base_url: http://127.0.0.1:8000/v1
api_key: dummy
context_length: 131072

vLLM 启动时可以类似这样:


vllm serve Qwen/Qwen3-Coder --max-model-len 131072

Ollama 需要确认模型上下文已开够。不同版本设置方式不完全一样,不建议只写死一个命令,重点是确认 context 至少 64K。


多个自定义供应商


如果有多个自定义端点,建议用 custom_providers 起不同名字。(我就是这么干的,感觉特别方便,需要多少自己加)

示例:


然后在主模型或 fallback 里引用:


model:
default: gpt-5.5
provider: custom
base_url: https://api.example.com/v1
api_key: sk-tSeI...YFZLSQwfQV9Jd
fallback_providers:
- provider: custom
base_url: https://api.example2.com/v1
api_key: sk-wiu...4ycq0Pg7tQnMb
model: gpt-5.4-mini

注意custom_providersname 必须唯一。重复名字可能导致后面的配置覆盖前面的配置。


小结


Hermes 的模型配置体系,重点不是“支持多少模型”,而是它把模型、供应商、辅助任务、fallback、自定义端点拆开了。

这样做的好处是



  1. 主模型可以选最强的;

  2. 辅助任务可以选便宜的;

  3. 一个供应商挂了可以切备用;

  4. 本地模型和第三方 OpenAI 兼容服务都能接;

  5. 不同平台、不同任务可以逐步做精细化配置。


对小白用户来说,最推荐的入门路线是



  • 先用 hermes model 跑通一个主模型;

  • 再配置 fallback_providers

  • 然后配置 auxiliary

  • 最后再折腾本地 vLLM / Ollama / LM Studio。

  • 这样最稳,也最不容易把配置写乱。

    我以前就是这么做的,后来慢慢的学,特别在Linux 学到很多以前看不到的技术

    最后如有错误的地方,欢迎佬友们指正 ^-^


这位佬友@ **Gnn**分享了一个:

一种更高效的蹬公益站的方式

感谢佬友分享 ^-^

最新回复 (8)
  • 喵帕丝 06-08 14:45
    1

    特别需要这种详细讲解的内容,另外就是我不能理解Hermes Desktop为什么还是在背地里用terminal安装各种依赖库,它本来可以包装成一个真正的桌面级应用的。这样就导致了它实际上还是一个TUI,只不过通过GUI的方式发送各个TUI指令去完成,这种效率极低,非常卡。

  • perry 楼主 06-08 14:53
    2

    可以安装hermesm webUI界面试试

  • perry 楼主 06-08 14:54
    3

    我其实就是为了爽蹬公益站API,到处学,但是教程好少,要么我这些小白看不懂,要么就是基本单模型配置教程

  • 喵帕丝 06-08 14:55
    4

    Hermes这种安装方式好几次都更新失败了,害得我用Claude Code把所有文件清理了之后重新安装。而且它Desktop APP有时候要编译很久很久,搞的我都不想用了,太难搞了。


  • perry 楼主 06-08 14:58
    5



    佬友你这尾巴咋搞的?教教我行不

  • ecoeco 06-08 14:59
    6

    Hermes Agent 中文社区桌面版 v0.3.2 已发布

    链接:Hermes Agent 中文社区桌面版 — 装上就能用的 AI Agent 桌面端 已经出桌面版了 可以试试 可以迁移原来的hermes 还挺好用的

  • 喵帕丝 06-08 15:08
    7

    喜欢小尾巴的佬友看过来!想拥有和会长同款圣诞季小尾巴的佬友看过来! - 搞七捻三 - LINUX DO


    看看会长的帖子,应该要私信会长要个授权码的。

  • Yong 06-08 15:26
    8

    你这没有规定 chat 还是response 是不是都可以? 让HERMES 自动识别?

* 帖子来源Linux.do
返回