使用 Hermes Agent 集成 GenStudio API
警告
本文基于 Hermes Agent 0.14.0 / v2026.5.16 (a91a57fa5) 编写。Hermes 的配置字段和模型处理方式可能随版本变化而调整;如果您使用其他版本,请先确认命令和字段名称仍然可用。
本文介绍如何把 GenStudio API 接入 Hermes Agent,并添加以下模型:
kimi-k2.6glm-5.1minimax-m2.7deepseek-v4-pro或deepseek-v4-flash
本文默认复用 Hermes 已支持的模型适配:kimi-coding、zai、minimax-cn 和 deepseek。您只需要把密钥和访问地址换成 GenStudio API,再选择默认模型;Kimi、GLM、MiniMax 和 DeepSeek 各自需要的请求细节交给 Hermes 处理。
如果您只需要添加其中一个模型,可以直接跳到对应小节。
准备 API Key、Base URL 和 Hermes CLI
开始前,请确认您已经准备好以下信息:
- GenStudio API Key。
- GenStudio OpenAI-compatible Base URL,不要带具体接口路径。
- Hermes CLI,也就是
hermes命令。 - 要添加的模型 ID。
获取 API Key
如果您使用 GenStudio 通用 LLM API,请创建以 sk- 开头的 API Key。详见 GenStudio API 快速集成。
选择 Base URL
本文统一使用 OpenAI-compatible Base URL:
https://cloud.infini-ai.com/maas/v1警告
只填写上面的 Base URL,不要追加 /chat/completions。Hermes 会根据 provider 和 api_mode 拼接实际接口路径。
GenStudio 也提供 Anthropic-compatible Base URL,但本文统一使用 OpenAI-compatible Base URL。这样四类模型都可以按同一套配置方式接入,MiniMax 也能使用更直接的 Bearer Token 鉴权。
检查 Hermes CLI
hermes --version
hermes config path
hermes doctor如果系统提示找不到 hermes 命令,请先安装或修复 Hermes Agent,再继续配置。
后文的 API Key 和 Base URL 都写入 ~/.hermes/.env。如果这个文件不存在,可以直接创建。默认模型仍然使用 hermes config set 设置。
警告
请把 KIMI_BASE_URL、GLM_BASE_URL、MINIMAX_CN_BASE_URL 和 DEEPSEEK_BASE_URL 写入 ~/.hermes/.env,不要用 hermes config set KIMI_BASE_URL ... 这类命令设置。Hermes 的这些模型适配会从环境变量读取 Base URL;如果 Base URL 被写到 config.yaml 的普通字段里,模型请求可能不会使用 GenStudio API 地址。
选择模型配置方案
先按下表选择要添加的模型,然后复制对应小节的命令。
| 要添加的模型 | Hermes provider | 使用的 API 协议 | 为什么这样配 |
|---|---|---|---|
kimi-k2.6 | kimi-coding | OpenAI Chat Completions-compatible | 保留 Kimi thinking 请求设置,减少手写参数。 |
glm-5.1 | zai | OpenAI Chat Completions-compatible | 复用 GLM/Z.AI 适配,避免手写 GLM 请求字段。 |
minimax-m2.7 | minimax-cn | OpenAI Chat Completions-compatible | 使用更直接的 Bearer Token 鉴权,配置更稳定。 |
deepseek-v4-pro / deepseek-v4-flash | deepseek | OpenAI Chat Completions-compatible | 使用 DeepSeek V4 thinking 设置。 |
这套方案的目标是:您只配置 API Key、Base URL 和默认模型,把每个模型家族容易写错的请求细节交给 Hermes 已有适配处理。
如果您的业务需要在长多轮工具调用中持续保留模型的 reasoning 上下文,也就是常说的 preserved thinking,请先阅读 什么时候需要更完整的 preserved thinking 支持?。
添加 kimi-k2.6
在 ~/.hermes/.env 中添加或更新 Kimi 需要读取的变量:
KIMI_API_KEY=sk-xxx
KIMI_BASE_URL=https://cloud.infini-ai.com/maas/v1设置默认模型:
hermes config set model.provider kimi-coding
hermes config set model.default kimi-k2.6
hermes config set model.api_mode chat_completions这个配置的关键点:
model.provider保持kimi-coding,这样 Hermes 会按 Kimi 模型的方式发起请求。KIMI_BASE_URL填 Base URL,不要追加/chat/completions。- Hermes 的 Kimi 适配会加入 Kimi thinking 相关请求参数,例如
extra_body.thinking和reasoning_effort。
添加 glm-5.1
在 ~/.hermes/.env 中添加或更新 GLM 需要读取的变量:
GLM_API_KEY=sk-xxx
GLM_BASE_URL=https://cloud.infini-ai.com/maas/v1设置默认模型:
hermes config set model.provider zai
hermes config set model.default glm-5.1
hermes config set model.api_mode chat_completions这个配置的关键点:
model.provider保持zai,让 Hermes 使用 GLM/Z.AI 的模型适配。GLM_BASE_URL直接指向 GenStudio API。- 本节配置适合普通对话和普通工具调用。本文不建议额外添加
tool_stream、thinking.clear_thinking或类似字段;这些字段写进普通配置文件后,不一定会进入实际请求。
添加 minimax-m2.7
在 ~/.hermes/.env 中添加或更新 MiniMax 需要读取的变量:
MINIMAX_CN_API_KEY=sk-xxx
MINIMAX_CN_BASE_URL=https://cloud.infini-ai.com/maas/v1设置默认模型:
hermes config set model.provider minimax-cn
hermes config set model.default minimax-m2.7
hermes config set model.api_mode chat_completions这个配置的关键点:
model.provider保持minimax-cn,让 Hermes 按 MiniMax 模型的方式处理请求。- 本文使用 GenStudio OpenAI-compatible Base URL。这样 Hermes 会通过 OpenAI-compatible 路径发送
Authorization: Bearer <API Key>,配置更直接。 - 如果模型返回内嵌在正文里的
<think>...</think>,Hermes 会尽量把它和最终回答分开,避免直接把 thinking 当普通正文展示。
添加 deepseek-v4-pro 或 deepseek-v4-flash
在 ~/.hermes/.env 中添加或更新 DeepSeek 需要读取的变量:
DEEPSEEK_API_KEY=sk-xxx
DEEPSEEK_BASE_URL=https://cloud.infini-ai.com/maas/v1设置默认模型:
hermes config set model.provider deepseek
hermes config set model.default deepseek-v4-pro
hermes config set model.api_mode chat_completions如果要默认使用 Flash:
hermes config set model.provider deepseek
hermes config set model.default deepseek-v4-flash
hermes config set model.api_mode chat_completions这个配置的关键点:
model.provider保持deepseek,让 Hermes 按 DeepSeek 模型的方式发起请求。- Hermes 的 DeepSeek 适配会识别
deepseek-v4-pro和deepseek-v4-flash,并为 V4 thinking 模型发送extra_body.thinking。 - Hermes 会保存 OpenAI-compatible 响应里的
reasoning_content,有助于后续对话继续利用模型返回的推理内容。
更换默认模型
如果已经写好了对应模型家族的 API Key 和 Base URL,只需要切换 model.provider、model.default 和 model.api_mode:
hermes config set model.provider kimi-coding
hermes config set model.default kimi-k2.6
hermes config set model.api_mode chat_completions可用组合如下:
Kimi K2.6: provider=kimi-coding, model=kimi-k2.6
GLM 5.1: provider=zai, model=glm-5.1
MiniMax M2.7: provider=minimax-cn, model=minimax-m2.7
DeepSeek V4 Pro: provider=deepseek, model=deepseek-v4-pro
DeepSeek V4 Flash: provider=deepseek, model=deepseek-v4-flash如果 Hermes Gateway 已经在运行,请在配置变更后重启 Gateway 或重启承载 Hermes 的服务进程,让新配置重新加载。
验证配置
先检查 Hermes 能读取配置和密钥:
hermes config path
hermes config show
hermes doctor再启动 Hermes CLI,发送一个短消息:
hermes可以发送:
请仅回复:收到。如果您使用 Gateway,也可以在对应消息渠道里发送同样的短消息。若刚修改过默认模型,请先重启 Gateway。
排查常见问题
为什么同一个 API Key 要写入多个变量名?
因为本文复用 Hermes 已有的模型适配。每个模型适配都会从 ~/.hermes/.env 读取自己认识的变量名:
Kimi: KIMI_API_KEY
GLM: GLM_API_KEY
MiniMax: MINIMAX_CN_API_KEY
DeepSeek: DEEPSEEK_API_KEY这些变量名不是四把不同的钥匙。您可以把同一个 GenStudio API Key 写入这些变量名,让不同 provider 都能读取到密钥。
Base URL 应该填到哪里?
把 Base URL 写在 ~/.hermes/.env 中,对应变量如下:
Kimi: KIMI_BASE_URL
GLM: GLM_BASE_URL
MiniMax: MINIMAX_CN_BASE_URL
DeepSeek: DEEPSEEK_BASE_URL值统一填写:
https://cloud.infini-ai.com/maas/v1不要追加 /chat/completions。
不要用 hermes config set KIMI_BASE_URL ...、hermes config set GLM_BASE_URL ... 这类命令设置 Base URL。这样可能把值写到 config.yaml 的普通字段里,而不是写成 Hermes 模型适配会读取的环境变量。
为什么 MiniMax 不使用 Anthropic-compatible Base URL?
MiniMax 通过 Anthropic-compatible 协议也可以工作,但在 Hermes 0.14.0 中,MiniMax 的 Anthropic-compatible 鉴权路径更贴近官方 MiniMax endpoint。仅把 MINIMAX_CN_BASE_URL 改成 GenStudio Anthropic-compatible Base URL,配置结果不如 OpenAI-compatible 路径直接。
所以本文对 minimax-m2.7 使用 minimax-cn 加 GenStudio OpenAI-compatible Base URL。这样配置步骤更少,也更容易排查鉴权问题。
为什么不新建 providers: YAML?
不建议新建 providers: YAML,是因为这样会绕开 Hermes 已经准备好的模型适配。模型也许能连上,但 thinking、工具调用或特殊请求参数可能不完整。
本文优先设置已有模型适配读取的 API Key 和 Base URL 变量。只有当前模型服务的协议、鉴权或 reasoning 行为和 Hermes 已有适配不匹配时,才建议补充专门的 Hermes provider 插件。
可以在配置文件里补充 thinking、tool_stream 或 extra_body 吗?
不建议把它们当作通用配置项使用。Hermes 0.14.0 的普通配置主要读取 provider、Base URL、API Key、默认模型和 api_mode 等字段;thinking、tool_stream、extra_body、compat 这类字段即使写进 YAML,也不一定会进入发送给模型的实际请求。
如果模型需要这些特殊参数,优先使用本文指定的模型适配,让 Hermes 按对应模型家族的方式发送请求。只有当现有适配不能满足业务要求时,再考虑补充专门的 Hermes provider 插件。
什么时候需要更完整的 preserved thinking 支持?
有些 reasoning 模型会把“思考过程”和“最终回答”分开返回,例如返回 reasoning_content、reasoning_details 或 thinking block。这里的 preserved thinking 指的是:在多轮对话和工具调用继续推进时,保留这些推理内容,让模型有机会接上上一轮的推理上下文,而不是只看到最终回答。
如果您的任务只是普通对话、文本生成或轻量工具调用,通常按前面的配置即可。本文已经尽量复用 Hermes 已有模型适配:
- Kimi 使用
kimi-coding,Hermes 会发送 Kimi thinking 请求字段。 - DeepSeek 使用
deepseek,Hermes 会为 V4 模型发送extra_body.thinking。 - MiniMax 使用
minimax-cn,但为了 GenStudio Bearer 鉴权稳定,本文走 OpenAI-compatible 路径,不把 GenStudio Anthropic-compatible 路径作为默认方案。 - GLM 使用
zai,但 Hermes 0.14.0 的 Z.AI/GLM 适配还没有把 GLM 5.1 的 preserved thinking 所需字段暴露为简单配置。
如果业务必须依赖完整的 preserved thinking,尤其是长多轮工具调用,请把本文配置当作基础接入方案。更稳妥的长期方案是补充一个面向 GenStudio 或具体模型家族的 Hermes provider 插件,在插件里明确处理 API 协议、thinking 请求参数和 reasoning 回放逻辑。
如何控制是否显示 reasoning?
如果您希望默认隐藏 reasoning:
hermes config set display.show_reasoning false如果您希望在私有会话里查看 reasoning:
hermes config set display.show_reasoning true在 Hermes CLI 或 Gateway 会话中,也可以使用 /reasoning show 或 /reasoning hide 切换显示状态。
如何调整 reasoning effort?
Hermes 使用 agent.reasoning_effort 控制 reasoning effort。常见值包括 none、low、medium、high、xhigh。
例如:
hermes config set agent.reasoning_effort medium需要注意:这个值不是所有模型都会完全按同一种方式执行;实际效果取决于当前模型适配。
附录:不使用 CLI 时的完整配置片段
如果您想一次性查看完整配置,可以参考下面的片段。先查看 Hermes 配置文件位置:
hermes config path在 ~/.hermes/.env 中加入以下内容:
KIMI_API_KEY=sk-xxx
KIMI_BASE_URL=https://cloud.infini-ai.com/maas/v1
GLM_API_KEY=sk-xxx
GLM_BASE_URL=https://cloud.infini-ai.com/maas/v1
MINIMAX_CN_API_KEY=sk-xxx
MINIMAX_CN_BASE_URL=https://cloud.infini-ai.com/maas/v1
DEEPSEEK_API_KEY=sk-xxx
DEEPSEEK_BASE_URL=https://cloud.infini-ai.com/maas/v1在 ~/.hermes/config.yaml 中设置当前默认模型。例如默认使用 Kimi:
model:
provider: kimi-coding
default: kimi-k2.6
api_mode: chat_completions
agent:
reasoning_effort: medium
display:
show_reasoning: false切换到其他模型时,只需要改 model.provider 和 model.default:
model:
provider: deepseek
default: deepseek-v4-pro
api_mode: chat_completions保存配置后,运行:
hermes doctor
hermes config show如果 Gateway 已经在运行,请重启 Gateway 或承载 Hermes 的服务进程,让新配置生效。