# Complete Config.yaml Examples ## Minimal: OpenRouter + Nous Tool Gateway (Recommended) ```yaml model: default: nvidia/nemotron-3-ultra-550b-a55b:free provider: openrouter base_url: https://openrouter.ai/api/v1 api_mode: chat_completions web: backend: firecrawl search_backend: tavily extract_backend: firecrawl use_gateway: true browser: use_gateway: true tts: provider: openai use_gateway: true stt: provider: openai use_gateway: true ``` --- ## With GitHub PAT Configured ```yaml model: default: nvidia/nemotron-3-ultra-550b-a55b:free provider: openrouter base_url: https://openrouter.ai/api/v1 api_mode: chat_completions web: backend: firecrawl search_backend: tavily extract_backend: firecrawl use_gateway: true browser: use_gateway: true tts: provider: openai use_gateway: true stt: provider: openai use_gateway: true github: token: ghp_xxxxxxxxxxxxxxxxxxxx ``` --- ## Mixed: Gateway for Web/Browser, Direct Keys for TTS/STT ```yaml model: default: anthropic/claude-sonnet-4.6 provider: openrouter base_url: https://openrouter.ai/api/v1 api_mode: chat_completions web: backend: firecrawl search_backend: tavily extract_backend: firecrawl use_gateway: true browser: use_gateway: true tts: provider: elevenlabs elevenlabs: voice_id: pNInz6obpgDQGcFmaJgB model_id: eleven_multilingual_v2 use_gateway: false stt: provider: openai openai: model: whisper-1 use_gateway: false ``` --- ## Local-First (No Gateway, Direct Keys) ```yaml model: default: nvidia/nemotron-3-ultra-550b-a55b:free provider: openrouter base_url: https://openrouter.ai/api/v1 api_mode: chat_completions web: backend: firecrawl search_backend: tavily extract_backend: firecrawl use_gateway: false # Requires FIRECRAWL_API_KEY and TAVILY_API_KEY in .env browser: engine: auto use_gateway: false # Requires BROWSER_USE_API_KEY or BROWSERBASE_API_KEY in .env tts: provider: edge edge: voice: en-US-AriaNeural use_gateway: false stt: provider: local local: model: base use_gateway: false ``` --- ## With Fallback Providers ```yaml model: default: nvidia/nemotron-3-ultra-550b-a55b:free provider: openrouter base_url: https://openrouter.ai/api/v1 api_mode: chat_completions fallback_providers: - provider: nous model: anthropic/claude-sonnet-4.6 - provider: openrouter model: google/gemini-3-pro-preview web: backend: firecrawl search_backend: tavily extract_backend: firecrawl use_gateway: true browser: use_gateway: true tts: provider: openai use_gateway: true stt: provider: openai use_gateway: true ``` --- ## Key Environment Variables (.env) ```bash # Required for OpenRouter OPENROUTER_API_KEY=sk-or-v1-xxxxxxxxxxxxxxxxxxxx # Required for direct Firecrawl/Tavily (if use_gateway: false) FIRECRAWL_API_KEY=fc-xxxxxxxxxxxxxxxxxxxx TAVILY_API_KEY=tvly-xxxxxxxxxxxxxxxxxxxx # Required for direct Browser Use (if use_gateway: false) BROWSER_USE_API_KEY=bu-xxxxxxxxxxxxxxxxxxxx # OR BROWSERBASE_API_KEY=bb-xxxxxxxxxxxxxxxxxxxx # Required for direct ElevenLabs TTS (if use_gateway: false + provider: elevenlabs) ELEVENLABS_API_KEY=sk-xxxxxxxxxxxxxxxxxxxx # Required for direct OpenAI TTS/STT (if use_gateway: false + provider: openai) OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxx # Telegram (if configured) TELEGRAM_BOT_TOKEN=123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZ TELEGRAM_CHAT_ID=123456789 ``` --- ## Setting Config via CLI (No Manual Editing) ```bash # Model hermes config set model.provider openrouter hermes config set model.default "nvidia/nemotron-3-ultra-550b-a55b:free" # Web tools via gateway hermes config set web.backend firecrawl hermes config set web.search_backend tavily hermes config set web.extract_backend firecrawl hermes config set web.use_gateway true # Browser via gateway hermes config set browser.use_gateway true # TTS via gateway hermes config set tts.provider openai hermes config set tts.use_gateway true # STT via gateway hermes config set stt.provider openai hermes config set stt.use_gateway true # GitHub token hermes config set github.token ghp_xxxxxxxxxxxxxxxxxxxx ``` --- ## Verification Commands ```bash # Full status hermes status # Portal auth + gateway routing hermes portal info # Per-tool gateway catalog hermes portal tools # Doctor check hermes doctor ``` --- ## Common Config Keys Reference | Key | Values | Description | |-----|--------|-------------| | `model.provider` | `openrouter`, `nous`, `openai`, `anthropic`, `custom:` | Primary inference provider | | `model.default` | Model ID string | Default model for chat | | `web.backend` | `firecrawl`, `tavily`, `exa`, `parallel`, `ddgs`, `brave`, `xai` | Web tool backend | | `web.search_backend` | Same as above | Search-specific backend | | `web.extract_backend` | `firecrawl`, `tavily`, `exa`, `parallel` | Extract-specific backend | | `web.use_gateway` | `true`, `false` | Route via Nous Tool Gateway | | `browser.use_gateway` | `true`, `false` | Route browser via Nous | | `tts.provider` | `openai`, `elevenlabs`, `edge`, `gemini`, `xai`, `mistral`, `neutts`, `piper` | TTS provider | | `tts.use_gateway` | `true`, `false` | Route TTS via Nous | | `stt.provider` | `openai`, `local`, `mistral`, `elevenlabs` | STT provider | | `stt.use_gateway` | `true`, `false` | Route STT via Nous | | `github.token` | `ghp_...` | GitHub PAT for gh CLI integration |