Ir al contenido
OmniRoute source

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:

  1. Las listas de proveedores gratuitos: NOAUTH_PROVIDERS, además de las entradas de OAUTH_PROVIDERS / APIKEY_PROVIDERS marcadas con hasFree (src/shared/constants/providers.ts).
  2. El catálogo de modelos de cada proveedor procedente del registro de proveedores (open-sse/config/providerRegistry.ts).
  3. Las puntuaciones de adecuación a tareas derivadas del ELO almacenadas en la tabla model_intelligence de 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.


Abra el panel y vaya a Costes → Clasificación de proveedores gratuitos, o acceda directamente a:

/dashboard/free-provider-rankings

La 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.

La página se basa en un endpoint público de lectura (src/app/api/free-provider-rankings/route.ts):

GET /api/free-provider-rankings
GET /api/free-provider-rankings?category=coding
GET /api/free-provider-rankings?category=coding&limit=20

Pará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": "&lt;task category&gt;"
},
"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.


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.

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

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 desde src/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.

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 escribir
DELETE /api/intelligence/sync # borra todas las entradas de inteligencia arena_elo sincronizadas

Si 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):

  1. Coincidencia exacta con el ID de modelo normalizado.
  2. Coincidencia tras eliminar un sufijo de versión final (p. ej., kimi-k2.6 → kimi-k2).
  3. 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.

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»
  1. 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.
  2. 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.
  3. Comprueba la insignia Type. Los proveedores NOAUTH son los más rápidos de conectar (sin credenciales). Los niveles gratuitos OAUTH / APIKEY requieren 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.
  4. 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ón user_override → arena_elo → models_dev_tier → static table). Por lo tanto, después de conectar los principales proveedores gratuitos, el enrutamiento con model: "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.


Código fuente de OmniRoute (a58000c7685f)

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.

Interfaz principal de HagiCode con tema claro
  • 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.
Visitar HagiCode