- jean-router interroge /api/presets pour lister dynamiquement les presets Jean
- Support Ollama via /api/tags pour les modèles vision
- Switch automatique de preset quand nécessaire
- Expose /v1/models avec tous les modèles disponibles
- Route les requêtes vers Jean ou Ollama selon le modèle demandé
- Nouveaux presets Jean automatiquement visibles dans OpenWebUI
Architecture:
open-webui → LiteLLM:4000 → jean-router:3014
├→ jean-proxy:3012 → Jean (.11:8080)
└→ wol-proxy:3011 → Ollama (.11:11434)
- All models now route through single jean-proxy:3012 → orchestrator:8080
- Removed jean-proxy-moe (no longer needed with auto-switch orchestrator)
- Added qwen3.6-moe and qwen3.6-moe-reason model routes
- Updated architecture comments
Contrainte VRAM: RX 7800 XT 16Go ne peut pas co-heberger Qwen3.6-27B
(14.6 Go) + llama3.1-8b (5 Go). Ollama commente, on expose 3 profils
du meme modele Qwen3.6 via le toggle chat_template_kwargs.enable_thinking:
- qwen3.6-reason / qwen3.6-27b : raisonnement ON (taches complexes)
- qwen3.6-fast / qwen3.6 : raisonnement OFF (chat rapide ~400ms TTFT)
drop_params=false pour passer chat_template_kwargs a Jean.
Teste en prod: qwen3.6-fast repond BONJOUR en 400ms, MTP 3/3 acceptes.
Architecture (voir docs/ARCHITECTURE-LITELLM.md):
open-webui -> LiteLLM:4000
|- qwen3.6-27b -> jean-proxy:3012 -> Jean (.11:8080)
|- llama3.1-8b -> wol-proxy:3011 -> Ollama (.11:11434)
Nouveaux fichiers:
- wol-proxy/ (versionne l'app.py de prod deja en place)
- jean-proxy/ (clone du wol-proxy avec HEALTH_PATH=/health + retry post-WoL
pour services qui mettent du temps a demarrer apres WoL, ex: Jean qui
charge 14 Go en VRAM)
- litellm/config.yaml (routing par nom de modele, drop_params=true)
- docker-compose.litellm.yml (override ADDITIF: ajoute uniquement jean-proxy
et litellm, ne redemarre PAS open-webui/wol-proxy/hermes)
Teste en prod sur .27: Jean + Ollama repondent via LiteLLM:4000 avec
path-through de chat_template_kwargs.enable_thinking (raisonnement Qwen3.6
desactivable par requete). Zero impact hermes-webui/wol-proxy.
Basculer open-webui reste une etape manuelle (step 3 de la doc).