Skip to content

使用 Hermes Agent 集成 GenStudio API

警告

本文基于 Hermes Agent 0.14.0 / v2026.5.16 (a91a57fa5) 编写。Hermes 的配置字段和模型处理方式可能随版本变化而调整;如果您使用其他版本,请先确认命令和字段名称仍然可用。

本文介绍如何把 GenStudio API 接入 Hermes Agent,并添加以下模型:

  • kimi-k2.6
  • glm-5.1
  • minimax-m2.7
  • deepseek-v4-prodeepseek-v4-flash

本文默认复用 Hermes 已支持的模型适配:kimi-codingzaiminimax-cndeepseek。您只需要把密钥和访问地址换成 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

language-text
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

language-shell
hermes --version
hermes config path
hermes doctor

如果系统提示找不到 hermes 命令,请先安装或修复 Hermes Agent,再继续配置。

后文的 API Key 和 Base URL 都写入 ~/.hermes/.env。如果这个文件不存在,可以直接创建。默认模型仍然使用 hermes config set 设置。

警告

请把 KIMI_BASE_URLGLM_BASE_URLMINIMAX_CN_BASE_URLDEEPSEEK_BASE_URL 写入 ~/.hermes/.env,不要用 hermes config set KIMI_BASE_URL ... 这类命令设置。Hermes 的这些模型适配会从环境变量读取 Base URL;如果 Base URL 被写到 config.yaml 的普通字段里,模型请求可能不会使用 GenStudio API 地址。

选择模型配置方案

先按下表选择要添加的模型,然后复制对应小节的命令。

要添加的模型Hermes provider使用的 API 协议为什么这样配
kimi-k2.6kimi-codingOpenAI Chat Completions-compatible保留 Kimi thinking 请求设置,减少手写参数。
glm-5.1zaiOpenAI Chat Completions-compatible复用 GLM/Z.AI 适配,避免手写 GLM 请求字段。
minimax-m2.7minimax-cnOpenAI Chat Completions-compatible使用更直接的 Bearer Token 鉴权,配置更稳定。
deepseek-v4-pro / deepseek-v4-flashdeepseekOpenAI Chat Completions-compatible使用 DeepSeek V4 thinking 设置。

这套方案的目标是:您只配置 API Key、Base URL 和默认模型,把每个模型家族容易写错的请求细节交给 Hermes 已有适配处理。

如果您的业务需要在长多轮工具调用中持续保留模型的 reasoning 上下文,也就是常说的 preserved thinking,请先阅读 什么时候需要更完整的 preserved thinking 支持?

添加 kimi-k2.6

~/.hermes/.env 中添加或更新 Kimi 需要读取的变量:

language-ini
KIMI_API_KEY=sk-xxx
KIMI_BASE_URL=https://cloud.infini-ai.com/maas/v1

设置默认模型:

language-shell
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.thinkingreasoning_effort

添加 glm-5.1

~/.hermes/.env 中添加或更新 GLM 需要读取的变量:

language-ini
GLM_API_KEY=sk-xxx
GLM_BASE_URL=https://cloud.infini-ai.com/maas/v1

设置默认模型:

language-shell
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_streamthinking.clear_thinking 或类似字段;这些字段写进普通配置文件后,不一定会进入实际请求。

添加 minimax-m2.7

~/.hermes/.env 中添加或更新 MiniMax 需要读取的变量:

language-ini
MINIMAX_CN_API_KEY=sk-xxx
MINIMAX_CN_BASE_URL=https://cloud.infini-ai.com/maas/v1

设置默认模型:

language-shell
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 需要读取的变量:

language-ini
DEEPSEEK_API_KEY=sk-xxx
DEEPSEEK_BASE_URL=https://cloud.infini-ai.com/maas/v1

设置默认模型:

language-shell
hermes config set model.provider deepseek
hermes config set model.default deepseek-v4-pro
hermes config set model.api_mode chat_completions

如果要默认使用 Flash:

language-shell
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-prodeepseek-v4-flash,并为 V4 thinking 模型发送 extra_body.thinking
  • Hermes 会保存 OpenAI-compatible 响应里的 reasoning_content,有助于后续对话继续利用模型返回的推理内容。

更换默认模型

如果已经写好了对应模型家族的 API Key 和 Base URL,只需要切换 model.providermodel.defaultmodel.api_mode

language-shell
hermes config set model.provider kimi-coding
hermes config set model.default kimi-k2.6
hermes config set model.api_mode chat_completions

可用组合如下:

language-text
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 能读取配置和密钥:

language-shell
hermes config path
hermes config show
hermes doctor

再启动 Hermes CLI,发送一个短消息:

language-shell
hermes

可以发送:

language-text
请仅回复:收到。

如果您使用 Gateway,也可以在对应消息渠道里发送同样的短消息。若刚修改过默认模型,请先重启 Gateway。

排查常见问题

为什么同一个 API Key 要写入多个变量名?

因为本文复用 Hermes 已有的模型适配。每个模型适配都会从 ~/.hermes/.env 读取自己认识的变量名:

language-text
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 中,对应变量如下:

language-text
Kimi:    KIMI_BASE_URL
GLM:     GLM_BASE_URL
MiniMax: MINIMAX_CN_BASE_URL
DeepSeek: DEEPSEEK_BASE_URL

值统一填写:

language-text
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 等字段;thinkingtool_streamextra_bodycompat 这类字段即使写进 YAML,也不一定会进入发送给模型的实际请求。

如果模型需要这些特殊参数,优先使用本文指定的模型适配,让 Hermes 按对应模型家族的方式发送请求。只有当现有适配不能满足业务要求时,再考虑补充专门的 Hermes provider 插件。

什么时候需要更完整的 preserved thinking 支持?

有些 reasoning 模型会把“思考过程”和“最终回答”分开返回,例如返回 reasoning_contentreasoning_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:

language-shell
hermes config set display.show_reasoning false

如果您希望在私有会话里查看 reasoning:

language-shell
hermes config set display.show_reasoning true

在 Hermes CLI 或 Gateway 会话中,也可以使用 /reasoning show/reasoning hide 切换显示状态。

如何调整 reasoning effort?

Hermes 使用 agent.reasoning_effort 控制 reasoning effort。常见值包括 nonelowmediumhighxhigh

例如:

language-shell
hermes config set agent.reasoning_effort medium

需要注意:这个值不是所有模型都会完全按同一种方式执行;实际效果取决于当前模型适配。

附录:不使用 CLI 时的完整配置片段

如果您想一次性查看完整配置,可以参考下面的片段。先查看 Hermes 配置文件位置:

language-shell
hermes config path

~/.hermes/.env 中加入以下内容:

language-ini
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:

language-yaml
model:
  provider: kimi-coding
  default: kimi-k2.6
  api_mode: chat_completions

agent:
  reasoning_effort: medium

display:
  show_reasoning: false

切换到其他模型时,只需要改 model.providermodel.default

language-yaml
model:
  provider: deepseek
  default: deepseek-v4-pro
  api_mode: chat_completions

保存配置后,运行:

language-shell
hermes doctor
hermes config show

如果 Gateway 已经在运行,请重启 Gateway 或承载 Hermes 的服务进程,让新配置生效。

相关文档