llmrouter: Deploy-Stand — Port 4010, Kira-Keys, MODEL_BLOCKLIST, max auf fable-5.1:high

Läuft seit 2026-09-05 als systemd-Unit llmrouter im LXC 185020 unter
/srv/llmrouter, parallel zu LiteLLM (:4000). 4001 war von nginx belegt.
Admin-Key in OpenBao jessie/llmrouter. Token für inka-mx, nightjob, lab-xo,
team-copilot fehlen (nur Hash in LiteLLM).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
2026-09-05 07:18:31 +02:00
co-authored by Claude Fable 5.1
parent 804383d157
commit d8cc9b5dbb
2 changed files with 10 additions and 8 deletions
+3 -3
View File
@@ -65,7 +65,7 @@ keine Kosten, das Feld bleibt leer, wir erfinden keine Preise.
```bash
bun run src/stats.ts 7 # Tag × Key: Anfragen, Tokens, Kosten, Modelle
curl -H "Authorization: Bearer $ADMIN_KEY" http://llm.lan:4001/stats?days=7
curl -H "Authorization: Bearer $ADMIN_KEY" http://llm.lan:4010/stats?days=7
```
Die Antwort trägt `x-llmrouter-model`, damit ein Client sieht, was wirklich lief.
@@ -73,11 +73,11 @@ Die Antwort trägt `x-llmrouter-model`, damit ein Client sieht, was wirklich lie
## Betrieb
```bash
PORT=4001 KEYS_FILE=/srv/llmrouter/keys.json ADMIN_KEY=OPENROUTER_API_KEY=… bun run src/server.ts
PORT=4010 KEYS_FILE=/srv/llmrouter/keys.json ADMIN_KEY=OPENROUTER_API_KEY=… bun run src/server.ts
bun run build # dist/llmrouter, ein statisches Linux-Binary
```
Parallelbetrieb neben LiteLLM (Port 4000) im LXC 185020 auf Port 4001; die
Parallelbetrieb neben LiteLLM (Port 4000) im LXC 185020 auf Port 4010; die
Umschaltung ist ein Wechsel der `base_url` in den Client-Configs.
Bedient: `/v1/chat/completions`, `/v1/completions`, `/v1/responses`,
+7 -5
View File
@@ -1,6 +1,6 @@
{
"_doku": "Versionierte Quelle des llmrouter. Secrets kommen NUR aus der Umgebung: OPENROUTER_API_KEY, MISTRAL_API_KEY, ADMIN_KEY; Client-Keys aus KEYS_FILE (token -> name), Rechte aus key-acls.json (name -> aliasse).",
"port": 4001,
"_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).",
"port": 4010,
"logDir": "./log",
"refreshHours": 12,
"aaRefreshDays": 7,
@@ -25,10 +25,12 @@
"keyEnv": "MISTRAL_API_KEY"
},
"kira-chat": {
"base": "http://10.6.42.111:8000/v1"
"base": "http://10.6.42.111:8000/v1",
"keyEnv": "KIRA_REASONING_KEY"
},
"kira-stt": {
"base": "http://10.6.42.111:8001/v1"
"base": "http://10.6.42.111:8001/v1",
"keyEnv": "KIRA_STT_KEY"
}
},
"aliases": {
@@ -46,7 +48,7 @@
},
"marvin:max": {
"art": "alternative",
"referenz": "anthropic/claude-fable-5.1:medium"
"referenz": "anthropic/claude-fable-5.1:high"
},
"marvin-free": {
"art": "fest",