9Router es un router local para herramientas de programación con IA. Permite conectar Claude Code, Codex, Cursor, Cline, Copilot, OpenCode, OpenClaw y herramientas similares a un único endpoint compatible con OpenAI, y desde ahí enrutar las solicitudes a distintos modelos y proveedores.
No pretende ser otro cliente de chat. Se coloca entre tus herramientas de programación y los proveedores de modelos para resolver problemas prácticos: formatos de API incompatibles, cambios manuales entre proveedores, consumo rápido de tokens por salidas de herramientas, cortes por cuotas agotadas y configuración complicada de varias cuentas.
Según el README, 9Router admite más de 40 proveedores y más de 100 modelos. Incluye RTK Token Saver, fallback automático, seguimiento de cuotas, rotación multi-cuenta, traducción de formatos y registros de solicitudes. Está escrito en JavaScript, usa Node.js, Next.js, React, Tailwind CSS y LowDB, y tiene licencia MIT.
Para qué sirve
9Router tiene más sentido cuando usas varias herramientas de programación con IA y varias fuentes de modelos al mismo tiempo.
- Claude Code usa una cuenta de suscripción.
- Codex o Cursor necesitan un endpoint OpenAI personalizado.
- Cline, Continue o RooCode necesitan una API compatible con OpenAI.
- Los proveedores gratuitos sirven para pruebas.
- GLM, MiniMax o Kimi funcionan como respaldo barato.
- Los modelos de mayor calidad se reservan para tareas difíciles.
Sin 9Router, cada herramienta necesita su propio endpoint, API key, nombre de modelo y estrategia de fallback. 9Router centraliza todo eso en una capa local.
API local:
|
|
Dashboard:
|
|
Instalación rápida
Para uso local:
|
|
Desde el código fuente:
|
|
Modo producción:
|
|
El paquete npm requiere Node.js >=18.0.0. En VPS o Docker, configura JWT_SECRET, INITIAL_PASSWORD, DATA_DIR y API_KEY_SECRET.
Conectar herramientas de programación
Configuración típica:
|
|
Para Codex CLI:
|
|
Para Cline, Continue o RooCode, elige OpenAI Compatible:
|
|
Los nombres dependen de los proveedores conectados, por ejemplo cc/, cx/, gh/, glm/, minimax/, kr/ y vertex/.
RTK Token Saver
En programación con IA, muchas veces lo que más tokens consume son salidas de herramientas:
git diffgit statusgrepfindlstree- logs
- listas largas de archivos
RTK Token Saver comprime esas salidas antes de enviarlas al modelo. El proyecto afirma que puede ahorrar 20%-40% de tokens de entrada en muchas solicitudes.
La ventaja es que no tienes que cambiar de herramienta ni de modelo. Aun así, para logs críticos o contenido completo de archivos, conviene probar primero que la calidad de respuesta no baje.
Fallback automático
Puedes ordenar modelos por prioridad:
|
|
Ejemplo:
|
|
El fallback reduce interrupciones, pero cambia la consistencia de salida. Para refactors grandes, migraciones o tareas sensibles, es mejor fijar un modelo principal.
Cuidado con proveedores gratuitos
Kiro, OpenCode Free y Vertex pueden ser útiles, pero sus reglas cambian. Verifica siempre si el uso es gratuito, si hay límites regionales, si se permite usar herramientas de terceros, si puede haber rate limits o bloqueos, y cuándo caduca la cuota.
9Router enruta solicitudes; no cambia las condiciones del proveedor.
Despliegue local
Para uso personal, basta con escuchar en localhost. Si lo llevas a un VPS o LAN, cambia la contraseña por defecto, configura JWT_SECRET y API_KEY_SECRET, no expongas el dashboard directamente, y exige Bearer API key en /v1/*.
|
|
Comprobaciones más allá del Dashboard
No dependas de una ruta /health no documentada. Comprueba primero la Web y después la API autenticada:
|
|
Si falla la primera, revisa proceso, puerto, escucha o proxy. Si solo la segunda devuelve 401/403, revisa la API Key. Termina con una petición mínima de chat y confirma el provider elegido por la regla combo.
En Docker también puedes revisar el contenedor y sus últimos registros:
|
|
Diagnosticar fallos del upstream con registros
DATA_DIR contiene db.json, usage.json y log.txt:
|
|
401/403: credencial caducada, permiso ausente u OAuth roto.429: cuota o límite; comprueba el siguiente nivel de fallback.5xx, timeout, DNS o TLS: problema del upstream o de red.- Cambió de provider y falló: revisa cada elemento del combo.
ENABLE_REQUEST_LOGS=true añade detalle, pero puede guardar datos sensibles. Actívalo brevemente, limita permisos y desactívalo después.
Copia y restauración del directorio de datos
Detén las escrituras y archiva el directorio completo:
|
|
La copia puede contener credenciales y API Keys. Para restaurar, detén el servicio, aparta el directorio actual, extrae en un DATA_DIR vacío y valida antes de arrancar:
|
|
En Docker, copia con el contenedor detenido el directorio o volumen de /app/data y repite las verificaciones de Dashboard, /v1/models y chat mínimo.
Resumen
9Router es una puerta de enlace local para herramientas de programación con IA. Unifica Claude Code, Codex, Cursor y Cline en http://localhost:20128/v1, y gestiona selección de modelo, traducción de formatos, compresión de tokens, cuotas y fallback.
Es más útil para usuarios intensivos que ya alternan entre varios proveedores. Empieza con una herramienta y un proveedor, y añade combos poco a poco.
Preguntas frecuentes
¿Qué es este proyecto?
Es un proyecto de herramientas de IA cubierto en este artículo, con foco en qué hace, cómo se usa y cuándo merece la pena probarlo.
¿Para quién es?
Principalmente para desarrolladores y usuarios de herramientas de IA que quieren conectarlo a flujos reales, no solo leer el README.
¿Qué conviene revisar antes de usarlo?
Revisa instalación, herramientas compatibles, límites de datos y permisos, y si el proyecto sigue cambiando rápido.
¿Sirve para producción?
Conviene probarlo primero en un flujo pequeño. Verifica el comportamiento antes de usarlo en tareas sensibles o de producción.