Upstream kira-tts (10.6.42.111:8002, KIRA_TTS_KEY) und Alias deizo/kira-tts,
dazu das Recht in allen 12 Schluesseln ergaenzt, die deizo/kira-stt schon
hatten.
Anders als LiteLLM reicht der Router den Audio-Stream durch: Nicht-JSON-
Antworten gehen als Body weiter, statt ausgepuffert zu werden. Gemessen ueber
den Router: erster Ton nach 22 ms gestreamt gegen 5,70 s ungestreamt. Der
LiteLLM-Weg puffert und kommt auf 9,17 s (bekannter Upstream-Bug
BerriAI/litellm#14891).
Inka nutzt darueber jetzt STT und TTS; das LLM blieb vorerst auf dem alten
Weg (Tool-Schema-Grammatik, s. 42i/intern#1201).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- 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>
Weiterleitung an OpenRouters Messages-Endpunkt (x-api-key, anthropic-version,
anthropic-beta), Effort als reasoning.effort, Usage in Anthropic-Form gelesen
(auch im Stream aus message_start/message_delta). Nur openrouter-Ziele; lokale
llama-server sprechen kein Messages-Format. Verifiziert: claude -p über
http://llm.lan:4010 mit alt/anthropic/claude-sonnet-5 -> glm-5.3-flash.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
- 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>
Seit 2026-09-05 06:11 läuft llm.lan über den Router; 2608-Namen und role/*
gehen per Durchreiche an LiteLLM (:4000). Caddyfile-Falle: Datei-Bind-Mount,
mv tauscht den Inode -> podman restart llmlite-caddy statt caddy reload.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
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>
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>
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>
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>