15 Commits
Author SHA1 Message Date
elton 000b244541 Doku: Einstiegs-README, technische Referenz, Betriebsstand
README als Einstieg mit Docker-Schnellstart; die bisherige README lebt als
docs/referenz.md weiter, der Betriebsstand ist aus info nach docs/betrieb.md
portiert.
2026-09-08 09:48:13 +02:00
elton 77c29266c9 llmrouter-README: Namensraum auto/ und die Rollen-Vorbelegung nachgezogen 2026-09-07 13:24:24 +02:00
eltonandClaude Fable 5.1 eb1dcdd28e llmrouter: marvin-stt-turbo -> mistralai/voxtral-small-24b-2507-stt über OpenRouter
STT-Vergleich 2026-09-06 (Studio + simulierte Telefonstrecke) dokumentiert;
Whisper verliert am Telefon Zahlenstellen, Voxtral Small nicht (Andreas).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-06 08:28:19 +02:00
eltonandClaude Fable 5.1 bf5d3a179c llmrouter: marvin-tts-turbo Stimme ara (Andreas, Hörtest 2026-09-06)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-06 08:28:19 +02:00
eltonandClaude Fable 5.1 3014d1cadf llmrouter: marvin-tts-turbo -> x-ai/grok-voice-tts-1.0 (Stimme eve), Hörtest-Befunde dokumentiert
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-06 08:28:19 +02:00
eltonandClaude Fable 5.1 dfc85a4829 llmrouter: Sprechtext-Normalisierung vor TTS — Postleitzahl als Ziffernfolge mit Pause
"Bergstraße 7, 83646 Bad Tölz" -> "Bergstraße 7; Postleitzahl 8 3 6 4 6, Bad Tölz"
(Andreas 2026-09-06, Variante 4 nach Hörtest mit Fish S2 Pro). Betraege, Daten,
Einheiten und Bindestrich-Nummern bleiben unberuehrt; 10 Tests.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-06 08:28:19 +02:00
eltonandClaude Fable 5.1 dcdfb1bc9e llmrouter README: die vier Wege ins Log (stats, zuordnung, jsonl/changes/sqlite, Journal)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-05 16:23:26 +02:00
eltonandClaude Fable 5.1 91e68d9ea9 llmrouter: Claude Code/Desktop — nackte claude-IDs -> alt/anthropic/<id>[:effort]
- anthropicModus (alt|openrouter), Normalisierung der IDs (Datum, [1m], Punkte),
  Client-Effort aus output_config.effort als Stufe, HEAD /api/hello -> 200
- Auswahl: nicht gemessene Stufe faellt auf die naechste gemessene darunter
  (sonst darueber, sonst Modellzahl) -- Sonnet 5 hat nur max/none
- /models: alt/ nur bei bestimmbarer Klasse; opencode-normalize nimmt
  openrouter/+alt/ genau dann (GLM 5.3 Flash war weggefallen)
- README: Abschnitt Claude Code und Claude Desktop
Verifiziert per claude -p mit claude-sonnet-5, claude-opus-5, claude-haiku-4-5-20251001.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-05 16:23:26 +02:00
eltonandClaude Fable 5.1 9d0bd7e1a3 llmrouter: TTS/STT/Embedding/free als 42i/marvin-*
Alte Namen ohne Präfix laufen über die Durchreiche bei LiteLLM weiter (Andreas 2026-09-05).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-05 09:47:22 +02:00
eltonandClaude Fable 5.1 1d145b6259 llmrouter: Kira-Modelle als deizo/kira-reasoning, deizo/kira-stt
Alte Namen kira-* laufen über die Durchreiche weiter bei LiteLLM (Andreas 2026-09-05).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-05 09:47:22 +02:00
eltonandClaude Fable 5.1 34d6c08a3d llmrouter: Namensräume openrouter/, alt/, role/; Klasse über drei Indexe relativ
- openrouter/<id>[:effort] 1:1, alt/<id>[:effort] günstigste Alternative auf
  Abruf (ohne Last-Probe, im Takt erneuert), role/<name> aus config.rollen
- Klasse: Intelligence, Coding, Agentic je >= 95 % der Referenz (relativ statt
  3 Punkte), Kontext >= 90 %, billiger; Kandidaten auch ohne OpenRouter-Index,
  wenn AA Stufen kennt (OpenRouter führt Intelligence nur für 53 Modelle)
- ACL-Muster mit *, /models mit allen Konto-Modellen je Namensraum und Stufe
- Rollen aus der LiteLLM-Zeit übernommen (Führung high, Rest medium)
Andreas 2026-09-05.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-05 09:47:22 +02:00
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
eltonandClaude Fable 5.1 3b9ad85825 llmrouter: Alias-Art schwelle (Index + Mindestkontext), Stufen 25/40/47/50
billigsterUeberSchwelle in openrouter-auswahl, gemeinsamer klasseFiltern
mit dem Referenzmodus. Stufen jetzt als Schwelle: low 25/256k, medium
40/256k, high 47/500k, max 50/500k (Andreas 2026-09-05).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-05 07:27:34 +02:00
eltonandClaude Fable 5.1 d8cc9b5dbb 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>
2026-09-05 07:18:31 +02:00
eltonandClaude Fable 5.1 7897fa9651 llmrouter: leichtgewichtiger Gateway-Ersatz mit Alternativ-Auflösung
OpenAI-kompatibler Reverse-Proxy in Bun: Client-Key -> ACL, Alias ->
Modell (alternative: günstigstes Modell derselben Klasse über
llmlite/openrouter-auswahl inkl. Effort-Achse; fest: lokale Upstreams,
TTS/STT, Embeddings), Usage/Kosten aus der OpenRouter-Antwort (auch im
Stream), JSONL + SQLite-Log, Tagesstatistik je Key. Altnamen der
LiteLLM-Zeit werden übersetzt. Kein 3456/stdcmpt, kein role/*, kein -auto
(Andreas 2026-09-05). Lokal verifiziert: Chat, Stream, ACL, Altname,
Kosten im Log. Parallelbetrieb auf :4001 geplant.

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