Files
llmrouter/config.json
T
eltonandClaude Fable 5.1 81ab596897 llmrouter: Namen 42i/marvin-2609:*, Durchreiche unbekannter Namen an LiteLLM
Caddy zeigt llm.lan künftig auf den Router; alles Unbekannte (2608, role/*)
geht unverändert mit dem Client-Key an LiteLLM :4000. Umstellung je Agent =
Modellname, kein base_url-Wechsel (Andreas 2026-09-05). altnamen entfällt,
bis LiteLLM abgeschaltet wird.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-05 08:09:46 +02:00

133 lines
3.8 KiB
JSON

{
"_doku": "Versionierte Quelle des llmrouter. Secrets kommen NUR aus der Umgebung: OPENROUTER_API_KEY, MISTRAL_API_KEY, KIRA_REASONING_KEY, KIRA_STT_KEY, ARTIFICIALANALYSIS_API_KEY, ADMIN_KEY; Client-Keys aus KEYS_FILE (token -> name), Rechte aus key-acls.json (name -> aliasse). Port 4010 (4001 im LXC von nginx belegt); Caddy zeigt llm.lan auf 4010, LiteLLM bleibt auf 4000 und bekommt alles, was hier unbekannt ist (fallback). MODEL_BLOCKLIST zeigt auf die Sperrliste (Host: /srv/llmrouter/model-blocklist.json).",
"port": 4010,
"logDir": "./log",
"refreshHours": 12,
"aaRefreshDays": 7,
"lasttest": true,
"upstreams": {
"openrouter": {
"base": "https://openrouter.ai/api/v1",
"keyEnv": "OPENROUTER_API_KEY"
},
"qwen": {
"base": "http://10.18.5.30:11507/v1",
"maxParallel": 1
},
"voice": {
"base": "http://10.18.5.30:8803/v1"
},
"ollama": {
"base": "http://10.18.5.30:11434/v1"
},
"mistral": {
"base": "https://api.mistral.ai/v1",
"keyEnv": "MISTRAL_API_KEY"
},
"kira-chat": {
"base": "http://10.6.42.111:8000/v1",
"keyEnv": "KIRA_REASONING_KEY"
},
"kira-stt": {
"base": "http://10.6.42.111:8001/v1",
"keyEnv": "KIRA_STT_KEY"
},
"litellm": {
"base": "http://127.0.0.1:4000/v1",
"clientKey": true
}
},
"aliases": {
"42i/marvin-2609:low": {
"art": "schwelle",
"index": 25,
"minContext": 256000
},
"42i/marvin-2609:medium": {
"art": "schwelle",
"index": 45,
"minContext": 256000
},
"42i/marvin-2609:high": {
"art": "schwelle",
"index": 49,
"minContext": 500000
},
"42i/marvin-2609:max": {
"art": "schwelle",
"index": 53,
"minContext": 500000
},
"marvin-free": {
"art": "fest",
"upstream": "openrouter",
"model": "openrouter/free"
},
"42i/marvin-2609-core:none": {
"art": "fest",
"upstream": "qwen",
"model": "qwen36:35b",
"body": {
"chat_template_kwargs": {
"enable_thinking": false
}
}
},
"42i/marvin-2609-core:medium": {
"art": "fest",
"upstream": "qwen",
"model": "qwen36:35b",
"body": {
"chat_template_kwargs": {
"enable_thinking": true
}
}
},
"kira-reasoning": {
"art": "fest",
"upstream": "kira-chat",
"model": "kira-reasoning"
},
"kira-stt": {
"art": "fest",
"upstream": "kira-stt",
"model": "kira-stt"
},
"marvin-tts": {
"art": "fest",
"upstream": "voice",
"model": "tts-1"
},
"marvin-stt": {
"art": "fest",
"upstream": "voice",
"model": "whisper-1"
},
"marvin-tts-turbo": {
"art": "fest",
"upstream": "mistral",
"model": "voxtral-mini-tts-2603"
},
"marvin-stt-turbo": {
"art": "fest",
"upstream": "mistral",
"model": "voxtral-mini-latest"
},
"marvin-embedding": {
"art": "fest",
"upstream": "ollama",
"model": "bge-m3"
},
"marvin-embedding-turbo": {
"art": "fest",
"upstream": "openrouter",
"model": "mistralai/mistral-embed-2312"
}
},
"_stufen_doku": "Stufen als Index-Schwelle (Artificial-Analysis-Intelligence-Index, 0-100) mit Mindestkontext (Andreas 2026-09-05): low 25/256k, medium 45/256k, high 49/500k, max 53/500k. Die Art \"alternative\" mit Referenzmodell (z.B. anthropic/claude-opus-5:medium) bleibt möglich. Namen versioniert wie bei LiteLLM (2608): 42i/marvin-2609:*.",
"fallback": {
"upstream": "litellm",
"_doku": "Unbekannte Modellnamen (z.B. 42i/marvin-2608:*) gehen unverändert mit dem Client-Key an LiteLLM. Umstellung je Agent = Modellname 2608 -> 2609. Fällt weg, wenn LiteLLM abgeschaltet wird; dann kommen die 2608-Namen als altnamen zurück."
}
}