跳转到内容

模型配置

Hermes Agent 支持连接到几乎所有主流 LLM 提供商。你只需至少配置一个提供商即可开始使用。本文涵盖从云端 API 到自托管端点的完整配置方法。

Hermes 提供两个不同的模型命令,用途各不相同:

命令运行位置功能
hermes model终端(会话之外)完整设置向导 — 添加提供商、运行 OAuth、输入 API Key、配置端点
/modelHermes 聊天会话内在已配置的提供商和模型之间快速切换

Nous Portal 是 Nous Research 的统一订阅网关,也是运行 Hermes Agent 的推荐方式。一次 OAuth 登录即可访问 300+ 前沿模型(Claude、GPT、Gemini、DeepSeek、Qwen、Kimi、GLM、MiniMax、Grok 等),以及工具网关(网页搜索、图片生成、TTS、浏览器自动化)。

Terminal window
hermes setup --portal # 全新安装 — OAuth + 提供商 + 网关一步到位
hermes model # 已有安装 — 从列表中选择 "Nous Portal"
hermes portal status # 随时检查登录状态和路由

通过设备码认证(打开 URL、输入验证码)。Hermes 将凭据存储在自己的 ~/.hermes/auth.json 中,也可以导入已有的 Codex CLI 凭据。无需安装 Codex CLI。

Hermes 支持 GitHub Copilot 作为一等公民提供商,提供两种模式:

  • copilot — 直接 Copilot API(推荐)。使用你的 GitHub Copilot 订阅访问 GPT-5.x、Claude、Gemini 等模型。
  • copilot-acp — Copilot ACP 代理后端。将本地 Copilot CLI 作为子进程启动。

认证方式(按优先级检查):

  1. COPILOT_GITHUB_TOKEN 环境变量
  2. GH_TOKEN 环境变量
  3. GITHUB_TOKEN 环境变量
  4. gh auth token CLI 回退

直接通过 Anthropic API 使用 Claude 模型 — 无需 OpenRouter 代理。支持三种认证方式:

Terminal window
# 使用 API Key(按量计费)
export ANTHROPIC_API_KEY=***
hermes chat --provider anthropic --model claude-sonnet-4-6
# 推荐方式:通过 hermes model 认证
hermes model
# 自动检测 Claude Code 凭据(如已有 Claude Code)
hermes chat --provider anthropic
Terminal window
# 在 ~/.hermes/.env 中设置
OPENROUTER_API_KEY=sk-or-...

OpenRouter 提供 200+ 模型,是入门最便捷的提供商之一。

Terminal window
GLM_API_KEY=your-key # 在 ~/.hermes/.env 中设置
# provider: zai
hermes chat --provider zai --model glm-5
Terminal window
# 国际版
KIMI_API_KEY=your-key # provider: kimi-coding
# 国内版
KIMI_CN_API_KEY=your-key # provider: kimi-coding-cn
Terminal window
# 全球端点
MINIMAX_API_KEY=your-key # provider: minimax
# 国内端点
MINIMAX_CN_API_KEY=your-key # provider: minimax-cn
Terminal window
DASHSCOPE_API_KEY=your-key # provider: alibaba
hermes chat --provider alibaba --model qwen3.5-plus

阿里云还提供编程计划独立端点:provider: alibaba-coding-plan,使用相同的 DASHSCOPE_API_KEY 但不同的计费 SKU。

Terminal window
XIAOMI_API_KEY=your-key # provider: xiaomi
hermes chat --provider xiaomi --model mimo-v2-pro
Terminal window
TOKENHUB_API_KEY=your-key # provider: tencent-tokenhub
hermes chat --provider tencent-tokenhub --model hy3-preview

NovitaAI 提供 200+ 模型的 Model API、Agent Sandbox 和 GPU Cloud:

Terminal window
NOVITA_API_KEY=your-key # provider: novita
hermes chat --provider novita --model moonshotai/kimi-k2.5
提供商环境变量Provider ID
DeepSeekDEEPSEEK_API_KEYdeepseek
Hugging FaceHF_TOKENhuggingface
Google GeminiGOOGLE_API_KEYGEMINI_API_KEYgemini
xAI (Grok)XAI_API_KEYxai
NVIDIA BuildNVIDIA_API_KEYnvidia
Arcee AIARCEEAI_API_KEYarcee
GMI CloudGMI_API_KEYgmi
StepFunSTEPFUN_API_KEYstepfun
Kilo CodeKILOCODE_API_KEYkilocode
OpenCode ZenOPENCODE_ZEN_API_KEYopencode-zen
AWS Bedrock标准 AWS 凭据链(boto3)bedrock
Azure AI FoundryAzure OpenAI 端点和密钥azure-foundry

如果你想连接 Hermes 未内置的 OpenAI 兼容 API(如 Ollama、vLLM、LocalAI 等):

Terminal window
hermes model # 选择 "Custom endpoint"

或直接在 config.yaml 中配置:

model:
provider: "custom"
default: "your-model-name"
base_url: "http://localhost:11434/v1"
api_key: "your-key-if-needed"

设置按以下顺序解析(优先级从高到低):

  1. CLI 参数 — 如 hermes chat --model anthropic/claude-sonnet-4(单次调用覆盖)
  2. ~/.hermes/config.yaml — 所有非敏感设置的主配置文件
  3. ~/.hermes/.env — 环境变量回退;密钥(API Key、Token、密码)必须放这里
  4. 内置默认值 — 未设置任何内容时的安全默认值

你可以在 config.yaml 中使用 ${VAR_NAME} 语法引用环境变量:

auxiliary:
vision:
api_key: ${GOOGLE_API_KEY}
base_url: ${CUSTOM_VISION_URL}
delegation:
api_key: ${DELEGATION_KEY}
  • 支持单值中的多个引用:url: "${HOST}:${PORT}"
  • 如果引用的变量未设置,占位符保持原样(${UNDEFINED_VAR} 不变)
  • 仅支持 ${VAR} 语法,不支持裸 $VAR

你可以为提供商设置全局请求超时,以及模型级别的超时覆盖:

providers:
openrouter:
request_timeout_seconds: 600 # 提供商全局超时
models:
claude-sonnet-4:
timeout_seconds: 300 # 特定模型超时覆盖
stale_timeout_seconds: 300 # 非流式陈旧调用检测器
models:
claude-sonnet-4:
stale_timeout_seconds: 120 # 特定模型陈旧超时覆盖

即使使用 Nous Portal、Codex 或自定义端点,某些工具(视觉、网页摘要、MoA)也会使用独立的”辅助”模型。默认情况下(auxiliary.*.provider: "auto"),Hermes 将这些任务路由到你选择的聊天模型。你可以单独覆盖,将它们路由到更便宜/更快的模型:

auxiliary:
vision:
provider: "openrouter"
model: "google/gemini-2.0-flash-001"
web_summary:
provider: "openrouter"
model: "google/gemini-2.0-flash-001"

这样可以在保持主要对话质量的同时,显著降低辅助任务的成本。