AI 大模型提供商(provider)
本页面介绍了为 Hermes Agent 设置推理大模型提供商(provider) - 从 OpenRouter 和 Anthropic 等云 API,到 Ollama 和 vLLM 等自托管端点,再到高级路由和回退配置。您至少需要一个配置为使用 Hermes 的大模型提供商(provider)。
推理大模型提供商(provider)
您至少需要一种方法来连接到LLM。使用 hermes model 交互切换大模型提供商(provider)和模型,或者直接配置:
| 大模型提供商(provider) | 设置 |
|---|---|
| Nous Portal | hermes model(OAuth,基于订阅) |
| OpenAI 法典 | hermes model(ChatGPT OAuth,使用 Codex 模型) |
| GitHub Copilot | hermes model(OAuth 设备代码流、COPILOT_GITHUB_TOKEN、GH_TOKEN 或 gh auth token) |
| GitHub Copilot ACP | hermes model(生成本地 copilot --acp --stdio) |
| 人为 | hermes model(Claude Pro/Max 通过 Claude Code auth、Anthropic API 密钥或手动设置令牌) |
| OpenRouter | ~/.hermes/.env 中的 OPENROUTER_API_KEY |
| AI 网关 | ~/.hermes/.env 中的 AI_GATEWAY_API_KEY(大模型提供商(provider):ai-gateway) |
| z.ai / GLM | ~/.hermes/.env 中的 GLM_API_KEY(大模型提供商(provider):zai) |
| 基米/登月 | ~/.hermes/.env 中的 KIMI_API_KEY(大模型提供商(provider):kimi-coding) |
| Kimi / Moonshot(中国) | ~/.hermes/.env 中的 KIMI_CN_API_KEY (大模型提供商(provider):kimi-coding-cn;别名:kimi-cn、moonshot-cn) |
| 阿尔西人工智能 | ~/.hermes/.env 中的 ARCEEAI_API_KEY (大模型提供商(provider):arcee;别名:arcee-ai、arceeai) |
| MiniMax | ~/.hermes/.env 中的 MINIMAX_API_KEY(大模型提供商(provider):minimax) |
| MiniMax 中国 | ~/.hermes/.env 中的 MINIMAX_CN_API_KEY(大模型提供商(provider):minimax-cn) |
| 阿里云 | ~/.hermes/.env 中的 DASHSCOPE_API_KEY (大模型提供商(provider):alibaba,别名:dashscope、qwen) |
| 公斤代码 | ~/.hermes/.env 中的 KILOCODE_API_KEY(大模型提供商(provider):kilocode) |
| 小米MiMo | ~/.hermes/.env 中的 XIAOMI_API_KEY (大模型提供商(provider):xiaomi,别名:mimo、xiaomi-mimo) |
| OpenCode Zen | ~/.hermes/.env 中的 OPENCODE_ZEN_API_KEY(大模型提供商(provider):opencode-zen) |
| OpenCode Go | ~/.hermes/.env 中的 OPENCODE_GO_API_KEY(大模型提供商(provider):opencode-go) |
| DeepSeek | ~/.hermes/.env 中的 DEEPSEEK_API_KEY(大模型提供商(provider):deepseek) |
| 抱脸 | ~/.hermes/.env 中的 HF_TOKEN (大模型提供商(provider):huggingface,别名:hf) |
| 谷歌/双子座 | ~/.hermes/.env 中的 GOOGLE_API_KEY (或 GEMINI_API_KEY)(大模型提供商(provider):gemini) |
| 谷歌双子座(OAuth) | hermes model →“Google Gemini (OAuth)”(提供商:google-gemini-cli,支持免费套餐,浏览器 PKCE 登录) |
| 自定义端点 | hermes model → 选择“自定义端点”(保存在 config.yaml 中) |
在 model: 配置部分中,您可以使用 default: 或 model: 作为模型 ID 的键名称。 model: { default: my-model } 和 model: { model: my-model } 的工作方式相同。
通过 OAuth 的 Google Gemini (google-gemini-cli)
google-gemini-cli 提供商使用 Google 的 Cloud Code Assist 后端 —
Google 自己的 gemini-cli 工具使用相同的 API。这同时支持
免费套餐(个人账户每日大量配额)和付费套餐
(通过 GCP 项目的标准/企业)。
快速启动:
hermes model
# → pick "Google Gemini (OAuth)"
# → see policy warning, confirm
# → browser opens to accounts.google.com, sign in
# → done — Hermes auto-provisions your free tier on first request
Hermes 默认提供 Google 的 public gemini-cli 桌面 OAuth 客户端 —
Google 在其开源 gemini-cli 中包含相同的凭据。桌面
OAuth 客户端不保密(PKCE 提供安全性)。你不
需要安装 gemini-cli 或注册您自己的 GCP OAuth 客户端。
身份验证如何工作:
- 针对
accounts.google.com的 PKCE 授权代码流 http://127.0.0.1:8085/oauth2callback处的浏览器回调(如果繁忙,则使用临时端口回退)- 令牌存储在
~/.hermes/auth/google_oauth.json(chmod 0600、原子写入、跨进程fcntl锁) - 到期前60秒自动刷新
- 无头环境(SSH、
HERMES_HEADLESS=1)→ 粘贴模式回退 - 飞行刷新重复数据删除——两个并发请求不会双重刷新
invalid_grant(撤销刷新)→ 凭证文件被擦除,提示用户重新登录
推理如何工作:
- 流量流向
https://cloudcode-pa.googleapis.com/v1internal:generateContent(或:streamGenerateContent?alt=sse用于流式传输),而不是付费v1beta/openai端点 - 请求正文包裹
{project, model, user_prompt_id, request} - OpenAI 形状的
messages[]、tools[]、tool_choice被翻译为 Gemini 的原生contents[]、tools[].functionDeclarations、toolConfig形状 - 响应转换回 OpenAI 形状,因此 Hermes 的其余部分保持不变
层级和项目 ID:
| 您的情况 | 该怎么办 |
|---|---|
| 个人Google帐户,想要免费套餐 | 没什么 — 登录,开始聊天 |
| 工作空间/标准/企业帐户 | 将 HERMES_GEMINI_PROJECT_ID 或 GOOGLE_CLOUD_PROJECT 设置为您的 GCP 项目 ID |
| VPC-SC 保护的组织 | Hermes 自动检测 SECURITY_POLICY_VIOLATED 并强制 standard-tier |
免费套餐会在首次使用时自动配置 Google 管理的项目。无需 GCP 设置。
配额监控:
/gquota
显示每个模型的剩余 Code Assist 配额以及进度条:
Gemini Code Assist quota (project: 123-abc)
gemini-2.5-pro ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░ 85%
gemini-2.5-flash [input] ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░ 92%
Google 考虑将 Gemini CLI OAuth 客户端与第三方软件结合使用
违反政策。一些用户报告了帐户限制。为了风险最低
经验,请通过 gemini 提供商使用您自己的 API 密钥。Hermes秀场
预先警告并需要在 OAuth 开始之前进行明确确认。
自定义 OAuth 客户端(可选):
如果您想注册自己的 Google OAuth 客户端 — 例如,为了保留配额 并同意您自己的 GCP 项目范围 - 设置:
HERMES_GEMINI_CLIENT_ID=your-client.apps.googleusercontent.com
HERMES_GEMINI_CLIENT_SECRET=... # optional for Desktop clients
注册 桌面应用程序 OAuth 客户端: console.cloud.google.com/apis/credentials 启用生成语言 API。
OpenAI Codex 提供商通过设备代码进行身份验证(打开 URL,输入代码)。 Hermes 将生成的凭证存储在自己的 ~/.hermes/auth.json 下的身份验证存储中,并且可以从 ~/.codex/auth.json 导入现有的 Codex CLI 凭证(如果存在)。无需安装 Codex CLI。
即使在使用 Nous Portal、Codex 或自定义端点时,某些工具(Vision、Web 摘要、MoA)也会使用单独的“辅助”模型 — 默认情况下通过 OpenRouter 进行 Gemini Flash。 OPENROUTER_API_KEY 自动启用这些工具。您还可以配置这些工具使用的模型和大模型提供商(provider) - 请参阅Auxiliary Models。
付费 Nous Portal 订阅者还可以访问 Tool 网关 - 通过您的订阅路由的网络搜索、图像生成、TTS 和浏览器自动化。无需额外的 API 密钥。它在 hermes model 设置期间自动提供,或者稍后使用 hermes tools 启用它。
模型管理的两个命令
Hermes 有 两个 模型命令,用于不同的目的:
| 命令 | 往哪里跑 | 它有什么作用 |
|---|---|---|
hermes model | 您的终端(任何会话之外) | 完整设置向导 — 添加提供商、运行 OAuth、输入 API 密钥、配置端点 |
/model | Hermes (Hermes) 聊天会话内部 | 已配置大模型提供商(provider)和模型之间的快速切换 |
如果您尝试切换到尚未设置的大模型提供商(provider)(例如,您只配置了 OpenRouter 并且想要使用 Anthropic),则需要 hermes model,而不是 /model。首先退出会话(Ctrl+C 或 /quit),运行 hermes model,完成大模型提供商(provider)设置,然后启动新会话。
Anthropic(本地)
直接通过 Anthropic API 使用 Claude 模型 — 无需 OpenRouter 代理。支持三种认证方式:
# With an API key (pay-per-token)
export ANTHROPIC_API_KEY=***
hermes chat --provider anthropic --model claude-sonnet-4-6
# Preferred: authenticate through `hermes model`
# Hermes will use Claude Code's credential store directly when available
hermes model
# Manual override with a setup-token (fallback / legacy)
export ANTHROPIC_TOKEN=*** # setup-token or manual OAuth token
hermes chat --provider anthropic
# Auto-detect Claude Code credentials (if you already use Claude Code)
hermes chat --provider anthropic # reads Claude Code credential files automatically
当您通过 hermes model 选择 Anthropic OAuth 时,Hermes 更喜欢 Claude Code 自己的凭证存储,而不是将令牌复制到 ~/.hermes/.env 中。这使得可刷新的克劳德凭证保持可刷新。
或者永久设置:
model:
provider: "anthropic"
default: "claude-sonnet-4-6"
--provider claude 和 --provider claude-code 也可用作 --provider anthropic 的简写。
GitHub Copilot
Hermes 支持 GitHub Copilot 作为一流提供商,有两种模式:
copilot — 直接 Copilot API(推荐)。使用您的 GitHub Copilot 订阅通过 Copilot API 访问 GPT-5.x、Claude、Gemini 和其他模型。
hermes chat --provider copilot --model gpt-5.4
身份验证选项(按此顺序检查):
COPILOT_GITHUB_TOKEN环境变量GH_TOKEN环境变量GITHUB_TOKEN环境变量gh auth tokenCLI 后备
如果未找到令牌,hermes model 会提供 OAuth 设备代码登录 — 与 Copilot CLI 和 opencode 使用的流程相同。
Copilot API 不支持经典个人访问令牌 (ghp_*)。支持的令牌类型:
| 类型 | 前缀 | 如何获取 |
|---|---|---|
| OAuth 令牌 | TODO | hermes model → GitHub Copilot → 使用 GitHub 登录 |
| 细粒度PAT | TODO | GitHub 设置 → 开发者设置 → 细粒度令牌(需要 Copilot Requests 权限) |
| GitHub 应用令牌 | TODO | 通过 GitHub 应用程序安装 |
如果您的 gh auth token 返回 ghp_* 令牌,请改用 hermes model 通过 OAuth 进行身份验证。
API 路由:GPT-5+ 模型(gpt-5-mini 除外)自动使用响应 API。所有其他模型(GPT-4o、Claude、Gemini 等)都使用聊天完成。模型是从实时 Copilot 目录中自动检测的。
copilot-acp — Copilot ACP 代理后端。将本地 Copilot CLI 作为子进程生成:
hermes chat --provider copilot-acp --model copilot-acp
# Requires the GitHub Copilot CLI in PATH and an existing `copilot login` session
永久配置:
model:
provider: "copilot"
default: "gpt-5.4"
| 环境变量 | 描述 |
|---|---|
TODO | Copilot API 的 GitHub 令牌(第一优先) |
TODO | 覆盖 Copilot CLI 二进制路径(默认值:copilot) |
TODO | 覆盖 ACP 参数(默认值:--acp --stdio) |
###中国一流AI提供商
这些提供商具有专用提供商 ID 的内置支持。设置 API 密钥并使用 --provider 选择:
# z.ai / ZhipuAI GLM
hermes chat --provider zai --model glm-5
# Requires: GLM_API_KEY in ~/.hermes/.env
# Kimi / Moonshot AI (international: api.moonshot.ai)
hermes chat --provider kimi-coding --model kimi-for-coding
# Requires: KIMI_API_KEY in ~/.hermes/.env
# Kimi / Moonshot AI (China: api.moonshot.cn)
hermes chat --provider kimi-coding-cn --model kimi-k2.5
# Requires: KIMI_CN_API_KEY in ~/.hermes/.env
# MiniMax (global endpoint)
hermes chat --provider minimax --model MiniMax-M2.7
# Requires: MINIMAX_API_KEY in ~/.hermes/.env
# MiniMax (China endpoint)
hermes chat --provider minimax-cn --model MiniMax-M2.7
# Requires: MINIMAX_CN_API_KEY in ~/.hermes/.env
# Alibaba Cloud / DashScope (Qwen models)
hermes chat --provider alibaba --model qwen3.5-plus
# Requires: DASHSCOPE_API_KEY in ~/.hermes/.env
# Xiaomi MiMo
hermes chat --provider xiaomi --model mimo-v2-pro
# Requires: XIAOMI_API_KEY in ~/.hermes/.env
# Arcee AI (Trinity models)
hermes chat --provider arcee --model trinity-large-thinking
# Requires: ARCEEAI_API_KEY in ~/.hermes/.env
或者在 config.yaml 中永久设置大模型提供商(provider):
model:
provider: "zai" # or: kimi-coding, kimi-coding-cn, minimax, minimax-cn, alibaba, xiaomi, arcee
default: "glm-5"
可以使用 GLM_BASE_URL、KIMI_BASE_URL、MINIMAX_BASE_URL、MINIMAX_CN_BASE_URL、DASHSCOPE_BASE_URL 或 XIAOMI_BASE_URL 环境变量覆盖基本 URL。
使用 Z.AI / GLM 提供商时,Hermes 会自动探测多个端点(全球、中国、编码变体)以找到接受您的 API 密钥的端点。您不需要手动设置 GLM_BASE_URL — 工作端点会被自动检测和缓存。
xAI (Grok) — 响应 API + 提示缓存
xAI 通过响应 API(codex_responses 传输)连接,以在 Grok 4 模型上提供自动推理支持 - 不需要 reasoning_effort 参数,默认情况下服务器推理。在 ~/.hermes/.env 中设置 XAI_API_KEY 并在 hermes model 中选择 xAI,或将 grok 作为快捷方式拖放到 /model grok-4-1-fast-reasoning 中。
当使用 xAI 作为大模型提供商(provider)(任何包含 x.ai 的基本 URL)时,Hermes 通过在每个 API 请求中发送 x-grok-conv-id 标头来自动启用提示缓存。这会将请求路由到对话会话中的同一服务器,从而允许 xAI 的基础设施重用缓存的系统提示和对话历史记录。
无需配置 - 当检测到 xAI 端点并且会话 ID 可用时,缓存会自动激活。这减少了多轮对话的延迟和成本。
xAI 还提供了专用的 TTS 端点 (/v1/tts)。在 hermes tools → 语音和 TTS 中选择 xAI TTS,或参见 Voice & TTS 页面进行配置。
Ollama Cloud — 托管 Ollama 模型、OAuth + API 密钥
Ollama Cloud 托管与本地 Ollama 相同的开放权重目录,但没有 GPU 要求。在 hermes model 中选择 Ollama Cloud,粘贴来自 ollama.com/settings/keys 的 API 密钥,Hermes 会自动发现可用的型号。
hermes model
# → pick "Ollama Cloud"
# → paste your OLLAMA_API_KEY
# → select from discovered models (gpt-oss:120b, glm-4.6:cloud, qwen3-coder:480b-cloud, etc.)
或者直接config.yaml:
model:
provider: "ollama-cloud"
default: "gpt-oss:120b"
模型目录是从 ollama.com/v1/models 动态获取并缓存一小时。 model:tag 表示法(例如 qwen3-coder:480b-cloud)通过标准化保留 - 不要使用破折号。
两者都使用相同的 OpenAI 兼容 API。 Cloud 是一流的提供商(--provider ollama-cloud、OLLAMA_API_KEY);通过自定义端点流到达本地 Ollama(基本 URL http://localhost:11434/v1,无键)。对于无法在本地运行的大型模型使用云;使用本地保护隐私或离线工作。
AWS 基岩
Anthropic Claude、Amazon Nova、DeepSeek v3.2、Meta Llama 4 和其他通过 AWS Bedrock 的模型。使用 AWS SDK (boto3) 凭证链 — 没有 API 密钥,只有标准 AWS 身份验证。
# Simplest — named profile in ~/.aws/credentials
hermes chat --provider bedrock --model us.anthropic.claude-sonnet-4-6
# Or with explicit env vars
AWS_PROFILE=myprofile AWS_REGION=us-east-1 hermes chat --provider bedrock --model us.anthropic.claude-sonnet-4-6
或者永久位于 config.yaml 中:
model:
provider: "bedrock"
default: "us.anthropic.claude-sonnet-4-6"
bedrock:
region: "us-east-1" # or set AWS_REGION
# profile: "myprofile" # or set AWS_PROFILE
# discovery: true # auto-discover region from IAM
# guardrail: # optional Bedrock Guardrails
# id: "your-guardrail-id"
# version: "DRAFT"
身份验证使用标准 boto3 链:显式 AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY、来自 ~/.aws/credentials 的 AWS_PROFILE、EC2/ECS/Lambda、IMDS 或 SSO 上的 IAM 角色。如果您已通过 AWS CLI 进行身份验证,则不需要环境变量。
Bedrock 在底层使用 Converse API - 请求被转换为 Bedrock 的模型无关形状,因此相同的配置适用于 Claude、Nova、DeepSeek 和 Llama 模型。仅当您调用非默认区域终端节点时才设置 BEDROCK_BASE_URL。
请参阅 AWS Bedrock guide 了解 IAM 设置、区域选择和跨区域推理的演练。
Qwen 门户(OAuth)
阿里巴巴的 Qwen Portal 具有基于浏览器的 OAuth 登录。在 hermes model 中选择 Qwen OAuth (Portal),通过浏览器登录,Hermes 会保留刷新令牌。
hermes model
# → pick "Qwen OAuth (Portal)"
# → browser opens; sign in with your Alibaba account
# → confirm — credentials are saved to ~/.hermes/auth.json
hermes chat # uses portal.qwen.ai/v1 endpoint
或者配置config.yaml:
model:
provider: "qwen-oauth"
default: "qwen3-coder-plus"
仅当门户端点重新定位时才设置 HERMES_QWEN_BASE_URL (默认值:https://portal.qwen.ai/v1)。
qwen-oauth 使用面向消费者的 Qwen Portal 和 OAuth 登录 — 非常适合个人用户。 alibaba 大模型提供商(provider)使用 DashScope 的企业 API 和 DASHSCOPE_API_KEY — 非常适合编程/生产工作负载。两者都路由至 Qwen 系列模型,但位于不同的端点。
NVIDIA NIM
Nemotron 和其他开源模型通过 build.nvidia.com (免费 API 密钥)或本地 NIM 端点。
# Cloud (build.nvidia.com)
hermes chat --provider nvidia --model nvidia/nemotron-3-super-120b-a12b
# Requires: NVIDIA_API_KEY in ~/.hermes/.env
# Local NIM endpoint — override base URL
NVIDIA_BASE_URL=http://localhost:8000/v1 hermes chat --provider nvidia --model nvidia/nemotron-3-super-120b-a12b
或者将其永久设置在 config.yaml 中:
model:
provider: "nvidia"
default: "nvidia/nemotron-3-super-120b-a12b"
对于本地部署(DGX Spark、本地 GPU),设置 NVIDIA_BASE_URL=http://localhost:8000/v1。 NIM 公开与 build.nvidia.com 相同的 OpenAI 兼容聊天完成 API,因此云和本地之间的切换只需一行环境变量更改。
拥抱人脸推理提供商
Hugging Face Inference Providers 通过统一的 OpenAI 兼容端点 (router.huggingface.co/v1) 路由到 20 多个开放模型。请求会自动路由到最快的可用后端(Groq、Together、SambaNova 等),并具有自动故障转移功能。
# Use any available model
hermes chat --provider huggingface --model Qwen/Qwen3-235B-A22B-Thinking-2507
# Requires: HF_TOKEN in ~/.hermes/.env
# Short alias
hermes chat --provider hf --model deepseek-ai/DeepSeek-V3.2
或者将其永久设置在 config.yaml 中:
model:
provider: "huggingface"
default: "Qwen/Qwen3-235B-A22B-Thinking-2507"
在 huggingface.co/settings/tokens 获取您的令牌 — 确保启用“调用推理大模型提供商(provider)”权限。包括免费套餐(每月 0.10 美元的信用额度,提供商费率无加价)。
您可以将路由后缀附加到模型名称::fastest(默认)、:cheapest 或 :provider_name 以强制使用特定后端。
基本 URL 可以用 HF_BASE_URL 覆盖。
定制和自托管 LLM 提供商
Hermes Agent 可与任何 OpenAI 兼容的 API 端点配合使用。如果服务器实现了 /v1/chat/completions,你可以将 Hermes 指向它。这意味着您可以使用本地模型、GPU 推理服务器、多提供商路由器或任何第三方 API。
一般设置
配置自定义端点的三种方法:
交互式设置(推荐):
hermes model
# Select "Custom endpoint (self-hosted / VLLM / etc.)"
# Enter: API base URL, API key, Model name
手动配置(config.yaml):
# In ~/.hermes/config.yaml
model:
default: your-model-name
provider: custom
base_url: http://localhost:8000/v1
api_key: your-key-or-leave-empty-for-local
.env 中的 OPENAI_BASE_URL 和 LLM_MODEL 被删除。 Hermes 的任何部分都不会读取两者 — config.yaml 是模型和端点配置的单一事实来源。如果您的 .env 中有过时的条目,它们会在下一次 hermes setup 或配置迁移时自动清除。使用hermes model或直接编辑config.yaml。
两种方法都坚持 config.yaml,这是模型、大模型提供商(provider)和基本 URL 的真实来源。
使用 /model 切换模型
hermes model(从您的终端运行,在任何聊天会话之外)是完整的提供商设置向导。使用它来添加新的大模型提供商(provider)、运行 OAuth 流程、输入 API 密钥以及配置自定义端点。
/model(在活动的 Hermes 聊天会话中输入)只能在您已设置的提供商和模型之间切换。它无法添加新的大模型提供商(provider)、运行 OAuth 或提示输入 API 密钥。如果您仅配置了一个大模型提供商(provider)(例如 OpenRouter),则 /model 将仅显示该大模型提供商(provider)的模型。
要添加新大模型提供商(provider): 退出会话(Ctrl+C 或 /quit),运行 hermes model,设置新大模型提供商(provider),然后启动新会话。
一旦配置了至少一个自定义端点,您就可以在会话中切换模型:
/model custom:qwen-2.5 # Switch to a model on your custom endpoint
/model custom # Auto-detect the model from the endpoint
/model openrouter:claude-sonnet-4 # Switch back to a cloud provider
如果您配置了命名自定义大模型提供商(provider)(见下文),请使用三重语法:
/model custom:local:qwen-2.5 # Use the "local" custom provider with model qwen-2.5
/model custom:work:llama3 # Use the "work" custom provider with llama3
切换大模型提供商(provider)时,Hermes 会将基本 URL 和大模型提供商(provider)保留到配置中,以便更改在重新启动后仍然有效。从自定义端点切换到内置大模型提供商(provider)时,过时的基本 URL 将被自动清除。
/model custom (裸,无模型名称)查询端点的 /models API 并自动选择模型(如果恰好加载了一个模型)。对于运行单一模型的本地服务器很有用。
下面的所有内容都遵循相同的模式 - 只需更改 URL、密钥和模型名称即可。
Ollama — 本地模型,零配置
Ollama 使用一个命令在本地运行开放权重模型。最适合:快速本地实验、隐私敏感工作、离线使用。支持通过兼容OpenAI的API调用工具。
# Install and run a model
ollama pull qwen2.5-coder:32b
ollama serve # Starts on port 11434
然后配置Hermes:
hermes model
# Select "Custom endpoint (self-hosted / VLLM / etc.)"
# Enter URL: http://localhost:11434/v1
# Skip API key (Ollama doesn't need one)
# Enter model name (e.g. qwen2.5-coder:32b)
或者直接配置config.yaml:
model:
default: qwen2.5-coder:32b
provider: custom
base_url: http://localhost:11434/v1
context_length: 32768 # See warning below
默认情况下,Ollama 不使用模型的完整上下文窗口。根据您的 VRAM,默认值为:
| 可用显存 | 默认上下文 |
|---|---|
| 小于 24 GB | 4,096 个代币 |
| 24–48 GB | 32,768 个代币 |
| 48+ GB | 256,000 个代币 |
对于代理与工具一起使用,您至少需要 16k–32k 上下文。在 4k 时,仅系统提示+工具模式就可以填满窗口,没有留下对话的空间。
如何增加(选择一项):
# Option 1: Set server-wide via environment variable (recommended)
OLLAMA_CONTEXT_LENGTH=32768 ollama serve
# Option 2: For systemd-managed Ollama
sudo systemctl edit ollama.service
# Add: Environment="OLLAMA_CONTEXT_LENGTH=32768"
# Then: sudo systemctl daemon-reload && sudo systemctl restart ollama
# Option 3: Bake it into a custom model (persistent per-model)
echo -e "FROM qwen2.5-coder:32b\nPARAMETER num_ctx 32768" > Modelfile
ollama create qwen2.5-coder-32k -f Modelfile
您无法通过 OpenAI 兼容 API 设置上下文长度 (/v1/chat/completions)。它必须在服务器端或通过模型文件进行配置。这是将 Ollama 与 Hermes 等工具集成时造成混乱的第一大原因。
验证您的上下文设置是否正确:
ollama ps
# Look at the CONTEXT column — it should show your configured value
使用 ollama list 列出可用模型。使用 ollama pull <model> 从 Ollama library 中提取任何模型。 Ollama 自动处理 GPU 卸载 — 大多数设置无需配置。
vLLM — 高性能 GPU 推理
vLLM 是生产 LLM 服务的标准。最适合:GPU 硬件上的最大吞吐量、服务大型模型、连续批处理。
pip install vllm
vllm serve meta-llama/Llama-3.1-70B-Instruct \
--port 8000 \
--max-model-len 65536 \
--tensor-parallel-size 2 \
--enable-auto-tool-choice \
--tool-call-parser hermes
然后配置Hermes:
hermes model
# Select "Custom endpoint (self-hosted / VLLM / etc.)"
# Enter URL: http://localhost:8000/v1
# Skip API key (or enter one if you configured vLLM with --api-key)
# Enter model name: meta-llama/Llama-3.1-70B-Instruct
上下文长度: vLLM 默认读取模型的 max_position_embeddings。如果超出了您的 GPU 内存,则会出错并要求您将 --max-model-len 设置得较低。您还可以使用 --max-model-len auto 自动查找适合的最大值。设置 --gpu-memory-utilization 0.95 (默认 0.9)以将更多上下文压缩到 VRAM 中。
工具调用需要显式标志:
| 旗帜 | 目的 |
|---|---|
TODO | tool_choice: "auto" 必需(Hermes 中的默认值) |
TODO | 模型工具调用格式的解析器 |
支持的解析器:hermes(Qwen 2.5、Hermes 2/3)、llama3_json(Llama 3.x)、mistral、deepseek_v3、deepseek_v31、xlam、pythonic。如果没有这些标志,工具调用将无法工作 - 模型将以文本形式输出工具调用。
vLLM 支持人类可读的大小:--max-model-len 64k(小写 k = 1000,大写 K = 1024)。
SGLang — 使用 RadixAttention 进行快速服务
SGLang 是带有 RadixAttention 的 vLLM 的替代方案,用于 KV 缓存重用。最适合:多轮对话(前缀缓存)、受限解码、结构化输出。
pip install "sglang[all]"
python -m sglang.launch_server \
--model meta-llama/Llama-3.1-70B-Instruct \
--port 30000 \
--context-length 65536 \
--tp 2 \
--tool-call-parser qwen
然后配置Hermes:
hermes model
# Select "Custom endpoint (self-hosted / VLLM / etc.)"
# Enter URL: http://localhost:30000/v1
# Enter model name: meta-llama/Llama-3.1-70B-Instruct
上下文长度: SGLang 默认从模型的配置中读取。使用 --context-length 覆盖。如果需要超过模型声明的最大值,请设置 SGLANG_ALLOW_OVERWRITE_LONGER_CONTEXT_LEN=1。
工具调用: 将 --tool-call-parser 与适合您的模型系列的解析器一起使用:qwen (Qwen 2.5)、llama3、llama4、deepseekv3、mistral、glm。如果没有此标志,工具调用将以纯文本形式返回。
如果响应看起来被截断,请将 max_tokens 添加到您的请求中或在服务器上设置 --default-max-tokens 。如果请求中未指定,SGLang 的默认值是每个响应仅 128 个令牌。
llama.cpp / llama-server — CPU 和金属推理
llama.cpp 在 CPU、Apple Silicon(金属)和消费类 GPU 上运行量化模型。最适合:在没有数据中心 GPU 的情况下运行模型、Mac 用户、边缘部署。
# Build and start llama-server
cmake -B build && cmake --build build --config Release
./build/bin/llama-server \
--jinja -fa \
-c 32768 \
-ngl 99 \
-m models/qwen2.5-coder-32b-instruct-Q4_K_M.gguf \
--port 8080 --host 0.0.0.0
上下文长度 (-c): 最近的构建默认为 0,它从 GGUF 元数据读取模型的训练上下文。对于具有 128k+ 训练上下文的模型,尝试分配完整的 KV 缓存可能会出现 OOM。将 -c 显式设置为您需要的值(32k–64k 是代理使用的良好范围)。如果使用并行槽 (-np),则总上下文将在槽之间划分 — 使用 -c 32768 -np 4,每个槽仅获得 8k。
然后配置 Hermes 指向它:
hermes model
# Select "Custom endpoint (self-hosted / VLLM / etc.)"
# Enter URL: http://localhost:8080/v1
# Skip API key (local servers don't need one)
# Enter model name — or leave blank to auto-detect if only one model is loaded
这会将端点保存到 config.yaml ,以便它在会话中持续存在。
--jinja is required for tool calling如果没有 --jinja,llama-server 会完全忽略 tools 参数。该模型将尝试通过在其响应文本中写入 JSON 来调用工具,但 Hermes 不会将其识别为工具调用 - 您将看到像 {"name": "web_search", ...} 这样的原始 JSON 作为消息打印,而不是实际的搜索。
原生工具调用支持(最佳性能):Llama 3.x、Qwen 2.5(包括 Coder)、Hermes 2/3、Mistral、DeepSeek、Functionary。所有其他模型都使用通用处理程序,该处理程序可以工作,但效率可能较低。请参阅 llama.cpp function calling docs 了解完整列表。
您可以通过检查 http://localhost:8080/props 来验证工具支持是否处于活动状态 — chat_template 字段应该存在。
从 Hugging Face 下载 GGUF 模型。 Q4_K_M 量化提供了质量与内存使用之间的最佳平衡。
LM Studio — 具有本地模型的桌面应用程序
LM Studio 是一个桌面应用程序,用于使用 GUI 运行本地模型。最适合:喜欢可视化界面、快速模型测试的用户、macOS/Windows/Linux 上的开发人员。
从 LM Studio 应用程序(“开发人员”选项卡→“启动服务器”)启动服务器,或使用 CLI:
lms server start # Starts on port 1234
lms load qwen2.5-coder --context-length 32768
然后配置Hermes:
hermes model
# Select "Custom endpoint (self-hosted / VLLM / etc.)"
# Enter URL: http://localhost:1234/v1
# Skip API key (LM Studio doesn't require one)
# Enter model name
LM Studio 从模型的元数据中读取上下文长度,但许多 GGUF 模型报告默认值较低(2048 或 4096)。 始终在 LM Studio 模型设置中明确设置上下文长度:
- 单击模型选择器旁边的齿轮图标
- 将“上下文长度”设置为至少 16384(最好是 32768)
- 重新加载模型以使更改生效
或者,使用 CLI:lms load model-name --context-length 32768
要设置持久的每个模型默认值:我的模型选项卡 → 模型上的齿轮图标 → 设置上下文大小。
工具调用: 从 LM Studio 0.3.6 开始支持。具有本机工具调用训练的模型(Qwen 2.5、Llama 3.x、Mistral、Hermes)会自动检测并显示工具徽章。其他模型使用可能不太可靠的通用后备方案。
WSL2 网络(Windows 用户)
由于 Hermes Agent 需要 Unix 环境,因此 Windows 用户在 WSL2 中运行它。如果您的模型服务器(Ollama、LM Studio 等)在 Windows 主机 上运行,则需要桥接网络间隙 - WSL2 使用具有自己子网的虚拟网络适配器,因此 WSL2 中的 localhost 指的是 Linux VM,而不是 Windows 主机。
如果您的模型服务器也在 WSL2 内部运行(对于 vLLM、SGLang 和 llama-server 很常见),则 localhost 按预期工作 — 它们共享相同的网络命名空间。跳过本节。
选项 1:镜像网络模式(推荐)
在 Windows 11 22H2+ 上可用,镜像模式使 localhost 在 Windows 和 WSL2 之间双向工作 - 这是最简单的修复。
-
创建或编辑
%USERPROFILE%\.wslconfig(例如C:\Users\YourName\.wslconfig):[wsl2]
networkingMode=mirrored -
从 PowerShell 重新启动 WSL:
wsl --shutdown -
重新打开 WSL2 终端。
localhost现在到达 Windows 服务:curl http://localhost:11434/v1/models # Ollama on Windows — works
在某些 Windows 11 版本上,Hyper-V 防火墙默认阻止镜像连接。如果启用镜像模式后 localhost 仍然不起作用,请在 Admin PowerShell 中运行以下命令:
Set-NetFirewallHyperVVMSetting -Name '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}' -DefaultInboundAction Allow
选项 2:使用 Windows 主机 IP(Windows 10/旧版本)
如果无法使用镜像模式,请从 WSL2 内部查找 Windows 主机 IP 并使用它而不是 localhost:
# Get the Windows host IP (the default gateway of WSL2's virtual network)
ip route show | grep -i default | awk '{ print $3 }'
# Example output: 172.29.192.1
在 Hermes 配置中使用该 IP:
model:
default: qwen2.5-coder:32b
provider: custom
base_url: http://172.29.192.1:11434/v1 # Windows host IP, not localhost
主机 IP 可以在 WSL2 重新启动时更改。您可以在 shell 中动态获取它:
export WSL_HOST=$(ip route show | grep -i default | awk '{ print $3 }')
echo "Windows host at: $WSL_HOST"
curl http://$WSL_HOST:11434/v1/models # Test Ollama
或者使用您计算机的 mDNS 名称(在 WSL2 中需要 libnss-mdns):
sudo apt install libnss-mdns
curl http://$(hostname).local:11434/v1/models
服务器绑定地址(NAT 模式需要)
如果您使用选项 2(使用主机 IP 的 NAT 模式),Windows 上的模型服务器必须接受来自 127.0.0.1 外部的连接。默认情况下,大多数服务器仅侦听 localhost — NAT 模式下的 WSL2 连接来自不同的虚拟子网,将被拒绝。在镜像模式下,localhost 直接映射,因此默认的 127.0.0.1 绑定工作正常。
| 服务器 | 默认绑定 | 如何修复 |
|---|---|---|
| 奥拉马 | TODO | 在启动 Ollama 之前设置 OLLAMA_HOST=0.0.0.0 环境变量(Windows 上的系统设置 → 环境变量,或编辑 Ollama 服务) |
| LM工作室 | TODO | 在“开发人员”选项卡→“服务器设置” |
| 骆驼服务器 | TODO | 在启动命令中添加--host 0.0.0.0 |
| vLLM | TODO | 默认情况下已绑定到所有接口 |
| SGLang | TODO | 在启动命令中添加--host 0.0.0.0 |
Ollama 在 Windows 上(详细): Ollama 作为 Windows 服务运行。要设置 OLLAMA_HOST:
1.打开系统属性→环境变量
2. 添加新的系统变量:OLLAMA_HOST = 0.0.0.0
3.重启Ollama服务(或reboot)
Windows 防火墙
Windows 防火墙将 WSL2 视为单独的网络(在 NAT 和镜像模式下)。如果执行上述步骤后连接仍然失败,请为模型服务器的端口添加防火墙规则:
# Run in Admin PowerShell — replace PORT with your server's port
New-NetFirewallRule -DisplayName "Allow WSL2 to Model Server" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 11434
常用端口:Ollama 11434、vLLM 8000、SGLang 30000、llama-server 8080、LM Studio 1234。
快速验证
从 WSL2 内部,测试您是否可以访问模型服务器:
# Replace URL with your server's address and port
curl http://localhost:11434/v1/models # Mirrored mode
curl http://172.29.192.1:11434/v1/models # NAT mode (use your actual host IP)
如果您收到列出您的模型的 JSON 响应,则表示一切正常。使用与 Hermes 配置中的 base_url 相同的 URL。
本地模型故障排除
这些问题会影响与 Hermes 一起使用的所有本地推理服务器。
从 WSL2 到 Windows 托管模型服务器的“连接被拒绝”
如果您在 WSL2 内运行 Hermes,并且模型服务器在 Windows 主机上运行,则 http://localhost:<port> 将无法在 WSL2 的默认 NAT 网络模式下工作。请参阅上面的 WSL2 Networking 进行修复。
工具调用显示为文本而不是执行
该模型输出类似 {"name": "web_search", "arguments": {...}} 的内容作为消息,而不是实际调用该工具。
原因: 您的服务器没有启用工具调用,或者模型不支持通过服务器的工具调用实现。
| 服务器 | 修复 |
|---|---|
| 骆驼.cpp | 在启动命令中添加--jinja |
| vLLM | 添加 --enable-auto-tool-choice --tool-call-parser hermes |
| SGLang | 添加 --tool-call-parser qwen (或适当的解析器) |
| 奥拉马 | 默认情况下启用工具调用 - 确保您的模型支持它(使用 ollama show model-name 检查) |
| LM工作室 | 更新至 0.3.6+ 并使用具有本机工具支持的模型 |
模型似乎忘记了上下文或给出了不连贯的响应
原因: 上下文窗口太小。当对话超出上下文限制时,大多数服务器会默默地丢弃旧消息。仅 Hermes 的系统提示+工具模式就可以使用 4k-8k 个代币。
诊断:
# Check what Hermes thinks the context is
# Look at startup line: "Context limit: X tokens"
# Check your server's actual context
# Ollama: ollama ps (CONTEXT column)
# llama.cpp: curl http://localhost:8080/props | jq '.default_generation_settings.n_ctx'
# vLLM: check --max-model-len in startup args
修复: 将上下文设置为至少 32,768 个令牌以供代理使用。有关特定标志,请参阅上面每个服务器的部分。
启动时“上下文限制:2048 个令牌”
Hermes 自动检测服务器的 /v1/models 端点的上下文长度。如果服务器报告较低的值(或根本不报告),Hermes 将使用模型声明的限制,这可能是错误的。
修复: 在 config.yaml 中显式设置:
model:
default: your-model
provider: custom
base_url: http://localhost:11434/v1
context_length: 32768
回复在句子中被切断
可能的原因:
- 服务器上的低输出上限 (
max_tokens) — SGLang 默认为每个响应 128 个令牌。在服务器上设置--default-max-tokens或在 config.yaml 中使用model.max_tokens配置 Hermes。注意:max_tokens仅控制响应长度 - 它与您的对话历史记录的长度无关(即context_length)。 - 上下文耗尽 — 模型填满了其上下文窗口。在 Hermes 中增加
model.context_length或启用 context compression。
LiteLLM 代理 — 多提供商网关
LiteLLM 是一个与 OpenAI 兼容的代理,它将 100 多个 LLM 提供商统一在一个 API 后面。最适合:在不更改配置的情况下在提供商之间切换、负载平衡、后备链、预算控制。
# Install and start
pip install "litellm[proxy]"
litellm --model anthropic/claude-sonnet-4 --port 4000
# Or with a config file for multiple models:
litellm --config litellm_config.yaml --port 4000
然后使用 hermes model → 自定义端点 → http://localhost:4000/v1 配置 Hermes。
带有后备的 litellm_config.yaml 示例:
model_list:
- model_name: "best"
litellm_params:
model: anthropic/claude-sonnet-4
api_key: sk-ant-...
- model_name: "best"
litellm_params:
model: openai/gpt-4o
api_key: sk-...
router_settings:
routing_strategy: "latency-based-routing"
ClawRouter — 成本优化的路由
BlockRunAI 的 ClawRouter 是一个本地路由代理,可根据查询复杂性自动选择模型。它对 14 个维度的请求进行分类,并路由到能够处理该任务的最便宜的模型。通过 USDC 加密货币付款(无 API 密钥)。
# Install and start
npx @blockrun/clawrouter # Starts on port 8402
然后使用 hermes model → 自定义端点 → http://localhost:8402/v1 → 模型名称 blockrun/auto 配置 Hermes。
路由配置文件:
| 简介 | 战略 | 储蓄 |
|---|---|---|
TODO | 平衡的质量/成本 | 74-100% |
TODO | 最便宜的 | 95-100% |
TODO | 最佳品质型号 | 0% |
TODO | 仅限免费模型 | 100% |
TODO | 针对工具使用进行了优化 | 变化 |
ClawRouter 需要 Base 或 Solana 上有 USDC 资助的钱包进行付款。所有请求都通过 BlockRun 的后端 API 路由。运行 npx @blockrun/clawrouter doctor 检查钱包状态。
其他兼容的提供商
任何具有 OpenAI 兼容 API 的服务都可以使用。一些流行的选项:
| 大模型提供商(provider) | 基本网址 | 笔记 |
|---|---|---|
| Together AI | TODO | 云托管开放模型 |
| Groq | TODO | 超快速推理 |
| DeepSeek | TODO | DeepSeek 模型 |
| Fireworks AI | TODO | 快开模式托管 |
| GMI Cloud | TODO | 托管 OpenAI 兼容推理 |
| Cerebras | TODO | 晶圆级芯片推理 |
| Mistral AI | TODO | Mistral型号 |
| OpenAI | TODO | 直接访问 OpenAI |
| Azure OpenAI | TODO | 企业OpenAI |
| LocalAI | TODO | 自托管、多模型 |
| Jan | http://localhost:1337/v1 | 具有本地模型的桌面应用程序 |
使用 hermes model → 自定义端点或在 config.yaml 中配置其中任何一个:
model:
default: meta-llama/Llama-3.1-70B-Instruct-Turbo
provider: custom
base_url: https://api.together.xyz/v1
api_key: your-together-key
上下文长度检测
context_length 是 总上下文窗口 — 输入 和 输出标记的组合预算(例如 Claude Opus 4.6 为 200,000)。 Hermes 使用它来决定何时压缩历史记录并验证 API 请求。
model.max_tokens 是 输出上限 — 模型在单个响应中可以生成的最大令牌数。这与您的对话历史记录有多长无关。行业标准名称 max_tokens 是一个常见的混淆源;为了清楚起见,Anthropic 的本机 API 已将其重命名为 max_output_tokens。
当自动检测得到的窗口大小错误时设置 context_length 。
仅当您需要限制单个响应的长度时才设置 model.max_tokens 。
Hermes 使用多源解析链来检测模型和大模型提供商(provider)的正确上下文窗口:
- 配置覆盖 — config.yaml 中的
model.context_length(最高优先级) - 每个模型的自定义大模型提供商(provider) —
custom_providers[].models.<id>.context_length - 持久缓存 — 先前发现的值(重新启动后仍有效)
- 端点
/models— 查询服务器的 API(本地/自定义端点) - Anthropic
/v1/models— 查询 Anthropic 的 API 中的max_input_tokens(仅限 API 密钥用户) - OpenRouter API — 来自 OpenRouter 的实时模型元数据
- Nous Portal — 后缀将 Nous 模型 ID 与 OpenRouter 元数据进行匹配
- models.dev — 社区维护的注册表,具有特定于提供商的上下文长度,适用于 100 多个提供商的 3800 多个模型
- 后备默认值 - 广泛的模型系列模式(128K 默认值)
对于大多数设置来说,这是开箱即用的。该系统具有大模型提供商(provider)感知能力——同一模型可以有不同的上下文限制,具体取决于谁为其提供服务(例如,claude-opus-4.6 在 Anthropic direct 上为 1M,但在 GitHub Copilot 上为 128K)。
要显式设置上下文长度,请将 context_length 添加到模型配置中:
model:
default: "qwen3.5:9b"
base_url: "http://localhost:8080/v1"
context_length: 131072 # tokens
对于自定义端点,您还可以设置每个模型的上下文长度:
custom_providers:
- name: "My Local LLM"
base_url: "http://localhost:11434/v1"
models:
qwen3.5:27b:
context_length: 32768
deepseek-r1:70b:
context_length: 65536
配置自定义端点时,hermes model 将提示输入上下文长度。将其留空以便自动检测。
- 您使用的 Ollama 具有低于模型最大值的自定义
num_ctx - 您希望将上下文限制在模型最大值以下(例如,128k 模型上的 8k 以节省 VRAM)
- 您在不公开
/v1/models的代理后面运行
指定定制提供商
如果您使用多个自定义端点(例如,本地开发服务器和远程 GPU 服务器),您可以将它们定义为 config.yaml 中的命名自定义大模型提供商(provider):
custom_providers:
- name: local
base_url: http://localhost:8080/v1
# api_key omitted — Hermes uses "no-key-required" for keyless local servers
- name: work
base_url: https://gpu-server.internal.corp/v1
key_env: CORP_API_KEY
api_mode: chat_completions # optional, auto-detected from URL
- name: anthropic-proxy
base_url: https://proxy.example.com/anthropic
key_env: ANTHROPIC_PROXY_KEY
api_mode: anthropic_messages # for Anthropic-compatible proxies
使用三重语法在会话中在它们之间切换:
/model custom:local:qwen-2.5 # Use the "local" endpoint with qwen-2.5
/model custom:work:llama3-70b # Use the "work" endpoint with llama3-70b
/model custom:anthropic-proxy:claude-sonnet-4 # Use the proxy
您还可以从交互式 hermes model 菜单中选择命名的自定义大模型提供商(provider)。
选择正确的设置
| 使用案例 | 推荐 |
|---|---|
| 只是想让它发挥作用 | OpenRouter(默认)或 Nous Portal |
| 本地型号,设置简单 | 奥拉玛 |
| 生产 GPU 服务 | vLLM 或 SGLang |
| Mac / 无 GPU | Ollama 或 llama.cpp |
| 多提供商路由 | LiteLLM 代理或 OpenRouter |
| 成本优化 | 带有 sort: "price" 的 ClawRouter 或 OpenRouter |
| 最大程度的隐私 | Ollama、vLLM 或 llama.cpp(完全本地) |
| 企业/Azure | 具有自定义端点的 Azure OpenAI |
| 中国人工智能模型 | z.ai (GLM)、Kimi/Moonshot(kimi-coding 或 kimi-coding-cn)、MiniMax 或小米 MiMo(一流提供商) |
您可以随时使用 hermes model 在大模型提供商(provider)之间切换 - 无需重新启动。无论您使用哪个提供商,您的对话历史记录、记忆和技能都会保留。
可选 API 密钥
| 特色 | 大模型提供商(provider) | 环境变量 |
|---|---|---|
| 网页抓取 | Firecrawl | FIRECRAWL_API_KEY、FIRECRAWL_API_URL |
| 浏览器自动化 | Browserbase | BROWSERBASE_API_KEY、BROWSERBASE_PROJECT_ID |
| 图像生成 | FAL | TODO |
| 优质 TTS 语音 | ElevenLabs | TODO |
| OpenAI TTS + 语音转录 | OpenAI | TODO |
| Mistral TTS + 语音转录 | Mistral | TODO |
| 强化学习训练 | Tinker + WandB | TINKER_API_KEY、WANDB_API_KEY |
| 跨会话用户建模 | Honcho | TODO |
| 语义长期记忆 | Supermemory | TODO |
自托管 Firecrawl
默认情况下,Hermes 使用 Firecrawl cloud API 进行网络搜索和抓取。如果您更喜欢在本地运行 Firecrawl,则可以将 Hermes 指向自托管实例。请参阅 Firecrawl 的 SELF_HOST.md 以获取完整的设置说明。
您将获得什么: 无需 API 密钥、无速率限制、无每页费用、完整的数据主权。
您会失去什么: 云版本使用 Firecrawl 专有的“Fire-engine”进行高级反机器人绕过(Cloudflare、CAPTCHA、IP 轮换)。自托管使用基本的 fetch + Playwright,因此某些受保护的站点可能会失败。搜索使用 DuckDuckGo 而不是 Google。
设置:
-
克隆并启动 Firecrawl Docker 堆栈(5 个容器:API、Playwright、Redis、RabbitMQ、PostgreSQL — 需要 ~4-8 GB RAM):
git clone https://github.com/firecrawl/firecrawl
cd firecrawl
# In .env, set: USE_DB_AUTHENTICATION=false, HOST=0.0.0.0, PORT=3002
docker compose up -d -
将 Hermes 指向您的实例(无需 API 密钥):
hermes config set FIRECRAWL_API_URL http://localhost:3002
如果您的自托管实例启用了身份验证,您还可以设置 FIRECRAWL_API_KEY 和 FIRECRAWL_API_URL。
OpenRouter 大模型提供商(provider)路由
使用 OpenRouter 时,您可以控制如何跨大模型提供商(provider)路由请求。将 provider_routing 部分添加到 ~/.hermes/config.yaml:
provider_routing:
sort: "throughput" # "price" (default), "throughput", or "latency"
# only: ["anthropic"] # Only use these providers
# ignore: ["deepinfra"] # Skip these providers
# order: ["anthropic", "google"] # Try providers in this order
# require_parameters: true # Only use providers that support all request params
# data_collection: "deny" # Exclude providers that may store/train on data
快捷方式: 将 :nitro 附加到任何模型名称以进行吞吐量排序(例如 anthropic/claude-sonnet-4:nitro),或将 :floor 附加到价格排序。
后备模型
配置备份大模型提供商(provider):当主模型失败(速率限制、服务器错误、身份验证失败)时 Hermes 自动切换到的模型:
fallback_model:
provider: openrouter # required
model: anthropic/claude-sonnet-4 # required
# base_url: http://localhost:8000/v1 # optional, for custom endpoints
# key_env: MY_CUSTOM_KEY # optional, env var name for custom endpoint API key
激活后,后备功能会在会话中交换模型和大模型提供商(provider),而不会丢失您的对话。每个会话最多触发一次。
支持的大模型提供商(provider):openrouter、nous、openai-codex、copilot、copilot-acp、anthropic、gemini、google-gemini-cli、qwen-oauth、huggingface、zai、kimi-coding、kimi-coding-cn、 minimax、minimax-cn、deepseek、nvidia、xai、ollama-cloud、bedrock、ai-gateway、opencode-zen、opencode-go、kilocode、xiaomi、arcee、 alibaba、custom。
回退仅通过 config.yaml 配置 - 没有环境变量。有关何时触发、支持的大模型提供商(provider)以及它如何与辅助任务和委派交互的完整详细信息,请参阅 Fallback Providers。
另请参阅
- Configuration — 常规配置(目录结构、配置优先级、终端后端、内存、压缩等)
- Environment Variables — 所有环境变量的完整参考