II.
Page JSON
Structured · livepage:docs-hermes-research-raw-providers
AI Providers Configuration Guide json
Inspect the normalized record payload exactly as the atlas UI reads it.
{
"id": "page:docs-hermes-research-raw-providers",
"_kind": "Page",
"_file": "wiki/docs/hermes-research/raw/providers.md",
"_cluster": "wiki",
"attributes": {
"nodeKind": "Page",
"sourcePath": "docs/hermes-research/raw/providers.md",
"sourceKind": "repo-docs",
"title": "AI Providers Configuration Guide",
"displayName": "AI Providers Configuration Guide",
"slug": "docs/hermes-research/raw/providers",
"articlePath": "wiki/docs/hermes-research/raw/providers.md",
"article": "\n# AI Providers Configuration Guide\n\n> Source: https://hermes-agent.nousresearch.com/docs/integrations/providers\n\n## Overview\n\nHermes Agent supports 50+ inference providers, from cloud APIs to self-hosted solutions. You need at least one configured provider to use the system.\n\n## Cloud & API Providers\n\n### Nous Portal (Recommended)\n\"One OAuth login covers 300+ frontier agentic models (Claude, GPT, Gemini, DeepSeek, Qwen, Kimi, GLM, MiniMax, Grok, ...)\" plus integrated tools and billing through a unified subscription.\n\n**Setup:** `hermes setup --portal` or `hermes model` -> select Nous Portal\n\n### Anthropic (Native Claude)\nThree authentication methods for Claude models:\n- OAuth via `hermes model` (requires Claude Max + extra usage credits)\n- API key: `ANTHROPIC_API_KEY` environment variable (pay-per-token)\n- Setup token (legacy fallback)\n\n**Usage:** `hermes chat --provider anthropic --model claude-sonnet-4-6`\n\n### GitHub Copilot\nAccesses GPT-5.x, Claude, Gemini through Copilot subscription.\n\n**Auth priority:** `COPILOT_GITHUB_TOKEN` -> `GH_TOKEN` -> `GITHUB_TOKEN` -> `gh auth token`\n\n**Token types:** OAuth tokens (gho_*), fine-grained PATs (github_pat_*), GitHub App tokens (ghu_*)\n\n### OpenRouter\nMulti-provider marketplace with cost optimization and routing strategies.\n\n**Configuration:** `OPENROUTER_API_KEY` in `~/.hermes/.env`\n\n**Routing options:**\n- Sort by price, throughput, or latency\n- Provider inclusion/exclusion lists\n- Pareto Code Router for automated model selection\n\n### Major API Providers (First-Class Support)\n\n| Provider | Auth | Command |\n|----------|------|---------|\n| NovitaAI | `NOVITA_API_KEY` | `hermes chat --provider novita --model moonshotai/kimi-k2.5` |\n| Qwen/GLM (z.ai) | `GLM_API_KEY` | `--provider zai` |\n| Kimi/Moonshot | `KIMI_API_KEY` | `--provider kimi-coding` |\n| MiniMax | `MINIMAX_API_KEY` | `--provider minimax` |\n| DeepSeek | `DEEPSEEK_API_KEY` | `--provider deepseek` |\n| NVIDIA NIM | `NVIDIA_API_KEY` | `--provider nvidia` |\n| Google Gemini | `GOOGLE_API_KEY` or OAuth | `--provider gemini` |\n| AWS Bedrock | AWS credentials | `--provider bedrock` |\n| Hugging Face | `HF_TOKEN` | `--provider huggingface` |\n| xAI Grok | `XAI_API_KEY` or OAuth | `--provider xai` |\n\n## Self-Hosted & Local Solutions\n\n### Ollama\nZero-configuration local model runner.\n\n\"Ollama defaults to very low context lengths\" -- must be configured to support Hermes' minimum 64,000-token requirement.\n\n**Context setup:**\n```bash\nOLLAMA_CONTEXT_LENGTH=64000 ollama serve\n```\n\n**Hermes config:**\n```yaml\nmodel:\n default: qwen2.5-coder:32b\n provider: custom\n base_url: http://localhost:11434/v1\n context_length: 64000\n```\n\n### vLLM (GPU Inference)\nProduction-grade serving with continuous batching.\n\n**Tool calling requires:**\n- `--enable-auto-tool-choice`\n- `--tool-call-parser` (hermes, llama3_json, mistral, deepseek_v3, etc.)\n\n### SGLang\nFast serving with RadixAttention for prefix caching.\n\n**Setup:**\n```bash\npython -m sglang.launch_server \\\n --model meta-llama/Llama-3.1-70B-Instruct \\\n --tool-call-parser qwen\n```\n\n### llama.cpp\nCPU/Metal inference for quantized models.\n\n**Critical:** `--jinja` flag required for tool calling support\n\n### LM Studio\nDesktop application with GUI and local model support.\n\n\"Tool calling supported since LM Studio 0.3.6\" with auto-detection for native-capable models.\n\n## Custom Endpoints\n\nConfigure any OpenAI-compatible API:\n\n```yaml\nmodel:\n provider: custom\n base_url: http://localhost:8000/v1\n api_key: optional\n default: model-name\n```\n\n**For multiple custom endpoints (named providers):**\n```yaml\ncustom_providers:\n - name: local\n base_url: http://localhost:8080/v1\n - name: work\n base_url: https://gpu-server.internal/v1\n key_env: CORP_API_KEY\n```\n\nSwitch via: `/model custom:local:qwen-2.5`\n\n### Popular Compatible Services\n- Together AI (`api.together.xyz/v1`)\n- Groq (`api.groq.com/openai/v1`)\n- Perplexity (`api.perplexity.ai`)\n- Mistral AI (`api.mistral.ai/v1`)\n- Cerebras (`api.cerebras.ai/v1`)\n\n## Context Length Configuration\n\n**Critical distinction:**\n- `context_length`: Total conversation + output budget (e.g., 200,000 tokens)\n- `model.max_tokens`: Single response output cap only\n\n\"Hermes uses a multi-source resolution chain\" including config overrides, endpoint queries, provider APIs, and community registries (models.dev) to detect correct windows automatically.\n\nExplicit setting in config:\n```yaml\nmodel:\n context_length: 131072\n```\n\n## Windows WSL2 Setup\n\nTwo networking modes:\n1. **Mirrored mode (Windows 11 22H2+):** Add `networkingMode=mirrored` to `%USERPROFILE%\\.wslconfig`\n2. **NAT mode:** Use Windows host IP (e.g., `172.29.192.1:11434`) instead of localhost\n\nServer bind requirement for NAT: Models must listen on `0.0.0.0`, not `127.0.0.1`.\n\n## Provider Switching\n\n**Two commands with different purposes:**\n- `hermes model` -- Terminal, outside session; full setup wizard for new providers\n- `/model` -- Inside active session; switches between already-configured providers only\n\n## Fallback Providers\n\nConfigure backup chain when primary provider fails:\n\n```yaml\nfallback_providers:\n - provider: openrouter\n model: anthropic/claude-sonnet-4\n - provider: anthropic\n model: claude-sonnet-4\n```\n\nSupported fallback providers: openrouter, nous, novita, copilot, anthropic, gemini, bedrock, azure-foundry, custom, and others.\n\n## Optional Tools & Services\n\n| Feature | Service | Env Variable |\n|---------|---------|--------------|\n| Web scraping | Firecrawl | `FIRECRAWL_API_KEY` |\n| Browser automation | Browserbase | `BROWSERBASE_API_KEY` |\n| Image generation | FAL | `FAL_KEY` |\n| Premium TTS | ElevenLabs | `ELEVENLABS_API_KEY` |\n| OpenAI TTS | OpenAI | `VOICE_TOOLS_OPENAI_KEY` |\n| Long-term memory | Supermemory | `SUPERMEMORY_API_KEY` |\n\n---\n\n*Hermes Agent automatically detects model capabilities and context windows across all providers. Configuration is persistent through `~/.hermes/config.yaml`.*\n",
"documents": []
},
"outgoingEdges": [],
"incomingEdges": [
{
"from": "page:docs-hermes-research",
"to": "page:docs-hermes-research-raw-providers",
"kind": "contains_page"
}
]
}