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>
This commit is contained in:
2026-09-05 08:09:46 +02:00
co-authored by Claude Fable 5.1
parent 4b11a869e6
commit 81ab596897
5 changed files with 80 additions and 70 deletions
+16 -26
View File
@@ -1,5 +1,5 @@
{
"_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, weil 4001 im LXC von nginx belegt ist. MODEL_BLOCKLIST zeigt auf die Sperrliste (Host: /srv/llmrouter/model-blocklist.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,
@@ -31,25 +31,29 @@
"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": {
"marvin:low": {
"42i/marvin-2609:low": {
"art": "schwelle",
"index": 25,
"minContext": 256000
},
"marvin:medium": {
"42i/marvin-2609:medium": {
"art": "schwelle",
"index": 45,
"minContext": 256000
},
"marvin:high": {
"42i/marvin-2609:high": {
"art": "schwelle",
"index": 49,
"minContext": 500000
},
"marvin:max": {
"42i/marvin-2609:max": {
"art": "schwelle",
"index": 53,
"minContext": 500000
@@ -59,7 +63,7 @@
"upstream": "openrouter",
"model": "openrouter/free"
},
"marvin-core:none": {
"42i/marvin-2609-core:none": {
"art": "fest",
"upstream": "qwen",
"model": "qwen36:35b",
@@ -69,7 +73,7 @@
}
}
},
"marvin-core:medium": {
"42i/marvin-2609-core:medium": {
"art": "fest",
"upstream": "qwen",
"model": "qwen36:35b",
@@ -120,23 +124,9 @@
"model": "mistralai/mistral-embed-2312"
}
},
"_altnamen_doku": "Übergangs-Aliasse aus der LiteLLM-Zeit, damit kein Container angefasst werden muss. Loggen unter dem NEUEN Namen. Nach und nach abbauen. Stufen 2026-09-05 (Andreas): low=Haiku 4.5, medium=Sonnet 5, high=Opus 5 medium, max=Fable 5.1 medium; none/extra/ultra/mass abgeschafft.",
"altnamen": {
"42i/marvin-2608": "marvin:low",
"42i/marvin-2608:none": "marvin:low",
"42i/marvin-2608:low": "marvin:low",
"42i/marvin-2608:medium": "marvin:medium",
"42i/marvin-2608:high": "marvin:high",
"42i/marvin-2608:extra": "marvin:high",
"42i/marvin-2608:ultra": "marvin:max",
"42i/marvin-2608-auto": "marvin:medium",
"42i/marvin-2608-mass": "marvin:low",
"42i/marvin-2608-mass:none": "marvin:low",
"42i/marvin-2608-mass:medium": "marvin:low",
"42i/marvin-2608-core:none": "marvin-core:none",
"42i/marvin-2608-core:medium": "marvin-core:medium",
"marvin-reasoning": "marvin-core:medium",
"marvin-core": "marvin-core:none"
},
"_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."
"_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."
}
}