{ "_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, "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" }, "kira-stt": { "base": "http://10.6.42.111:8001/v1" } }, "aliases": { "marvin:none": { "art": "alternative", "referenz": "openai/gpt-5.6-luna:none" }, "marvin:low": { "art": "alternative", "referenz": "openai/gpt-5.6-luna:low" }, "marvin:medium": { "art": "alternative", "referenz": "openai/gpt-5.6-luna:medium" }, "marvin:high": { "art": "alternative", "referenz": "openai/gpt-5.6-luna:high" }, "marvin:extra": { "art": "alternative", "referenz": "anthropic/claude-opus-5:medium" }, "marvin:ultra": { "art": "alternative", "referenz": "anthropic/claude-fable-5.1:medium" }, "marvin-mass": { "art": "alternative", "referenz": "inclusionai/ling-3.0-flash" }, "marvin-free": { "art": "fest", "upstream": "openrouter", "model": "openrouter/free" }, "marvin-core:none": { "art": "fest", "upstream": "qwen", "model": "qwen36:35b", "body": { "chat_template_kwargs": { "enable_thinking": false } } }, "marvin-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" } }, "_altnamen_doku": "Übergangs-Aliasse aus der LiteLLM-Zeit, damit kein Container angefasst werden muss. Loggen unter dem NEUEN Namen. Nach und nach abbauen.", "altnamen": { "42i/marvin-2608": "marvin:low", "42i/marvin-2608:none": "marvin:none", "42i/marvin-2608:low": "marvin:low", "42i/marvin-2608:medium": "marvin:medium", "42i/marvin-2608:high": "marvin:high", "42i/marvin-2608:extra": "marvin:extra", "42i/marvin-2608:ultra": "marvin:ultra", "42i/marvin-2608-auto": "marvin:medium", "42i/marvin-2608-mass": "marvin-mass", "42i/marvin-2608-mass:none": "marvin-mass", "42i/marvin-2608-mass:medium": "marvin-mass", "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" } }