Free Provider Rankings (Arena ELO) (Français)
Présentation
Section intitulée « Présentation »OmniRoute enregistre 329 fournisseurs, dont 155 entrées du catalogue marquées comme gratuites/sans authentification (sans authentification, OAuth avec offre gratuite ou clé API avec offre gratuite — consultez le Guide des offres gratuites et le répertoire complet des offres gratuites). Le problème : la qualité des modèles varie énormément entre les fournisseurs gratuits. Un fournisseur sans authentification proposant un modèle de pointe est bien plus utile qu’un fournisseur proposant un petit modèle obsolète.
Le Classement des fournisseurs gratuits répond à la question « quel fournisseur gratuit me donne accès au meilleur modèle ? » en associant le catalogue de chaque fournisseur gratuit à des scores de qualité participatifs provenant du classement Arena AI (ELO basé sur les préférences humaines, selon le même principe que l’arène de chatbots LMArena). Les fournisseurs sont ensuite classés selon les performances de leur meilleur modèle gratuit.
Le classement est calculé à partir de trois sources réelles :
- Les listes de fournisseurs gratuits —
NOAUTH_PROVIDERS, ainsi que les entréesOAUTH_PROVIDERS/APIKEY_PROVIDERSmarquéeshasFree(src/shared/constants/providers.ts). - Le catalogue de modèles de chaque fournisseur, provenant du registre des fournisseurs
(
open-sse/config/providerRegistry.ts). - Les scores d’adéquation aux tâches dérivés de l’ELO, stockés dans la table de base de données
model_intelligencepar le moteur de synchronisation ELO d’Arena (src/lib/arenaEloSync.ts).
La logique de jointure se trouve dans src/lib/freeProviderRankings.ts.
Page du tableau de bord
Section intitulée « Page du tableau de bord »Ouvrez le tableau de bord et accédez à Coûts → Classement des fournisseurs gratuits, ou rendez-vous directement à l’adresse suivante :
/dashboard/free-provider-rankingsLa page (src/app/(dashboard)/dashboard/free-provider-rankings/page.tsx) affiche :
- Un podium des trois premiers (🥇 🥈 🥉) fournisseurs gratuits les mieux classés.
- Un tableau de classement complet avec les colonnes : Rang, Fournisseur, Meilleur modèle, Score, Score moyen, Modèles, Type.
- Des boutons de filtrage par catégorie : Toutes les catégories, Par défaut, Codage, Révision, Documentation, Débogage.
Le badge Type de chaque fournisseur indique de quelle manière son offre est gratuite :
| Badge | Signification |
|---|---|
NOAUTH |
Toujours gratuit, aucun identifiant requis |
OAUTH |
Fournisseur OAuth disposant d’une offre gratuite (hasFree) |
APIKEY |
Fournisseur par clé API disposant d’une offre gratuite (hasFree) |
Les scores sont affichés sous forme de libellés lisibles (par exemple Élite, Excellent, Très bon, Bon, Moyen) plutôt que sous forme de nombres bruts, car la valeur sous-jacente représente une qualité relative de classement, et non un pourcentage.
Point de terminaison de l’API
Section intitulée « Point de terminaison de l’API »La page s’appuie sur un point de terminaison public en lecture seule
(src/app/api/free-provider-rankings/route.ts) :
GET /api/free-provider-rankingsGET /api/free-provider-rankings?category=codingGET /api/free-provider-rankings?category=coding&limit=20Paramètres de requête (validés avec Zod) :
| Paramètre | Type | Valeur par défaut | Remarques |
|---|---|---|---|
category |
string | (aucune) | Une valeur parmi default, coding, review, documentation, debugging. À omettre pour le classement combiné. |
limit |
number | 50 |
Limité à la plage 1–100. |
Structure de la réponse :
{ "rankings": [ { "id": "<provider-id>", "name": "<provider name>", "icon": "<icon>", "color": "<hex color>", "textIcon": "<short label>", "category": "noauth | oauth | apikey", "topModel": { "modelId": "<registry model id>", "modelName": "<model display name>", "score": 0.0, "eloRaw": 0, "confidence": "high | medium | low", "category": "<task category>" }, "averageScore": 0.0, "modelCount": 0 } ]}eloRaw correspond à la valeur ELO Arena d’origine ; score est la valeur normalisée d’adéquation à la tâche
(voir ci-dessous). Les fournisseurs ne disposant d’aucun modèle évalué sont exclus de la réponse.
Fonctionnement des scores
Section intitulée « Fonctionnement des scores »Source : classement Arena AI
Section intitulée « Source : classement Arena AI »Le moteur de synchronisation ELO d’Arena (src/lib/arenaEloSync.ts) récupère deux classements — text
et code — depuis l’API du classement Arena AI
(https://api.wulong.dev/arena-ai-leaderboards/v1/leaderboard). Chaque entrée du classement
comprend un nom de modèle, un fournisseur, un score ELO, un intervalle de confiance et un nombre de votes.
Les catégories du classement correspondent aux catégories de tâches OmniRoute :
| Classement Arena | Catégories de tâches OmniRoute |
|---|---|
text |
default, review, documentation, debugging |
code |
coding |
Normalisation (score d’adéquation à la tâche)
Section intitulée « Normalisation (score d’adéquation à la tâche) »Les scores ELO bruts sont normalisés par classement en une valeur d’adéquation à la tâche comprise dans [0.4, 0.98] :
taskFit = 0.4 + 0.58 * ((elo - minElo) / (maxElo - minElo))Le score n’atteint jamais 0 ni 1, ce qui laisse une marge pour les remplacements définis par l’utilisateur. Il s’agit du
champ score visible dans la réponse de l’API et du libellé affiché dans le tableau de bord.
Confiance
Section intitulée « Confiance »Chaque entrée reçoit un niveau de confiance basé sur le nombre de votes Arena :
| Confiance | Votes |
|---|---|
high |
≥ 5 000 |
medium |
≥ 1 000 |
low |
< 1 000 |
Stockage et fraîcheur
Section intitulée « Stockage et fraîcheur »Les entrées normalisées sont écrites dans la table de base de données model_intelligence avec
source = "arena_elo" (src/lib/db/modelIntelligence.ts). Les entrées expirent après
7 jours. Ainsi, un fournisseur qui cesse de se synchroniser finit par disparaître au lieu de fournir
des données obsolètes.
La synchronisation est activée par défaut :
- Elle s’exécute une fois au démarrage du serveur, puis selon une minuterie périodique
(
src/lib/arenaEloSync.ts, configurée depuissrc/instrumentation-node.ts). - Elle est non bloquante et jamais fatale : si la récupération en amont échoue, OmniRoute continue de fonctionner et les classements affichent simplement les dernières données valides (ou un état vide).
Deux variables d’environnement permettent de la contrôler (documentées dans
docs/reference/ENVIRONMENT.md) :
| Variable | Valeur par défaut | Fonction |
|---|---|---|
ARENA_ELO_SYNC_ENABLED |
true |
Définissez-la sur false pour désactiver la synchronisation sortante. |
ARENA_ELO_SYNC_INTERVAL |
86400 (24 h) |
Intervalle de synchronisation, en secondes. |
Synchronisation manuelle / état / effacement
Section intitulée « Synchronisation manuelle / état / effacement »Pour les opérateurs, un point de terminaison de gestion authentifié permet un contrôle manuel
(src/app/api/intelligence/sync/route.ts — nécessite une authentification de gestion) :
GET /api/intelligence/sync # état actuel de la synchronisation (enabled, lastSync, nextSync, intervalMs)POST /api/intelligence/sync # déclencher une synchronisation manuelle ; corps : { "dryRun": true } pour prévisualiser sans écrireDELETE /api/intelligence/sync # effacer toutes les entrées de renseignements arena_elo synchroniséesSi la page des classements est vide, une requête manuelle POST /api/intelligence/sync (ou simplement
un redémarrage du serveur) la remplit à nouveau.
Correspondance des modèles avec le classement
Section intitulée « Correspondance des modèles avec le classement »Les identifiants de modèles du registre et les noms de modèles Arena ne correspondent pas toujours exactement. Le classement utilise
une correspondance flexible (findMatchingIntelligence dans src/lib/freeProviderRankings.ts) :
- Correspondance exacte avec l’identifiant normalisé du modèle.
- Correspondance après suppression d’un suffixe de version final (par exemple,
kimi-k2.6→kimi-k2). - Correspondance par préfixe (un nom de modèle du classement est un préfixe de l’identifiant du registre).
Côté synchronisation, les préfixes de fournisseurs connus (anthropic/, openai/, google/, …) sont
supprimés et une petite table d’alias développe les noms canoniques en variantes utilisées par OmniRoute
en interne, afin que les modèles restent accessibles sous n’importe quel nom.
Classement d’un fournisseur
Section intitulée « Classement d’un fournisseur »Pour chaque fournisseur gratuit, le moteur évalue tous les modèles de son catalogue, puis :
- Meilleur modèle = le modèle du fournisseur ayant obtenu le score le plus élevé.
- Score moyen = la moyenne des scores de tous les modèles évalués de ce fournisseur.
- Modèles = le nombre de modèles du fournisseur disposant d’un score Arena.
Les fournisseurs sont d’abord triés par score du meilleur modèle, puis par score moyen. Cela favorise un fournisseur qui propose au moins un modèle gratuit performant.
Utiliser ces données pour choisir des fournisseurs gratuits
Section intitulée « Utiliser ces données pour choisir des fournisseurs gratuits »- Choisissez la bonne catégorie. Utilisez le filtre Coding pour les charges de travail agentiques ou liées au code, ou laissez All Categories / Default pour les conversations générales. Un même fournisseur peut être classé différemment selon les catégories, car son meilleur modèle varie d’un classement à l’autre.
- Privilégiez le podium pour les configurations simples. Si vous souhaitez uniquement connecter un ou deux fournisseurs gratuits, commencez par les mieux classés dans votre catégorie.
- Vérifiez le badge Type. Les fournisseurs
NOAUTHsont les plus rapides à connecter (aucun identifiant requis). Les offres gratuitesOAUTH/APIKEYnécessitent une inscription rapide, mais donnent souvent accès à des modèles plus performants. Consultez le Guide des offres gratuites pour connaître les étapes de connexion. - Connectez-en plusieurs et laissez Auto-Combo décider. Les mêmes données Arena ELO qui alimentent
cette page servent également au facteur d’adéquation à la tâche du moteur de notation Auto-Combo
(
open-sse/services/autoCombo/taskFitness.ts, ordre de résolution :user_override → arena_elo → models_dev_tier → static table). Ainsi, après avoir connecté les meilleurs fournisseurs gratuits, le routage avecmodel: "auto"(par exemple,auto/coding) privilégiera automatiquement, pour chaque requête, les modèles gratuits de meilleure qualité. Consultez Auto-Combo pour découvrir l’intégralité des 16 facteurs de notation.
Documentation connexe
Section intitulée « Documentation connexe »- Guide des offres gratuites — comment connecter des fournisseurs gratuits, sans carte bancaire.
- Répertoire des offres gratuites — catalogue complet des fournisseurs gratuits et de leurs limites.
- Auto-Combo — le moteur de routage à 16 facteurs qui utilise les mêmes données Arena ELO d’adéquation à la tâche.
- Variables d’environnement — documentation de référence pour
ARENA_ELO_SYNC_ENABLED/ARENA_ELO_SYNC_INTERVAL.
HagiCode
HagiCode est un espace de développement agentique qui associe workflows structurés, exécution multi-agent et vues Hero Dungeon.
Transformez vos idées en logiciels utiles grâce à un workflow agentique plus intelligent, rapide et agréable.

- SmartDes workflows structurés transforment une intention en parcours exécutable, de l’idée à la livraison.
- EfficientLes workflows multi-agents font avancer recherche, réalisation et revue en parallèle.
- FunHero Dungeon rend les longues sessions de code plus visuelles et collaboratives.