_config_version: 38 model: default: "qwen-medium" provider: "custom" base_url: "http://router:8081/v1" api_key: "${ROUTER_API_KEY}" context_length: 160000 api_mode: "chat_completions" # Commands run in an isolated, persistent workspace. Host and Unraid changes # use the audited operator/MUA MCPs instead of a Docker socket or host mount. terminal: backend: "local" cwd: "/workspace" timeout: 600 home_mode: "profile" persistent_shell: true lifetime_seconds: 1800 web: search_backend: "searxng" extract_backend: "native" extract_char_limit: 15000 keyless_fallback: true keyless_rescue: true agent: max_turns: 100 gateway_timeout: 3600 session_stall_timeout: 600 tool_loop_guardrails: warnings_enabled: true hard_stop_enabled: true warn_after: exact_failure: 2 same_tool_failure: 3 idempotent_no_progress: 2 hard_stop_after: exact_failure: 5 same_tool_failure: 8 idempotent_no_progress: 5 loop_caps: max_web_searches: 20 max_subagents: 8 # German is the platform default. The display setting localizes the static # messages Hermes currently supports; agent replies are governed by SOUL.md. display: language: "de" # Speech input stays local and private. A fixed German hint avoids Whisper # interpreting short utterances as English while retaining the fast base model. stt: enabled: true provider: "local" language: "de" prompt: "Hermes, Athena, Qwen, OpenWebUI, Unraid, Home Assistant, Sonarr, Radarr, Navidrome" local: model: "base" language: "de" # Reuse Athena's OpenAI-compatible TTS route. It currently serves XTTS v2 with # Annmarie Nele and transparently falls back to Piper when XTTS is unavailable. tts: provider: "openai" speed: 1.0 openai: model: "piper" voice: "alloy" speed: 1.0 base_url: "http://router:8081/v1" voice: auto_tts: true client_direct: false skills: creation_nudge_interval: 20 plugins: enabled: ["web-searxng"] timeouts: tools: concurrent_batch: 900 sequential_call: 900 mcp_servers: athena-platform: url: "http://mcp-platform-context:8000/mcp" timeout: 180 connect_timeout: 30 supports_parallel_tool_calls: false athena-operator: url: "http://mcp-athena-operator:8000/mcp" timeout: 900 connect_timeout: 30 supports_parallel_tool_calls: false web-general: url: "http://tinysearch:8000/mcp" timeout: 180 connect_timeout: 30 supports_parallel_tool_calls: false github: url: "http://mcp-github:8000/mcp" timeout: 300 connect_timeout: 30 supports_parallel_tool_calls: false homeassistant: url: "http://mcp-homeassistant:8000/mcp" timeout: 300 connect_timeout: 30 supports_parallel_tool_calls: false arr: url: "http://mcp-arr:8000/mcp" timeout: 600 connect_timeout: 30 supports_parallel_tool_calls: false navidrome: url: "http://mike-ai-mcp-navidrome:3000/mcp" timeout: 300 connect_timeout: 30 supports_parallel_tool_calls: false unraid: url: "${MUA_MCP_URL}" headers: Authorization: "Bearer ${MUA_MCP_BEARER_TOKEN}" timeout: 900 connect_timeout: 30 supports_parallel_tool_calls: false