| « Impossible de charger les modèles » dans le chat |
OPENROUTER_API_KEY absente/invalide |
Renseigner la clé dans .env, redémarrer ; tester : curl -H "Authorization: Bearer $KEY" https://openrouter.ai/api/v1/models |
| Le chat répond toujours « Je ne trouve pas une réponse… » |
Ingestion non faite ou vide |
pnpm ingest ; vérifier Admin → Cours & contenu (≈ 2 000 fragments) |
| Première ingestion très lente |
Téléchargement du modèle d'embeddings (~120 Mo) |
Normal une seule fois (cache data/models/) |
mutex lock failed en fin de script |
Nettoyage onnxruntime à la sortie du processus |
Bénin — n'affecte ni le serveur ni les données |
| Erreur 429 « budget atteint » |
Plafonds d'usage |
Admin → Paramètres (budgets) ou attendre le lendemain |
| « Le modèle X n'accepte pas les images » |
Modèle sans vision |
Choisir le préréglage « Meilleur pour les images » |
| Connexion refusée après plusieurs essais |
Rate-limit 8 échecs/15 min |
Attendre le délai indiqué |
| Bannière ambre persistante en haut |
Compte admin d'amorçage encore actif |
Créer un compte personnel puis désactiver admin (et DISABLE_INITIAL_ADMIN=true) |
| Réponses sans citations en mode Cours |
Le modèle ignore la consigne (rare) ou balises invalides neutralisées |
Vérifier Admin → Vue générale (citations invalides) ; changer de modèle ; les balises inventées sont supprimées par conception |
| Port 3070 occupé |
Autre instance |
lsof -i :3070 puis arrêter, ou changer le port dans package.json |
| Base corrompue / à repartir |
— |
Arrêter, restaurer backups/… (ou supprimer data/immbot.db puis pnpm seed && pnpm ingest — les données étudiantes sont alors perdues) |
Type d'erreur SyntaxError … .ts dans les scripts |
Node < 24 |
Utiliser Node ≥ 24 (type stripping natif) |