Hermes Agent 自定义 Provider 配置踩坑
最近在折腾 Hermes Agent,想用中转站 API 接入大模型,结果模型切换一直报错。折腾半天才发现是配置思路没搞对。
两种思路的差异
OpenClaw 和 Hermes Agent 的模型配置思路不一样:
- OpenClaw:先在配置里把所有模型定义好,切换时从已配置的模型池里选
- Hermes Agent:只配置 provider,运行时问 provider "你有哪些模型",从返回的列表里选
Hermes 更倾向于动态获取模型列表,而不是静态配置。
错误配置
我一开始的配置是这样的:
model:
default: glm-5
provider: custom
base_url: http://my-ai-gateway:8080/v1
api_key: sk-yourkey
能用,但切换模型时一直提示:
Error: Note: could not reach this custom endpoint's model listing at http://my-ai-gateway:8080/v1/models. Hermes will still save glm-5, but the endpoint should expose /models for verification.
If this server expects /v1, try base URL: http://my-ai-gateway:8080
意思是 Hermes 找不到 /models 端点,无法验证模型列表。
为什么内置 Provider 没问题?
换成 Hermes 内置的 provider(如 openai、anthropic)就正常,既能载入模型列表,也能直接切换。
原因是内置 provider 的 base_url 和模型列表格式都是预设好的,Hermes 知道怎么去问。而 provider: custom 太模糊,Hermes 不知道该怎么处理。
正确配置
翻了文档又反复测试,终于搞对了:
model:
default: glm-5
provider: custom:my-ai-gateway
custom_providers:
- name: my-ai-gateway
base_url: http://my-ai-gateway:8080/v1
api_key: sk-yourkey
model: glm-5
关键点:
- 先定义
custom_providers:把自定义供应商的名称、地址、密钥都配好 model.provider不能只写custom:要写成custom:供应商名称的格式,比如custom:my-ai-gateway
因为 custom_providers 可以定义多个自定义供应商,所以 model.provider 得指定具体用哪个。
补充说明
如果你的中转站 /models 端点返回空或格式不对,Hermes 仍然会报 warning,但模型通常还是能用的。如果想彻底解决,可以关注 Hermes Agent 的相关 PR(如 pr19685、pr19686),修复了 custom provider 的认证和参数传递问题。
折腾一圈,其实就一句话:自定义供应商要先在 custom_providers 里定义好,然后 model.provider 用 custom:名称 的格式引用。

浙公网安备 33010602011771号