260 lines
5.3 KiB
YAML
260 lines
5.3 KiB
YAML
# 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:<name>` | 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 | |