Free Provider Rankings (Arena ELO) (Español)
OmniRoute registra 329 proveedores, incluidas 155 entradas del catálogo marcadas como gratuitas/sin autenticación (sin autenticación, OAuth de nivel gratuito o clave de API de nivel gratuito; consulte la Guía de niveles gratuitos y el directorio completo de niveles gratuitos). El inconveniente es que los proveedores gratuitos varían enormemente en cuanto a la calidad de sus modelos. Un proveedor sin autenticación que ofrece un modelo de vanguardia resulta mucho más útil que uno que ofrece un modelo heredado pequeño.
Clasificación de proveedores gratuitos responde a la pregunta «¿qué proveedor gratuito me ofrece el mejor modelo?» al combinar el catálogo de cada proveedor gratuito con puntuaciones de calidad obtenidas de forma colaborativa de la clasificación de Arena AI (ELO basado en preferencias humanas, la misma idea en la que se basa la arena de chatbots de LMArena). A continuación, los proveedores se clasifican según la calidad de su mejor modelo gratuito.
La clasificación se calcula a partir de tres fuentes reales:
- Las listas de proveedores gratuitos:
NOAUTH_PROVIDERS, además de las entradas deOAUTH_PROVIDERS/APIKEY_PROVIDERSmarcadas conhasFree(src/shared/constants/providers.ts). - El catálogo de modelos de cada proveedor procedente del registro de proveedores
(
open-sse/config/providerRegistry.ts). - Las puntuaciones de adecuación a tareas derivadas del ELO almacenadas en la tabla
model_intelligencede la base de datos por el motor de sincronización de ELO de Arena (src/lib/arenaEloSync.ts).
La lógica de combinación se encuentra en src/lib/freeProviderRankings.ts.
Cómo acceder
Sección titulada «Cómo acceder»Página del panel
Sección titulada «Página del panel»Abra el panel y vaya a Costes → Clasificación de proveedores gratuitos, o acceda directamente a:
/dashboard/free-provider-rankingsLa página (src/app/(dashboard)/dashboard/free-provider-rankings/page.tsx) muestra:
- Un podio con los tres primeros puestos (🥇 🥈 🥉) de los proveedores gratuitos mejor clasificados.
- Una tabla de clasificación completa con las columnas: Posición, Proveedor, Mejor modelo, Puntuación, Puntuación media, Modelos, Tipo.
- Botones de filtrado por categoría: Todas las categorías, Predeterminada, Programación, Revisión, Documentación, Depuración.
La insignia Tipo de cada proveedor indica de qué forma es gratuito:
| Insignia | Significado |
|---|---|
NOAUTH |
Siempre gratuito, no requiere credenciales |
OAUTH |
Proveedor OAuth con un nivel gratuito (hasFree) |
APIKEY |
Proveedor con clave de API y un nivel gratuito (hasFree) |
Las puntuaciones se muestran como etiquetas legibles (por ejemplo, Élite, Excelente, Muy bueno, Bueno, Promedio) en lugar de números sin procesar, porque el valor subyacente representa una calidad relativa en la clasificación, no un porcentaje.
Endpoint de la API
Sección titulada «Endpoint de la API»La página se basa en un endpoint público de lectura
(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=20Parámetros de consulta (validados con Zod):
| Parámetro | Tipo | Valor predeterminado | Notas |
|---|---|---|---|
category |
string | (ninguno) | Uno de default, coding, review, documentation, debugging. Omítalo para obtener la clasificación combinada. |
limit |
number | 50 |
Limitado al intervalo 1–100. |
Estructura de la respuesta:
{ "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 es el valor ELO original de Arena; score es el valor normalizado de adecuación a la tarea
(consulte la explicación más adelante). Los proveedores que no tengan modelos puntuados se omiten de la respuesta.
Cómo funcionan las puntuaciones
Sección titulada «Cómo funcionan las puntuaciones»Fuente: clasificación de Arena AI
Sección titulada «Fuente: clasificación de Arena AI»El motor de sincronización de ELO de Arena (src/lib/arenaEloSync.ts) obtiene dos clasificaciones —text
y code— de la API de clasificación de Arena AI
(https://api.wulong.dev/arena-ai-leaderboards/v1/leaderboard). Cada entrada de la clasificación
incluye un nombre de modelo, proveedor, score ELO, intervalo de confianza y número de votos.
Las categorías de la clasificación se asignan a las categorías de tareas de OmniRoute:
| Clasificación de Arena | Categorías de tareas de OmniRoute |
|---|---|
text |
default, review, documentation, debugging |
code |
coding |
Normalización (puntuación de adecuación a la tarea)
Sección titulada «Normalización (puntuación de adecuación a la tarea)»Las puntuaciones ELO sin procesar se normalizan por clasificación como un valor de adecuación a la tarea en [0.4, 0.98]:
taskFit = 0.4 + 0.58 * ((elo - minElo) / (maxElo - minElo))La puntuación nunca alcanza 0 ni 1, lo que deja margen para las modificaciones del usuario. Este es el
campo score que aparece en la respuesta de la API y la etiqueta que se muestra en el panel.
Confianza
Sección titulada «Confianza»Cada entrada recibe un nivel de confianza basado en el número de votos de Arena:
| Confianza | Votos |
|---|---|
high |
≥ 5,000 |
medium |
≥ 1,000 |
low |
< 1,000 |
Almacenamiento y vigencia
Sección titulada «Almacenamiento y vigencia»Las entradas normalizadas se escriben en la tabla model_intelligence de la base de datos con
source = "arena_elo" (src/lib/db/modelIntelligence.ts). Las entradas caducan después de
7 días, por lo que un proveedor que deja de sincronizarse acaba desapareciendo en lugar de proporcionar
datos obsoletos.
La sincronización se ejecuta de forma predeterminada:
- Se ejecuta una vez al iniciar el servidor y, posteriormente, mediante un temporizador periódico
(
src/lib/arenaEloSync.ts, conectado desdesrc/instrumentation-node.ts). - Es no bloqueante y nunca provoca un error fatal: si falla la obtención de datos del servicio ascendente, OmniRoute sigue ejecutándose y las clasificaciones simplemente muestran los últimos datos válidos (o un estado vacío).
Dos variables de entorno la controlan (documentadas en
docs/reference/ENVIRONMENT.md):
| Variable | Valor predeterminado | Propósito |
|---|---|---|
ARENA_ELO_SYNC_ENABLED |
true |
Establézcala en false para desactivar la sincronización saliente. |
ARENA_ELO_SYNC_INTERVAL |
86400 (24h) |
Intervalo de sincronización, en segundos. |
Sincronización manual / estado / borrado
Sección titulada «Sincronización manual / estado / borrado»Para los operadores, un endpoint de administración autenticado permite el control manual
(src/app/api/intelligence/sync/route.ts — requiere autenticación de administración):
GET /api/intelligence/sync # estado actual de la sincronización (enabled, lastSync, nextSync, intervalMs)POST /api/intelligence/sync # inicia una sincronización manual; cuerpo: { "dryRun": true } para obtener una vista previa sin escribirDELETE /api/intelligence/sync # borra todas las entradas de inteligencia arena_elo sincronizadasSi la página de clasificaciones está vacía, un POST /api/intelligence/sync manual (o simplemente
reiniciar el servidor) vuelve a rellenarla.
Correspondencia de los modelos con la clasificación
Sección titulada «Correspondencia de los modelos con la clasificación»Los ID de los modelos del registro y los nombres de los modelos de Arena no siempre coinciden exactamente. La clasificación utiliza
una correspondencia flexible (findMatchingIntelligence en src/lib/freeProviderRankings.ts):
- Coincidencia exacta con el ID de modelo normalizado.
- Coincidencia tras eliminar un sufijo de versión final (p. ej.,
kimi-k2.6→kimi-k2). - Coincidencia por prefijo (el nombre de un modelo de la clasificación es un prefijo del ID del registro).
En la sincronización, se eliminan los prefijos de proveedores conocidos (anthropic/, openai/, google/, …)
y un pequeño mapa de alias amplía los nombres canónicos a las variantes que OmniRoute utiliza
internamente, de modo que los modelos puedan encontrarse con cualquier nombre.
Cómo se clasifica un proveedor
Sección titulada «Cómo se clasifica un proveedor»Para cada proveedor gratuito, el motor puntúa todos los modelos de su catálogo y, después:
- Mejor modelo = el modelo del proveedor con la puntuación más alta.
- Puntuación media = la puntuación media de todos los modelos puntuados de ese proveedor.
- Modelos = cuántos modelos del proveedor tenían una puntuación de Arena.
Los proveedores se ordenan primero por la puntuación del mejor modelo y, después, por la puntuación media. Esto recompensa a un proveedor que ofrece al menos un modelo gratuito potente.
Cómo usarlo para elegir proveedores gratuitos
Sección titulada «Cómo usarlo para elegir proveedores gratuitos»- Elige la categoría adecuada. Usa el filtro Coding para cargas de trabajo de agentes o de código, o déjalo en All Categories / Default para chat general. Un mismo proveedor puede ocupar posiciones diferentes según la categoría, ya que su modelo principal varía según la clasificación.
- Da prioridad al podio para configuraciones puntuales. Si solo quieres conectar uno o dos proveedores gratuitos, comienza por los mejor clasificados en tu categoría.
- Comprueba la insignia Type. Los proveedores
NOAUTHson los más rápidos de conectar (sin credenciales). Los niveles gratuitosOAUTH/APIKEYrequieren un registro rápido, pero suelen ofrecer modelos más potentes. Consulta la Guía de niveles gratuitos para conocer los pasos de conexión. - Conecta varios y deja que Auto-Combo decida. Los mismos datos de Arena ELO que alimentan
esta página también proporcionan el factor de idoneidad para la tarea del motor de puntuación Auto-Combo
(
open-sse/services/autoCombo/taskFitness.ts, orden de resoluciónuser_override → arena_elo → models_dev_tier → static table). Por lo tanto, después de conectar los principales proveedores gratuitos, el enrutamiento conmodel: "auto"(p. ej.,auto/coding) preferirá automáticamente los modelos gratuitos de mayor calidad para cada solicitud. Consulta Auto-Combo para conocer los 16 factores de puntuación completos.
Documentación relacionada
Sección titulada «Documentación relacionada»- Guía de niveles gratuitos — cómo conectar proveedores gratuitos sin necesidad de tarjeta de crédito.
- Directorio de niveles gratuitos — catálogo completo de proveedores gratuitos y sus límites.
- Auto-Combo — el motor de enrutamiento de 16 factores que utiliza los mismos datos de idoneidad para tareas de Arena ELO.
- Variables de entorno — referencia de
ARENA_ELO_SYNC_ENABLED/ARENA_ELO_SYNC_INTERVAL.
HagiCode
HagiCode es un espacio de trabajo de programación con agentes, flujos estructurados, ejecución multiagente y vistas de Hero Dungeon.
Convierte ideas en software útil con un flujo de trabajo con agentes más inteligente, rápido y ameno.

- SmartLos flujos estructurados convierten la intención en un itinerario ejecutable desde la idea hasta la entrega.
- EfficientLos flujos multiagente permiten avanzar en paralelo con la investigación, implementación y revisión.
- FunHero Dungeon hace que las largas sesiones de programación sean visuales y colaborativas.