Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

tinyrouter

TinyRouter es un gateway auto-hospedado para LLMs compatible con OpenAI, sin base de datos ni dashboard. Ofrece fallback determinista entre proveedores (OpenAI, Anthropic, Gemini, locales) mediante configuración YAML simple y código auditable en TypeScript/Bun.

Ficha actualizada 27 sept 2026, 18:11 · upstream 27 sept 2026, 17:40 · release v0.7.0

Ver códigoProblemas y ayudaRepositorio ↗Sitio oficial
00

Qué es tinyrouter

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

TinyRouter actúa como una puerta de entrada ligera para APIs de modelos de lenguaje, diseñada para ser transparente y auditables. Exponiendo un único endpoint compatible con OpenAI, permite gestionar claves de proveedores externos (OpenAI, Anthropic, Gemini) y modelos locales en un solo proceso ejecutado con Bun o compilado nativamente. Su arquitectura elimina la necesidad de bases de datos, paneles de administración o infraestructura compleja, priorizando la simplicidad operativa y la comprensión total del flujo de datos.

El sistema implementa una lógica de fallback determinista que reenvía solicitudes a proveedores alternativos solo antes de iniciar el streaming de respuestas, evitando cambios dinámicos durante la generación. Incluye métricas Prometheus integradas para monitorización sin dependencias externas y emite logs estructurados sin exponer prompts ni completaciones. La configuración se define en un archivo YAML estático, resolviendo alias amigables a destinos específicos de proveedor/modelo con prioridad ordenada.

A diferencia de soluciones más complejas como LiteLLM o Portkey, TinyRouter omite deliberadamente capas de producto como guardrails semánticos, caché persistente, gestión de presupuestos o límites de tasa avanzados. Está pensado para escenarios donde la transparencia del código y la ausencia de "caja negra" son prioritarias sobre la funcionalidad extensiva. Es ideal para despliegues minimalistas que requieren control total sobre el enrutamiento sin operar un plano de control externo.

CASOS DE USO
  • Auditoría de seguridad al mantener las claves API en un gateway de código abierto legible y pequeño (~2200 líneas).
  • Implementación de fallback automático entre modelos locales y proveedores cloud cuando los locales fallan o están sobrecargados.
  • Unificación de endpoints para clientes externos (Open WebUI, LibreChat) que requieren una URL base compatible con OpenAI sin cambios de código.
  • Monitorización básica de salud y token counts mediante métricas Prometheus integradas en el proceso.
  • Gestión de modelos locales con priorización definida en YAML antes de escalar a proveedores pagados.
PUNTOS DESTACADOS
  • Código auditable y pequeño (~2200 líneas de TypeScript + 800 tests), sin dependencias ocultas ni "magia".
  • Fallback determinista que solo ocurre antes del inicio del streaming, garantizando consistencia en la respuesta.
  • Sin base de datos ni infraestructura externa; corre con Bun o como binario standalone compilado.
  • Métricas Prometheus y logs estructurados integrados sin configuración adicional.
  • Configuración declarativa en YAML simple para definir rutas y prioridades de proveedores.
PRECAUCIONES
  • No soporta la API Responses, embeddings, generación de imágenes/audio ni persistencia de uso.
  • Sin caché semántico, gestión de presupuestos, límites de tasa o administración multiusuario.
  • Requiere configuración manual de claves API en variables de entorno o archivo .env.
  • La interfaz de estado es un archivo HTML estático que no ofrece control administrativo real.
  • No incluye Docker Compose por defecto (solo imagen Docker y binarios).
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU1 vCPUrecomendación inicial
MEMORIA1 GBRAM estimada
DISCO20 GBalmacenamiento base
COMPLEJIDADlownivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Docker detectado

Utiliza la imagen Docker ghcr.io/honzabit/tinyrouter:latest o descarga el binario standalone para Linux/macOS. Verifica integridad con SHA256SUMS. En contenedores, evita hardcodear 127.0.0.1 en la configuración; usa TINYROUTER_HOST=0.0.0.0. Usa variables de entorno .env para claves API. En macOS, extrae el archivo con tar para evitar banderas de cuarentena que marcan el ejecutable como dañado.

✓Dockerfile
—Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Node.js
SERVICIOS
Redis
BASES DE DATOS
Redis
PUERTOS
8080
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.