166 lines
4.2 KiB
YAML
166 lines
4.2 KiB
YAML
_config_version: 38
|
|
|
|
model:
|
|
default: "qwen-medium"
|
|
provider: "custom:router"
|
|
base_url: "http://router:8081/v1"
|
|
api_key: "${ROUTER_API_KEY}"
|
|
context_length: 160000
|
|
api_mode: "chat_completions"
|
|
|
|
# A named provider is required by current Hermes releases. A bare `custom`
|
|
# endpoint is canonicalized to a host-derived identity and can lose its key
|
|
# association in resumed sessions. The stable identity below always resolves
|
|
# its credential from the container environment.
|
|
providers:
|
|
router:
|
|
name: "Athena Profile Router"
|
|
api: "http://router:8081/v1"
|
|
key_env: "ROUTER_API_KEY"
|
|
transport: "chat_completions"
|
|
default_model: "qwen-medium"
|
|
discover_models: true
|
|
|
|
# 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: 500
|
|
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
|
|
|
|
# Compact before a tool-heavy session can grow beyond the selected model's
|
|
# usable window. Large old tool results are pruned without an LLM call first;
|
|
# lean tail retention avoids several expensive back-to-back summary passes.
|
|
compression:
|
|
enabled: true
|
|
progress_notices: true
|
|
threshold: 0.65
|
|
target_ratio: 0.15
|
|
tail_mode: "lean"
|
|
protect_last_n: 20
|
|
proactive_prune_tokens: 50000
|
|
proactive_prune_min_result_chars: 4000
|
|
proactive_prune_min_reclaim_tokens: 4096
|
|
context_total_ceiling_seconds: 600
|
|
|
|
auxiliary:
|
|
compression:
|
|
provider: "main"
|
|
model: ""
|
|
reasoning_effort: "none"
|
|
|
|
# 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
|