Hermes Agent 安装与配置教程:接入 API 快连自定义模型端点(config.yaml)

更新于

Hermes Agent 是 Nous Research 出品的开源 AI 智能体,可以在终端里对话、执行任务,也能接入聊天软件。它支持任何 OpenAI 兼容接口。这篇讲清楚怎么安装、怎么把模型指向 API 快连、怎么验证和设置备用模型。

📌
一句话答案:运行 hermes model,选择「Custom endpoint」,Base URL 填 https://apikl.ai/v1,再填密钥和模型名;或者直接在 ~/.hermes/config.yaml 里设置 provider: custom 和 base_url。
⚠️
新版 Hermes 只设置 OPENAI_BASE_URL 环境变量是不够的,自定义端点要写在 config.yaml 里(或用 hermes model 向导)。这是最常见的「配了却不生效」原因。

第一步:安装 Hermes

macOS / Linux / WSL2
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
Windows · PowerShell
iex (irm https://hermes-agent.nousresearch.com/install.ps1)

装完重新打开终端(或执行 source ~/.zshrc),运行 hermes 确认安装成功。

第二步:把模型指向 API 快连

方法一:交互式向导(推荐)

BASH
hermes model
  1. 在列表里选择 Custom endpoint (self-hosted / VLLM / etc.)。
  2. API base URL 填 https://apikl.ai/v1。
  3. API key 填你的密钥 sk-...。
  4. Model name 填 gpt-5.6-sol(Claude 分组的密钥可填 claude-sonnet-5-5)。

向导会把这些设置写进 config.yaml,重启后依然有效。

方法二:手动编辑 config.yaml

打开 ~/.hermes/config.yaml,在 model: 下写入:

~/.hermes/config.yaml
model: default: gpt-5.6-sol provider: custom base_url: https://apikl.ai/v1 key_env: APIKL_API_KEY # 从环境变量读取密钥 context_length: 200000

然后把密钥写进 ~/.hermes/.env:

~/.hermes/.env
APIKL_API_KEY=sk-你的密钥
💡
也可以用 api_key: sk-... 直接写在 config.yaml 里,但放进 .env 更安全,分享配置文件时不会泄露密钥。

第三步:验证

BASH
hermes doctorhermes chat -q "用一句话介绍你自己" --oneshot

hermes doctor 会检查全部配置;hermes chat -q "…" --oneshot 发一个问题、回答后退出,能返回回复就接通了(不加 --oneshot 会直接进入对话)。之后用 hermes chat 进入正常对话。

模型选择与上下文

  • Hermes 要求模型上下文至少 6.4 万 token。API 快连上的主流 GPT、Claude 模型都满足。
  • 如果启动时提示上下文很小(例如只有 2048),说明自动识别失败,在 config.yaml 的 model: 下设置 context_length 即可。
  • 日常任务用 gpt-5.6-sol 或 claude-sonnet-5-5;复杂任务换 gpt-6.1-sol 或 claude-opus-5-5。
  • 临时换模型:hermes chat --model gpt-6.1-sol。

设置备用模型

主模型繁忙或限流时,Hermes 可以自动切到备用模型。在 config.yaml 里加:

~/.hermes/config.yaml
fallback_providers: - provider: custom model: gpt-5.6-terra base_url: https://apikl.ai/v1 key_env: APIKL_API_KEY

常见报错

  • 配了 OPENAI_BASE_URL 却还在请求官方:改用 config.yaml 的 provider: custom + base_url。
  • 401 invalid_api_key:密钥没读到(.env 里的变量名和 key_env 不一致),或复制不完整。看 401 排查。
  • model not found:模型名写错或分组不对。看 模型不存在排查。
  • 返回网页或 JSON 解析失败:base_url 填成了网页地址,或写成了 http://、www.;应为 https://apikl.ai/v1。
✅