# README (Español) 🌐 **Languages:** 🇺🇸 [English](../../../README.md) · 🇪🇹 [am](../am/README.md) · 🇸🇦 [ar](../ar/README.md) · 🇦🇿 [az](../az/README.md) · 🇧🇬 [bg](../bg/README.md) · 🇧🇩 [bn](../bn/README.md) · 🇧🇦 [bs](../bs/README.md) · 🇨🇿 [cs](../cs/README.md) · 🇩🇰 [da](../da/README.md) · 🇩🇪 [de](../de/README.md) · 🇬🇷 [el](../el/README.md) · 🇪🇪 [et](../et/README.md) · 🇮🇷 [fa](../fa/README.md) · 🇫🇮 [fi](../fi/README.md) · 🇫🇷 [fr](../fr/README.md) · 🇮🇪 [ga](../ga/README.md) · 🇮🇳 [gu](../gu/README.md) · 🇳🇬 [ha](../ha/README.md) · 🇮🇱 [he](../he/README.md) · 🇮🇳 [hi](../hi/README.md) · 🇭🇷 [hr](../hr/README.md) · 🇭🇺 [hu](../hu/README.md) · 🇦🇲 [hy](../hy/README.md) · 🇮🇩 [id](../id/README.md) · 🇳🇬 [ig](../ig/README.md) · 🇮🇹 [it](../it/README.md) · 🇯🇵 [ja](../ja/README.md) · 🇬🇪 [ka](../ka/README.md) · 🇰🇭 [km](../km/README.md) · 🇮🇳 [kn](../kn/README.md) · 🇰🇷 [ko](../ko/README.md) · 🇱🇹 [lt](../lt/README.md) · 🇱🇻 [lv](../lv/README.md) · 🇮🇳 [ml](../ml/README.md) · 🇮🇳 [mr](../mr/README.md) · 🇲🇾 [ms](../ms/README.md) · 🇲🇹 [mt](../mt/README.md) · 🇲🇲 [my](../my/README.md) · 🇳🇵 [ne](../ne/README.md) · 🇳🇱 [nl](../nl/README.md) · 🇳🇴 [no](../no/README.md) · 🇮🇳 [or](../or/README.md) · 🇮🇳 [pa](../pa/README.md) · 🇵🇭 [phi](../phi/README.md) · 🇵🇱 [pl](../pl/README.md) · 🇵🇹 [pt](../pt/README.md) · 🇧🇷 [pt-BR](../pt-BR/README.md) · 🇷🇴 [ro](../ro/README.md) · 🇷🇺 [ru](../ru/README.md) · 🇱🇰 [si](../si/README.md) · 🇸🇰 [sk](../sk/README.md) · 🇸🇮 [sl](../sl/README.md) · 🇷🇸 [sr](../sr/README.md) · 🇸🇪 [sv](../sv/README.md) · 🇰🇪 [sw](../sw/README.md) · 🇮🇳 [ta](../ta/README.md) · 🇮🇳 [te](../te/README.md) · 🇹🇭 [th](../th/README.md) · 🇹🇷 [tr](../tr/README.md) · 🇺🇦 [uk-UA](../uk-UA/README.md) · 🇵🇰 [ur](../ur/README.md) · 🇺🇿 [uz](../uz/README.md) · 🇻🇳 [vi](../vi/README.md) · 🇳🇬 [yo](../yo/README.md) · 🇨🇳 [zh-CN](../zh-CN/README.md) · 🇹🇼 [zh-TW](../zh-TW/README.md) ---
Panel de OmniRoute

# 🚀 OmniRoute — La puerta de enlace de IA gratuita OmniRoute — Nunca dejes de programar. Todas las herramientas de IA → 372 proveedores — más de 150 gratuitos — a través de un único endpoint. Claude Code, Codex, Cursor, Cline, Copilot y Antigravity con Claude / GPT / Gemini GRATIS y conmutación por error automática. La compresión combinada de RTK + Caveman ahorra entre un 15 y un 95 % de tokens (~89 % de media): nunca alcances los límites. 372 proveedores de IA · Más de 150 niveles gratuitos · ~1,62 mil millones de tokens gratuitos/mes · 19 estrategias de enrutamiento · 0 $ para empezar.
## 💰 ~1,62 mil millones de tokens/mes en niveles gratuitos de terceros
> **Usa tus propias cuentas de proveedor.** Esta es una estimación agregada de niveles gratuitos de terceros para los que se cumplen los requisitos por separado, no una concesión de tokens de OmniRoute. Regístrate, obtén credenciales cuando sea necesario y conecta los proveedores que puedas utilizar; cada proveedor controla sus límites, disponibilidad y condiciones. > > Combinar niveles gratuitos manualmente es tedioso: docenas de SDK, docenas de límites de uso y ninguna forma de saber cuánto tienes realmente. OmniRoute cataloga **489 entradas de niveles gratuitos en 35 claves de grupos recurrentes** y calcula la cifra destacada de tokens a partir de los **17 grupos con un presupuesto mensual positivo publicado más cinco límites de Groq por modelo**, eliminando duplicados por grupo compartido. Las cuotas que solo se habilitan tras una verificación de identidad regional (actualmente: ModelScope) se muestran por separado, con ~6M adicionales sujetos a verificación de identidad regional, y nunca se suman a la cifra destacada. El resultado permanece visible en el panel (`/dashboard/free-tiers`). Tarjeta de presupuesto del nivel gratuito de OmniRoute: ~1,62 mil millones de tokens gratuitos al mes de forma estable, hasta ~2,22 mil millones durante el primer mes con créditos de registro, procedentes de 35 claves documentadas de grupos recurrentes que abarcan 489 entradas catalogadas de niveles gratuitos detrás de un único endpoint. Cálculo transparente con eliminación de duplicados por grupo: cada grupo compartido se cuenta una sola vez, incluidos 17 grupos recurrentes con un presupuesto mensual positivo de tokens publicado más cinco límites de Groq por modelo; 13 proveedores están marcados como evitar en el catálogo de riesgos de las condiciones para que tú decidas. La barra de presupuesto incluye Mistral 1B, Nara 210M, LLM7 150M, xKiro 150M, Groq 30M (cinco límites por modelo) y grupos más pequeños, además de créditos de registro para el primer mes y proveedores permanentemente gratuitos sin límite de tokens, mostrados por separado para que nunca inflen la cifra destacada. Uso y saldo restantes en tiempo real en /dashboard/free-tiers. > Resumen animado de la página activa `/dashboard/free-tiers`. Metodología completa (eliminación de duplicados por grupo, niveles de crédito y condiciones de los proveedores): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**. > > Estas cifras se vuelven a auditar cada dos semanas comparándolas con el catálogo activo y **pueden variar en ambos sentidos**: si un proveedor elimina un nivel gratuito, la cifra baja; si aparece uno nuevo, sube. Publicamos lo que el catálogo calcula realmente, nunca el mejor caso redondeado al alza.

⭐ Dale una estrella al repositorio si OMNIROUTE te ayudó a ahorrar dinero y facilitó tu trabajo.

[![Estrellas](https://img.shields.io/github/stars/diegosouzapw/OmniRoute?style=social)](https://github.com/diegosouzapw/OmniRoute) diegosouzapw%2FOmniRoute | Trendshift [![Posición en el historial de estrellas](https://api.star-history.com/badge?repo=diegosouzapw/OmniRoute&theme=dark)](https://www.star-history.com/diegosouzapw/omniroute) [![olud.ai](https://olud.ai/badge.php?tool=diegosouzapw-omniroute)](https://olud.ai/project/diegosouzapw-omniroute.html) ### 💬 Únete a la comunidad **👋 Sigue al mantenedor: sé el primero en conocer nuevos proveedores, versiones y consejos:** [![Sigue a Diego en LinkedIn](https://img.shields.io/badge/Follow_Diego_on-LinkedIn-0A66C2?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/diegosouzapw/) [![Sigue a @diegosouzapw en GitHub](https://img.shields.io/github/followers/diegosouzapw?style=for-the-badge&logo=github&logoColor=white&label=Follow%20on%20GitHub&color=181717)](https://github.com/diegosouzapw) [![Discord](https://img.shields.io/badge/Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/U47eFqAXCn) [![Telegram](https://img.shields.io/badge/Telegram-26A5E4?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/omnirouteOficial) [![WhatsApp global](https://img.shields.io/badge/WhatsApp_Global-25D366?style=for-the-badge&logo=whatsapp&logoColor=white)](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) [![WhatsApp Brasil](https://img.shields.io/badge/WhatsApp_Brasil-25D366?style=for-the-badge&logo=whatsapp&logoColor=white)](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) [![Sitio web](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online) **Preguntas, consejos sobre proveedores, hoja de ruta y soporte → [Discord](https://discord.gg/U47eFqAXCn) · [Telegram](https://t.me/omnirouteOficial) · WhatsApp [🌍 Global](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) / [🇧🇷 Brasil](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) / [Portal](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK)**
## 📈 El Gateway sigue creciendo
| | v3.8.50 | **v3.8.51** | `v3.8.52+` | | --------------------------------- | :-----------------------: | :---------: | :---------------------: | | 🌐 Proveedores | 352 | **358** | 372 | | 🧠 IDs únicos de modelos de chat | 1320 | **1374** | 1443 | | 🖼️ Puente de modalidades | 🆕 visión + audio + vídeo | ✓ | ✓ | | 📡 Catálogo gratuito de Radar | 🆕 opcional | ✓ | ✓ | | ⚖️ Programación según cuota | 🆕 Quota-Share | ✓ | ✓ | | 📊 Telemetría de cuotas | 🆕 en tiempo real | ✓ | ✓ | | 🧰 Modo sin interfaz | — | — | 🆕 `serve --headless` | | 🛤️ Infraestructura de la rama LTS | — | — | 🆕 canales de versiones | **→ [Hoja de ruta](ROADMAP.md) — avanzando hacia `v3.9.0 LTS`**

## 🧩 Disponible [![versión de npm](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute) ![Descargas mensuales de NPM](https://img.shields.io/npm/dm/omniroute?label=npm/month&color=cb3837&logo=npm) [![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute) [![Licencia: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](LICENSE) ![Descargas de Docker](https://img.shields.io/docker/pulls/diegosouzapw/omniroute?label=docker%20pulls&logo=docker&color=2496ED) ![Descargas de Electron](https://img.shields.io/github/downloads/diegosouzapw/omniroute/total?style=flat&label=electron%20downloads&logo=electron&color=47848F)
🚀 Comenzar 🚀 Inicio rápido 📦 Instalación 🆓 Sin configuración
💡 Aprender 💥 La promesa 🤔 Por qué OmniRoute 🏆 Qué lo diferencia
⚙️ Funcionalidades 🎯 Combos 🌐 Proveedores 🔌 CLI y MCP
🗜️ Compresión 🖥️ Dónde se ejecuta 🔒 Privado
👀 Verlo 🎬 En acción ✨ Novedades 🤖 CLI compatibles
💚 Apoyo 💚 Apoyar / Donar 💬 Comunidad 💖 Patrocinadores
📦 Proyecto 🛠️ Stack tecnológico 📖 Documentación 👥 Colaboradores
🌐 En 67 idiomas

Inglés (en) Portugués — Brasil (pt-BR) Portugués (pt) Español (es) Francés (fr) Italiano (it) Alemán (de) Neerlandés (nl) Ruso (ru) Ucraniano (uk-UA) Polaco (pl) Checo (cs) Eslovaco (sk) Rumano (ro) Húngaro (hu) Búlgaro (bg) Danés (da) Finés (fi) Noruego (no) Sueco (sv) Chino — Simplificado (zh-CN) Chino — Tradicional (zh-TW) Japonés (ja) Coreano (ko) Tailandés (th) Vietnamita (vi) Indonesio (id) Malayo (ms) Filipino (phi) Hindi (hi) Guyaratí (gu) Maratí (mr) Tamil (ta) Télugu (te) Bengalí (bn) Urdu (ur) Persa (fa) Árabe (ar) Hebreo (he) Turco (tr) Azerí (az) Suajili (sw) Griego (el) Croata (hr) Serbio (sr) Lituano (lt) Estonio (et) Letón (lv) Esloveno (sl) Maltés (mt) Irlandés (ga) Canarés (kn) Malayalam (ml) Odia (or) Punyabí (pa) Nepalí (ne) Cingalés (si) Birmano (my) Jemer (km) Hausa (ha) Yoruba (yo) Igbo (ig) Amárico (am) Uzbeko (uz) Georgiano (ka) Armenio (hy) Bosnio (bs)


## 🆓 Instala, conecta un proveedor y enruta a través de un único endpoint
Tres pasos: instala e inicia OmniRoute, conecta un proveedor apto con tu propia cuenta o clave de API y, después, configura tu herramienta para que apunte a localhost:20128/v1 utilizando una clave de API de OmniRoute y el modelo auto. El enrutamiento depende de las conexiones aptas disponibles y de los límites del proveedor. ```bash # Después de conectar un proveedor, copia tu clave de OmniRoute desde Panel → Endpoints: curl http://localhost:20128/v1/chat/completions \ -H "Authorization: Bearer YOUR_OMNIROUTE_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}' ``` `auto` necesita una ruta apta. Una instalación nueva puede no tener destinos sin clave aptos, y un proveedor sin clave puede rechazar clientes de terceros. Los proveedores marcados como `tos: avoid`, incluidos OpenCode Free y Kiro, se excluyen de forma predeterminada del enrutamiento automático; conectar una cuenta no invalida esa configuración. Consulta la [Guía de niveles gratuitos](docs/getting-started/FREE-TIERS-GUIDE.md) antes de elegir un proveedor. 📦 Scripts de inicio rápido listos para copiar y pegar para **Python, Node.js, PHP y cURL** → [`examples/quickstart/`](examples/quickstart/)
# 💥 La promesa
La promesa: un endpoint y 372 proveedores. La conmutación por error automática mantiene el enrutamiento mientras haya disponible otro destino en buen estado. Seis pilares: conmutación por error resiliente entre 372 proveedores · hasta un 95 % de ahorro en tokens para cargas de trabajo aptas · $0 para empezar, con más de 150 niveles gratuitos y 54 proveedores recurrentes/sin clave gratuitos para siempre · 36 integraciones con CLI/agentes mediante una sola configuración · compatibilidad con las API de OpenAI, Claude, Gemini y Responses en /v1 · controles de producción que incluyen disyuntores, ocultación TLS, 110 herramientas MCP, A2A, memoria, mecanismos de protección, evaluaciones y más de 39 000 declaraciones de pruebas estáticas en más de 5 100 archivos de pruebas registrados.

# 🤔 ¿Por qué OmniRoute?
Por qué OmniRoute: deja de lidiar con 10 paneles, claves de API inactivas y facturas inesperadas. Diez problemas cotidianos y sus soluciones: cuota que caduca sin usarse → maximiza las suscripciones; límites de frecuencia en plena programación → conmutación por error automática de 4 niveles (Suscripción → API → Económico → Gratuito); salidas de herramientas que consumen tokens → compresión RTK + Caveman (15–95 %); API costosas → enrutamiento optimizado por costes; cada herramienta requiere su propia configuración → un endpoint, un panel; IA bloqueada → proxy de 3 niveles + ocultación TLS; claves inactivas → resiliencia de 3 capas (disyuntores, periodo de espera de claves, bloqueo de modelos); un equipo comparte una suscripción → grupos de claves con cuotas equitativas; prompts enviados a través de la nube de terceros → enfoque local-first con claves cifradas mediante AES-256-GCM; sin visibilidad del gasto → análisis en tiempo real (uso, cuota, ahorro, latencia p95).
Flujo de solicitudes de OmniRoute: tu IDE o CLI (Claude Code, Cursor, Cline…) llama a un único endpoint local (http://localhost:20128/v1); OmniRoute Smart Router (compresión RTK + Caveman, 19 estrategias de enrutamiento, disyuntores, ocultación TLS, MCP, A2A y mecanismos de protección) puede recurrir a 4 niveles de proveedores mientras quede un destino apto y en buen estado: nivel 1, Suscripción; nivel 2, Clave de API; nivel 3, Económico; y nivel 4, Gratuito.

## 🤝 Con el apoyo de nuestros amigos del código abierto

Kimi K3 — Inteligencia de frontera abierta · 2,8 B de parámetros · contexto de 1 millón de tokens

> **¿Quieres unirte como amigo del código abierto?** Estas son las empresas que respaldan el código abierto y ayudan a que OmniRoute siga avanzando, y explicamos públicamente a dónde va cada token que nos proporcionan. Contáctanos: [diegosouza.pw@outlook.com](mailto:diegosouza.pw@outlook.com)
Kimi (Moonshot AI)
Kimi
Moonshot AI

Amigo fundador del código abierto
¡Gracias a Kimi (Moonshot AI), nuestro amigo fundador del código abierto, por respaldar este proyecto! Kimi es el laboratorio de IA responsable de las familias de modelos de pesos abiertos K2 y K3. Kimi K3 ofrece una ventana de contexto de 1 millón de tokens, visión nativa y programación de nivel de frontera por una fracción del precio de los modelos cerrados, y funciona de inmediato con Claude Code, Codex y todas las herramientas de programación compatibles con OmniRoute.

Lo que hace posible el apoyo de Kimi: los créditos de la API de Kimi impulsan el proceso de lanzamientos de OmniRoute validado por IA —la etapa de validación de fusiones impulsada por Kimi K3, que revisa cada solicitud de incorporación antes de su publicación—, además del desarrollo diario de funcionalidades. La compatibilidad de primera clase con Kimi se ofrece por ambas vías: la API de Kimi directa (kimi-k3) y el plan de programación Kimi Code (OAuth y clave de API). OmniRoute también es el primer proyecto brasileño de código abierto que forma parte del programa de apoyo de Kimi. Obtén una clave de la API de Kimi con un 15 % de créditos adicionales →
Cheaper Inference
Cheaper Inference
cheaperinference.com

Amigo del código abierto
¡Gracias a Cheaper Inference, un amigo del código abierto de OmniRoute, por respaldar este proyecto! Cheaper Inference es una puerta de enlace clasificada por coste que revende 42 modelos de frontera —Claude, GPT-5.x, Gemini, Kimi K3, GLM, DeepSeek, Grok y MiniMax— mediante un único endpoint compatible con OpenAI, dirigiendo cada solicitud al proveedor elegible más barato sin cobrar nunca por encima del precio de lista del creador del modelo.

Compatibilidad de primera clase en OmniRoute: Chat Completions, el endpoint nativo /v1/responses, visión, llamadas a herramientas y 3 modelos de imágenes (grok-imagine, nano-banana-pro, nano-banana-2, accesibles como cheaperinference/<model>). Obtén una clave de API →
Los enlaces etiquetados con aff=omniroute son enlaces de socios. Financian el proyecto sin ningún coste adicional para ti.
🎟️ Promociones de afiliados — cupones gratuitos de registro de proveedores que no nos patrocinan (haz clic para desplegar) Esta sección es únicamente para códigos de recomendación o cupones. Las colaboraciones patrocinadas aparecen arriba, en 🤝 Con el apoyo de nuestros amigos del código abierto. OmniRoute no mantiene ningún patrocinio ni colaboración con los proveedores aquí indicados; estos son cupones públicos que cualquiera puede utilizar.
AgentRouter
AgentRouter
agentrouter.org
AgentRouter — registro de afiliado · $100 en créditos gratuitos al registrarte (servidor gratuito; puede tener una latencia mayor, por lo que es más adecuado para pruebas que para producción). Compatibilidad de primera clase en OmniRoute desde la versión v3.8.50: Chat Completions, el formato de transmisión compatible con Anthropic y la ruta compatible con OpenAI. Los modelos disponibles incluyen claude-opus-4-8, claude-opus-5, gpt-5.6-sol y más. Consigue tus $100 →

⚠️ Enlace de afiliado: OmniRoute no mantiene ningún patrocinio ni colaboración con este proveedor.
¿Conoces otro proveedor con un generoso cupón gratuito de registro que beneficie a los usuarios de OmniRoute? Abre una incidencia y lo añadiremos aquí.

## 🎯 Combos — La funcionalidad estrella
Las 19 estrategias de enrutamiento de combos animadas — una celda por estrategia: priority, fill-first, weighted, round-robin, p2c, least-used, random, strict-random, cost-optimized, headroom, reset-window, reset-aware, context-relay, context-optimized, cache-optimized, lkgp, auto, fusion, pipeline. Consulta la tabla anterior para saber qué hace cada una. > Un **combo** es una cadena de modelos entre los que OmniRoute enruta **automáticamente**. Si se agota la cuota, falla un proveedor o aumentan los costes, el combo puede pasar al siguiente modelo apto y en buen estado. 🛡️ ### ⚡ Sin configuración — solo usa `auto` No es necesario crear ningún combo. Establece tu modelo en `auto` (o una variante) y OmniRoute crea un combo virtual a partir de tus proveedores conectados, evaluados en tiempo real:
ID del modeloQué optimiza
auto🎯 Opción predeterminada equilibrada (LKGP — mantiene tu último proveedor que funcionó correctamente)
auto/coding🧑💻 Ponderaciones que priorizan la calidad para la generación de código
auto/fast⚡ Prioriza la latencia más baja
auto/cheap💰 Prioriza el menor coste por token
auto/offline🔋 Prioriza el mayor margen de cuota/límite de solicitudes
auto/smart🔭 Prioriza la calidad + 10 % de exploración para descubrir mejores modelos
auto/lkgp📌 Afinidad explícita con el último proveedor que funcionó correctamente
auto/chaos🧪 Distribución paralela a un panel de modelos (uno por proveedor, 5 de forma predeterminada) que devuelve una respuesta; una llamada ascendente por modelo del panel, no es inyección de fallos
## ### 🔀 O crea el tuyo propio — 19 estrategias de enrutamiento Las **19** estrategias — combínalas como quieras en cada paso del combo:
# Estrategia Qué hace
1 priority Lista ordenada con prioridad al primer destino — agota cada uno antes de pasar al siguiente 🥇
2 fill-first Agota por completo la cuota de cada destino antes de continuar
3 weighted Selección aleatoria ponderada según el peso de cada destino
4 round-robin Recorre los destinos en orden de forma cíclica
5 p2c Equilibrio de carga aleatorio mediante la elección entre dos opciones
6 least-used Elige el destino con la menor carga actual
7 random Selección aleatoria uniforme (sin duplicados)
8 strict-random Selección aleatoria sin eliminar las repeticiones 🎲
9 cost-optimized Minimiza el coste en $ por solicitud según los precios actuales del catálogo 💸
10 headroom Elige el destino con la mayor cuota restante
11 reset-window Prefiere el destino cuya ventana de cuota se restablezca antes
12 reset-aware Ordena según el tiempo de restablecimiento de la cuota — primero las ventanas cortas 📊
13 context-relay Transfiere el contexto entre destinos para conversaciones largas 🧠
14 context-optimized Elige la opción que mejor se adapte al tamaño actual del contexto
15 cache-optimized Fija cada prefijo reutilizable del prompt a la misma cuenta — maximiza los aciertos de la caché de prompts 🎯
16 lkgp Última ruta conocida que funcionó correctamente — fija el último proveedor que respondió con éxito y, si falla, recurre a las reglas
17 auto Evaluación en tiempo real de 16 factores para cada conexión 🤖
18 fusion Distribuye la solicitud a un panel de modelos + un juez sintetiza una única respuesta 🧬
19 pipeline Encadena pasos — la salida de cada destino alimenta al siguiente 🔗
El motor Auto-Combo evalúa cada candidato según **16 factores** (estado, cuota, coste, latencia, adecuación a la tarea, calidad, disponibilidad de la sesión…) — consulta [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md). ## ### 🧱 La resiliencia viene integrada (3 capas independientes) Resiliencia de OmniRoute — 3 capas independientes de autorrecuperación, la capa adecuada para cada fallo. Capa 1: disyuntor del proveedor (proveedor completo): se activa solo con 408/5xx, umbrales OAuth 8× / clave de API 12× / local 2×, se restablece tras 60s/30s/15s mediante una sonda HALF-OPEN, recuperación diferida; mientras está OPEN, la combinación redirige al siguiente proveedor. Capa 2: periodo de espera de la conexión (una clave/cuenta): base de 5s para OAuth / 3s para clave de API, retroceso exponencial ×2 con protección contra avalanchas de solicitudes, 429 respeta Retry-After, el éxito borra todo el estado de error; una clave en espera se omite mientras las claves hermanas siguen prestando servicio. Capa 3: bloqueo del modelo (un modelo): los errores 429 por modelo, 404 local o las denegaciones de modo bloquean únicamente ese modelo, nunca la conexión completa. Los estados terminales (bloqueado, caducado, créditos agotados) son para el operador, no para los periodos de espera. 📖 [Motor de combinación automática](docs/routing/AUTO-COMBO.md) · [Guía de resiliencia](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 Qué diferencia a OmniRoute
Lo que diferencia a OmniRoute: una comparativa puntual de funcionalidades frente a 9router, OpenRouter, CLIProxyAPI y LiteLLM en 13 capacidades. OmniRoute: 372 proveedores, más de 150 niveles gratuitos integrados, 19 estrategias de enrutamiento, compresión de tokens con 12 motores, servidor MCP integrado con 110 herramientas, protocolo de agentes A2A, memoria persistente, medidas de protección, agentes en la nube, ocultación de huellas digitales TLS, Desktop/Termux/PWA y 42 configuraciones regionales de interfaz i18n. OmniRoute cuenta con licencia MIT y puede autoalojarse. Las capacidades y cifras de los competidores pueden cambiar; consulta la metodología enlazada. 📊 Metodología completa y detalles de cada funcionalidad frente a 9router, OpenRouter, CLIProxyAPI y LiteLLM → [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md)
## 💚 Apoya a OmniRoute OmniRoute tiene licencia MIT y se mantiene de forma abierta. Si te ahorra tiempo o dinero, estas son algunas formas de ayudar a que siga siendo independiente; elige la que mejor se adapte a ti. El patrocinio nunca afecta la prioridad de enrutamiento; proporciona visibilidad, no una mejor posición.
⭐ Dale una estrella al repositorioGratis; ayuda de verdad a mejorar su visibilidadDale una estrella a OmniRoute
🐙 GitHub SponsorsPago único o mensual · sin comisiones de plataformagithub.com/sponsors/diegosouzapw
☕ Ko-fiPropina única y rápida, sin que el donante tenga que registrarseko-fi.com/diegosouzapw
🧋 Buy Me a CoffeePequeño gesto informalbuymeacoffee.com/diegosouzapw
🖐 LiberapayRecurrente · sin ánimo de lucro · código abiertoliberapay.com/diegosouzapw
🇧🇷 PIX (Brasil)Instantáneo, sin comisionesclave y código QR a continuación
₿ CriptomonedasBTC · ETH · USDT-TRC20 · USDC-Solanadirecciones a continuación
**🇧🇷 PIX** — instantáneo, sin comisiones (Brasil) Código QR de PIX de OmniRoute Clave (aleatoria): `5d865059-bc44-483a-962d-43ceb80126eb` Pix para copiar y pegar: ``` 00020101021126580014br.gov.bcb.pix01365d865059-bc44-483a-962d-43ceb80126eb5204000053039865802BR5922OMNIROUTE CONTRIBUICAO6006BRASIL62070503***630475DD ```
₿ Criptomonedas — BTC · ETH · USDT-TRC20 · USDC-Solana (haz clic para desplegar)
₿ BTCBitcoin (SegWit)bc1qh00smz004sy85wyl28v77tenkt3ckl6eaep7fd
Ξ ETHEthereum (ERC20)0x64Cf6B68A6Ff34288e89172950a2d00102337a84
₮ USDTTron (TRC20)TKAF41JpuQrHbKTnsQa9svJE2T192Hvsc2
$ USDCSolana2emNNZzVVWQc3FQ2wk9M6qXUQmW8AKdjjL174fXR28Tu
⚠️ Envía cada moneda únicamente a través de la red indicada; si la envías por la red equivocada, podrías perder los fondos.
🐛 ¿Has encontrado un error o tienes algún comentario? Abre una [Discusión](https://github.com/diegosouzapw/OmniRoute/discussions).

Notas para desarrolladores: El proyecto puede generar un archivo local .env durante la instalación o posinstalación con npm para facilitar el trabajo de los desarrolladores. Este archivo se ignora intencionadamente mediante .gitignore (consulta .gitignore) y nunca debe incluirse en un commit; si se incluye por accidente, cambia todos los secretos expuestos y elimina el archivo del historial. Consulta docs/DEVELOPER-ENVIRONMENT.md para obtener orientación sobre cómo gestionar los archivos de entorno locales y los secretos.

## 📡 Radar de OmniRoute El principal límite destacado del nivel gratuito sigue siendo de **~1,62 mil millones de tokens/mes**, según el catálogo documentado y sin duplicados entre proveedores que aparece arriba. Los créditos temporales por registro de algunos proveedores pueden aumentar por separado el primer mes hasta **~2,22 mil millones**. Radar es una capa de catálogo opcional y firmada para quienes deseen información más actualizada sobre la disponibilidad de modelos gratuitos entre las versiones de OmniRoute; el catálogo de la comunidad y todas las funciones gratuitas existentes seguirán siendo gratuitos. Los colaboradores pueden recibir el catálogo en tiempo real y oportunidades adicionales de proveedores. Su límite independiente y variable es de **aproximadamente 3 mil millones de tokens/mes como máximo**, en función de la disponibilidad de los proveedores. Este límite no está garantizado: los proveedores pueden modificar las cuotas, los requisitos de acceso, los modelos o las regiones en cualquier momento. Radar es opcional y solo utiliza GET. El cliente de OmniRoute no carga prompts, tráfico, configuraciones de proveedores, telemetría de uso ni el estado local de descarte de avisos. Consulta los requisitos de acceso y el catálogo actual en **[radar.omniroute.online/planos](https://radar.omniroute.online/planos)**.
## ✨ Novedades
> Aspectos destacados recientes de **v3.8.20 → v3.8.50**. Historial completo en [`CHANGELOG.md`](CHANGELOG.md). - **🎛️ OmniConductor** — delegación A2A entrante a su flota de agentes, habilidades de Conductor en la tarjeta del agente y un panel de control con chat de voz pulsar-para-hablar de Faro. → [Servidor A2A](docs/frameworks/A2A-SERVER.md) - **🛂 Admisión adaptativa y protección contra sobrecargas** — las solicitudes de chat pesadas se ponen en cola en lugar de devolver un error 503, con concesiones móviles de RPM atómicas por conexión. → [Guía de resiliencia](docs/architecture/RESILIENCE_GUIDE.md) - **🗂️ Ordenación canónica de `/v1/models`** — un bloque contiguo agrupado por proveedor para cada proveedor (con los combos fijados al principio), estable en todas las fuentes del catálogo. → [Referencia de la API](docs/reference/API_REFERENCE.md) - **🗜️ Refuerzo de la compresión** — protección contra expansión activada de forma predeterminada, paquetes Caveman para DE / FR / JA + chino (wényán) y filtros RTK para Gradle y .NET. → [Compresión](docs/compression/COMPRESSION_ENGINES.md) - **💸 Coste de tarifa plana transparente** — los proveedores de suscripción / planes de programación muestran un coste de **$0** en los análisis; el presupuesto, la cuota y el enrutamiento siguen realizando estimaciones. → [Referencia de la API](docs/reference/API_REFERENCE.md) - **⚖️ Enrutamiento Quota-Share** — distribuye de forma justa la cuota de una cuenta compartida entre claves agrupadas, conservando el trabajo para que las porciones inactivas se presten. → [Guía de resiliencia](docs/architecture/RESILIENCE_GUIDE.md) - **🤖 Configuración de CLI/agentes con un solo comando** — 13 comandos `setup-*` registrados; `omniroute run` inicia 7 CLI (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` admite 10 destinos con un selector interactivo de proveedor+modelo y favoritos por contexto. → [Integraciones de CLI](docs/guides/CLI-INTEGRATIONS.md) - **🛰️ Modo remoto** — controle una instancia remota de OmniRoute con tokens de ámbito limitado (`connect` / `contexts` / `tokens`) y un asistente de OAuth `antigravity` para instalaciones en VPS. → [Modo remoto](docs/guides/REMOTE-MODE.md) - **🧭 Enrutamiento automático más inteligente** — combos `auto/:`, **Fusion** (panel de modelos + juez), enrutamiento que tiene en cuenta la tarea y anulaciones por solicitud del modelo / modo / presupuesto en USD. → [Auto-Combo](docs/routing/AUTO-COMBO.md) - **🗜️ Compresión extensible** — 12 motores combinables + Compression Studios: LLMLingua-2, Ultra de dos niveles, omniglyph, control de fidelidad por paso, GCF v3.2 y editor de reordenación mediante arrastrar y soltar. → [Compresión](docs/compression/COMPRESSION_ENGINES.md) - **🕵️ Descifrado MITM transparente (TPROXY)** — capture las CLI que ignoran las variables de entorno del proxy, con una CA por SNI y un instalador para el almacén de confianza. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md) - **💸 Telemetría de costes en todas partes** — encabezados de coste/uso `X-OmniRoute-*` en cada endpoint, encabezado de ahorro por acierto de caché y cuotas de gasto en USD por clave. → [Referencia de la API](docs/reference/API_REFERENCE.md) - **🧠 Memoria bajo su control** — desactivada de forma predeterminada, cuantización vectorial int8 y degradación tipada opcionales, `x-omniroute-no-memory` por solicitud. → [Memoria](docs/frameworks/MEMORY.md) - **🛡️ Seguridad** — protección contra la inyección de prompts en cada ruta LLM (suite de pruebas de red team), mecanismo de protección opcional para enmascarar credenciales (censura claves de API/secretos filtrados en ambas direcciones), búsqueda web gratuita de último recurso con DuckDuckGo y una puerta de acceso OIDC opcional para el panel de control (el inicio de sesión con contraseña permanece siempre disponible). → [Mecanismos de protección](docs/security/GUARDRAILS.md) - **🖼️ Nuevos endpoints** — `/v1/ocr` (Mistral OCR) y `/v1/audio/translations` (estilo Whisper) completan la oferta multimedia. → [Referencia de la API](docs/reference/API_REFERENCE.md) - **🎨 Generación de imágenes / vídeo / audio** — una API para contenido multimedia: xAI Grok Imagine y vídeo de Novita AI, ComfyUI, Magnific, Adobe Firefly, Segmind y proveedores de voz como ElevenLabs. → [Referencia de la API](docs/reference/API_REFERENCE.md) - **🌍 Despliegue y operaciones** — `basePath` de proxy inverso, detección automática del idioma del navegador, seguimiento de dispositivos por clave, confianza MITM sin privilegios de root y localización zh-TW. → [Entorno](docs/reference/ENVIRONMENT.md) - **🤝 Más proveedores y agentes** — agentes en la nube (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) con navegador + inicio de sesión mediante OAuth, tarjeta de primer nivel para Ollama, Claude Opus 5 y Sonnet 5, asociación oficial con Kimi (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… y un **catálogo actualizado de 352 proveedores**. → [Proveedores](docs/reference/PROVIDER_REFERENCE.md) - **📡 Transparencia del enrutamiento** — cada respuesta incluye un encabezado `X-OmniRoute-Decision` que indica la estrategia/el proveedor/la latencia que la atendió; una nueva estrategia de combo `cache-optimized` junto con el factor `cacheAffinity` de Auto-Combo redirige las solicitudes repetidas a la conexión que conserva el prefijo en caché; y un endpoint de solo lectura `/v1/auto-combo/{channel}/candidates` expone el conjunto activo de candidatos de un canal `auto/*`. → [Auto-Combo](docs/routing/AUTO-COMBO.md) - **⚡ Rendimiento local e infraestructura** — Redis local con un clic, desplegadores de relés para Cloudflare Workers / Deno Deploy y Bifrost y Mux como servicios integrados supervisados. → [Servicios integrados](docs/frameworks/EMBEDDED-SERVICES.md) - **🧩 También incluido** — framework de plugins + marketplace, frameworks de habilidades Omni/Agent/GitHub, integración con bóvedas de Obsidian (22 herramientas MCP), API Batch y Files compatibles con OpenAI, caché semántica de respuestas, gamificación con tablas de clasificación, descubrimiento de agentes ACP (15 agentes integrados), exportación programada de registros a BigQuery, distribución paralela multimodelo `auto/chaos`, un puente para bots de Telegram, un gestor de versiones integrado en la aplicación y clasificaciones de proveedores gratuitos LMArena-ELO. → [Documentación](docs/README.md)
## 🤖 CLI y agentes de programación compatibles > Una sola configuración — `http://localhost:20128/v1` — y **todos** los IDE o CLI con IA funcionan con modelos gratuitos y de bajo coste.
Claude Code
Claude Code
                           
Codex CLI
Codex CLI
                           
Cline
Cline
                           
Kilo Code
Kilo Code
Zoo Code
Zoo Code
Continue
Continue
                           
Aider
Aider
                           
ForgeCode
ForgeCode
                           
jcode
jcode
                           
DeepSeek TUI
DeepSeek TUI
                           
CodeWhale
CodeWhale
                           
OpenCode
OpenCode
                           
Factory Droid
Factory Droid
                           
GitHub Copilot CLI
Copilot CLI
                           
Cursor CLI
Cursor CLI
                           
Smelt
Smelt
                           
Pi (pi-coding-agent)
Pi
                           
Grok Build (xAI)
Grok Build
                           
Hermes Agent (Nous Research)
Hermes Agent
                           
OpenClaw
OpenClaw
                           
Goose
Goose
                           
Open Interpreter
Open Interpreter
                           
Warp AI
Warp AI
                           
deyin.ai
deyin.ai
                           
+ también funciona con · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · cualquier herramienta compatible con OpenAI
📖 Configuración por herramienta para las 36 herramientas (26 CLI de código + 10 agentes CLI) → [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 Plugin de OpenCode → [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)

**Ejecuta cualquier CLI compatible mediante OmniRoute con un solo comando**: no se escriben archivos de configuración, las credenciales se inyectan por proceso y Qwen/Gemini obtienen un directorio personal aislado y desechable: ```bash omniroute run claude --model openai/gpt-5.4 # Claude Code omniroute run codex --model glm/glm-5.2 # CLI de OpenAI Codex omniroute run aider --model glm/glm-5.2 -- --message "reply OK" omniroute run goose --model glm/glm-5.2 omniroute run opencode --model glm/glm-5.2 -- run "reply OK" omniroute run qwen --model glm/glm-5.2 -- -p "reply OK" omniroute run gemini --model glm/glm-5.2 -- --skip-trust -p "reply OK" # O selecciona el proveedor y el modelo de forma interactiva y escribe la configuración propia de la herramienta: omniroute configure codex # también: claude opencode qwen aider goose gemini cline continue kilo ``` Cada comando respeta el contexto remoto activo (`omniroute connect `), `--dry-run` muestra una vista previa de las variables de entorno y los argumentos exactos sin ejecutarlos, y `--api-key-env NAME` evita que los secretos queden registrados en el historial de tu shell. → [Integraciones con CLI](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 372 proveedores de IA — 154 marcados como gratuitos en el catálogo
> **372 proveedores registrados** en las colecciones canónicas de chat, medios, búsqueda, ejecución local, agentes en la nube y sistema, incluidos **154 con metadatos de descubrimiento `hasFree: true`**. El registro de modelos de chat abarca **237 proveedores / 3,009 pares distintos de proveedor-modelo / 1,443 IDs de modelo sin procesar**; el catálogo independiente de presupuesto gratuito contiene **491 filas por modelo**, **35 fondos recurrentes** y **54 proveedores gratuitos para siempre, recurrentes o sin clave**. Estos denominadores son diferentes por diseño; las definiciones y los cálculos con fondos deduplicados se encuentran en la [Referencia de proveedores](docs/reference/PROVIDER_REFERENCE.md) y los [Niveles gratuitos](docs/reference/FREE_TIERS.md).
### 🏢 Todos los laboratorios principales — mediante un único endpoint
OpenAI
OpenAI
                           
Anthropic
Anthropic
                           
Gemini
Gemini
                           
xAI Grok
xAI Grok
                           
DeepSeek
DeepSeek
                           
Mistral
Mistral
                           
Qwen
Qwen
                           
Meta Llama
Meta Llama
                           
Groq
Groq
                           
NVIDIA
NVIDIA
                           
MiniMax
MiniMax
                           
Cohere
Cohere
                           
Perplexity
Perplexity
                           
Hugging Face
HuggingFace
                           
Together
Together
                           
Fireworks
Fireworks
                           
Cloudflare
Cloudflare
                           
Baidu
Baidu
                           
…y más de 330 adicionales; cada icono se obtiene en tiempo real desde el catálogo de proveedores del panel. 📖 [Referencia de proveedores](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 Gratis para siempre — $0, sin tarjeta
OpenCode Zen
OpenCode Zen
DeepSeek V4, Nemotron 3
Sin límite de tokens
Kilo Code
Kilo Code
Enrutador automático, Tencent Hy3
Gratis para siempre
Requesty
Requesty
GPT-OSS 120B, Nemotron
Gratis para siempre
SiliconFlow
SiliconFlow
DeepSeek V3.2 / R1
Plan gratuito
Z.AI GLM
Z.AI GLM
GLM-4.7 / 4.5-Flash
Gratis para siempre
Baidu ERNIE
Baidu ERNIE
ERNIE 4.0
Gratis para siempre
Qoder AI
Qoder AI
Qwen3-Max, Kimi-K2
GRATIS e ilimitado
Pollinations
Pollinations
GPT, Llama, Claude
No se necesita clave
Cloudflare AI
Cloudflare AI
Más de 50 modelos
10 mil neuronas/día
NVIDIA NIM
NVIDIA NIM
GLM, MiniMax
~40 RPM gratis
Cerebras
Cerebras
GLM 4.7, GPT-OSS
Crédito único de 5 $; se requiere tarjeta
OpenRouter
OpenRouter
Modelos :free
+10 $ → más RPM
📖 Catálogo completo legible por máquinas → [`docs/reference/PROVIDER_REFERENCE.md`](docs/reference/PROVIDER_REFERENCE.md)
## 🖥️ Dónde se ejecuta OmniRoute — en cualquier lugar
> La misma aplicación, tu máquina, tus reglas. Desde una instalación global de npm hasta **tu teléfono** mediante Termux.
PlataformaInstalaciónAspectos destacados
📦 npm (global)npm install -g omnirouteUn solo comando, cualquier SO
🐳 Dockerdocker run … diegosouzapw/omnirouteMultiarquitectura: AMD64 + ARM64
🖥️ Escritorio (Electron)npm run electron:buildVentana nativa + bandeja del sistema — Windows / macOS / Linux
🎩 Barra de menús (OmniRouteTray)brew install --cask zoispag/tap/omniroute-traySupervisa y actualiza automáticamente el servidor — macOS
💪 ARMarm64 nativoRaspberry Pi, servidores ARM, Apple Silicon
📱 Android (Termux)pkg install nodejs && npx -y omnirouteSe ejecuta en tu teléfono, las 24 horas, sin root
📲 PWA"Añadir a la pantalla de inicio"Pantalla completa, sin conexión, instalable desde el navegador
🧩 Plugin de OpenCode@omniroute/opencode-providerIntegración nativa con OpenCode
🤖 VS Code Copilot Chatinstala la extensión OmniCopilotTodos los modelos de OmniRoute en el selector nativo de Copilot Chat — versión estable e Insiders
🛠️ Desde el código fuentenpm install && npm run devModifícalo, contribuye
📖 [Guía de Docker](docs/guides/DOCKER_GUIDE.md) · [Escritorio](electron/README.md) · [Bandeja de la barra de menús](https://github.com/zoispag/omniroute-tray) · [Termux](docs/guides/TERMUX_GUIDE.md) · [PWA](docs/guides/PWA_GUIDE.md) · [OpenCode](docs/frameworks/OPENCODE.md)
### 🧩 Novedad: OmniRoute dentro del Copilot Chat nativo de VS Code
> Sin una nueva barra lateral ni una nueva interfaz de chat: cada modelo ofrecido por OmniRoute aparece directamente en el > **selector de modelos de Copilot Chat que ya utilizas**. Desde VS Code 1.122, los modelos de proveedores funcionan > sin iniciar sesión en GitHub ni disponer de una suscripción a Copilot — modo agente, llamadas a herramientas y visión, > gratis. Instala la extensión **[OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)**, conéctala a tu servidor OmniRoute (de forma predeterminada, `localhost:20128`) y abre Copilot Chat → selector de modelos → **Administrar modelos…** → **OmniRoute**.
TiendaEnlaceCompatible con
🧩 VS Code MarketplaceInstalar →VS Code — versión estable e Insiders
🔓 Open VSX RegistryInstalar →Cursor, Windsurf, VSCodium, Theia, code-server, Gitpod, Antigravity, Kiro…
Desde el editor: abre la vista **Extensiones**, busca **"OmniRoute"** y haz clic en **Instalar** — funciona de la misma forma en ambas tiendas. El código fuente, los problemas y el manual de publicación se encuentran en [diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot). 📖 [Guía de VS Code Copilot Chat](docs/guides/VSCODE-COPILOT.md) — configuración, qué muestra el selector, panel en una pestaña y resolución de problemas
### 🎩 Novedad: OmniRouteTray — tu puerta de enlace en la barra de menús
> `omniroute serve` funciona mejor cuando está siempre activo. **[OmniRouteTray](https://github.com/zoispag/omniroute-tray)** > lo convierte en una aplicación para la barra de menús de macOS que puedes configurar y olvidar: inicia el servidor, lo mantiene activo > tras los reinicios, lo actualiza en el mismo lugar y deja tu presupuesto de tokens en tiempo real a un solo clic — **sin > dejar abierta una ventana del terminal ni tener que ocuparte de `npm install -g omniroute`.** Creado con [Tauri v2](https://v2.tauri.app/) (un núcleo de Rust minúsculo), incluye su propio entorno de ejecución firmado de Node 24 y gestiona una instalación de OmniRoute propiedad de la aplicación, por lo que nunca entra en conflicto con tus instalaciones globales de `node`/`bun`. **Comparte tu configuración y base de datos existentes en `~/.omniroute/`** — así que es el mismo OmniRoute que ya utilizas, solo que con sombrero. 🎩
Qué haceCómo
🟢 Supervisa el servidorInicia omniroute serve y adopta una instancia que ya esté en ejecución en lugar de duplicarla
📊 Uso en tiempo real de un vistazoBarras de cuota de los proveedores, límites de sesión/semanales de Claude con cuenta atrás hasta el restablecimiento y desglose de costes de 30 días
🔄 Actualización automática en el mismo lugarInstalación por etapas, sustitución atómica y reversión en caso de fallo — siempre en la versión más reciente
🚀 Inicio al iniciar sesiónInicio opcional al iniciar sesión; solo en la bandeja, sin icono en el Dock
🩺 Diagnóstico y registrosDiagnóstico con un solo clic y acceso a los registros del servidor
```sh brew install --cask zoispag/tap/omniroute-tray ``` ¿Prefieres una descarga? Obtén el archivo .dmg más reciente en Versiones. El código fuente, las incidencias y la documentación de compilación están disponibles en zoispag/omniroute-tray.
💛 Un proyecto comunitario de @zoispag, no una versión oficial de OmniRoute.

## 🔒 Privado y con prioridad local
Privado y con prioridad local: la puerta de enlace y el plano de control de OmniRoute se ejecutan en tu equipo. Los prompts se envían al proveedor ascendente seleccionado para cada solicitud; OmniRoute no añade ningún salto alojado para procesar prompts y la telemetría está deshabilitada de forma predeterminada. Las credenciales se cifran en reposo con AES-256-GCM; los controles incluyen delimitación del alcance de las claves de API, filtrado de IP, límites de frecuencia, protecciones contra inyección de prompts, depuración de encabezados ascendentes, eliminación opcional de PII, errores saneados y un registro de auditoría local en SQLite. OmniRoute tiene licencia MIT y puede autoalojarse. 📖 [Autorización](docs/architecture/AUTHZ_GUIDE.md) · [Medidas de protección](docs/security/GUARDRAILS.md) · [Cumplimiento](docs/security/COMPLIANCE.md)
## 🔌 CLI completa + A2A y MCP
> Más allá del servidor, OmniRoute es una **consola de línea de comandos completa** con **más de 80 comandos**, además de protocolos abiertos para agentes que permiten que un agente de IA la controle **por sí solo**. ### ⌨️ Una CLI real (no solo `start`) ```bash omniroute # inicia la puerta de enlace y el panel (puerto 20128) omniroute chat # cliente de chat TUI interactivo (comandos con barra: /model /combo /skill /memory) omniroute setup # asistente guiado para la primera ejecución omniroute doctor # diagnostica proveedores, puertos y dependencias nativas ``` ### 🛰️ Modo remoto: ejecuta la CLI aquí y OmniRoute en un VPS ¿OmniRoute está en un servidor? Contrólalo desde tu portátil con la **misma CLI**. Inicia sesión una vez con un token de acceso con alcance limitado; a partir de entonces, cada comando se dirigirá al servidor remoto. ```bash omniroute connect 192.168.0.15 # contraseña → token con alcance limitado, guardado como contexto omniroute models list # ← se ejecuta en el servidor REMOTO omniroute configure codex # ← selecciona un modelo remoto y escribe un perfil local de Codex omniroute tokens create --name ci --scope read # genera tokens con permisos más limitados para otros equipos omniroute contexts use default # ← vuelve al servidor local ``` Los tokens tienen los alcances `read` / `write` / `admin`; las rutas que generan procesos siguen estando disponibles únicamente mediante loopback. 📖 [Modo remoto](docs/guides/REMOTE-MODE.md)
Demostración animada en una terminal de la CLI de OmniRoute — omniroute providers list, omniroute combo list y omniroute health — recorriendo los 86 comandos de nivel superior: providers · oauth · keys · combo · nodes · models · cache · compression · cost · usage · quota · health · resilience · telemetry · logs · audit · mcp · a2a · cloud · memory · skills · eval · tunnel · backup · sync · webhooks · policy · pricing · translator · simulate …
### 🤝 Conecta un agente y este controlará el propio OmniRoute Expón OmniRoute mediante **MCP**, **A2A**, una **API REST**, **webhooks** o una **CLI remota**: cualquier agente compatible (o tu propio código) obtiene acceso a toda la puerta de enlace: enrutamiento, proveedores, combos, caché, compresión y memoria, de forma autónoma. Los endpoints HTTP indicados a continuación se sirven bajo `http://localhost:20128`.
InterfazEndpoint / comandoÚsalo para
🧰 MCP (stdio)omniroute --mcpIntegrarlo con Claude Desktop, Cursor o cualquier cliente MCP
🌊 MCP (HTTP)/api/mcp/streamMCP remoto: 110 herramientas, 33 alcances (aplicación opcional) y registro de auditoría completo
📡 MCP (SSE)/api/mcp/sseTransporte MCP por streaming
🤝 A2A/.well-known/agent.jsonAgente a agente, JSON-RPC 2.0 + SSE, 6 habilidades
🌐 API REST/v1/*Compatible con OpenAI: chat, embeddings, imágenes, audio y OCR
🔔 Webhooks/api/webhooksEnvía eventos de solicitudes y cuotas a Slack, Discord, Telegram o cualquier URL
🛰️ CLI remotaomniroute connect Controla una instancia remota con tokens de acceso de alcance limitado
```bash # Proporciona a Claude Code el conjunto completo de herramientas de OmniRoute mediante MCP: claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream ``` 📖 [Servidor MCP](docs/frameworks/MCP-SERVER.md) · [Servidor A2A](docs/frameworks/A2A-SERVER.md) · [Protocolos para agentes](docs/frameworks/AGENT_PROTOCOLS_GUIDE.md)
## 🗜️ Ahorra entre un 15 y un 95% de tokens — Automáticamente
### 📖 Cómo funciona — canalización, arquitectura y cálculo del ahorro Canalización de compresión de OmniRoute: una solicitud ilustrativa del cliente de 10 000 tokens pasa por 12 motores componibles — Session-Dedup, CCR, Lite, RTK, Responses Tool Output, Headroom, Relevance, Caveman, Aggressive, LLMLingua-2, Ultra y OmniGlyph — y puede llegar al proveedor con unos 1080 tokens en el ejemplo documentado de apilamiento. El contenido estructurado está protegido mediante mecanismos de preservación y controles de fidelidad en cada paso; los modos explícitamente con pérdida o experimentales pueden transformar el contenido apto. La combinación apilada predeterminada ejecuta `RTK → Caveman`. Cuando ambos actúan sobre la misma carga útil de herramientas/contexto, los ahorros se acumulan: ```txt combined = 1 − (1 − RTK) × (1 − Caveman_input) average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2% range = 78.4 – 94.6% ``` Los bloques de código, las URL, JSON y los datos estructurados están **siempre protegidos** por el motor de preservación. > **¿Por qué usar muchos tokens cuando unos pocos bastan?** Cada solicitud pasa por la canalización de compresión de OmniRoute **de forma transparente**, sin cambios en el cliente. Ahora es una **pila de 12 motores componibles** que se ejecutan en orden y se combinan de distintas maneras según cada combinación de enrutamiento, basándose en ideas de [RTK](https://github.com/rtk-ai/rtk), [Caveman](https://github.com/JuliusBrussee/caveman) (⭐ más de 90K), [LLMLingua-2](https://github.com/microsoft/LLMLingua) y [Troglodita](https://github.com/leninejunior/troglodita) (PT-BR). ### 🧱 La pila de 12 motores Los motores se ejecutan en el orden de la canalización; cada uno puede activarse o desactivarse y configurarse de forma independiente para cada combinación:
#MotorQué hace
1Session-DedupDescarta contenido repetido entre turnos (direccionado por contenido, entre turnos)
2CCRArchiva bloques grandes tras marcadores de recuperación, que se obtienen bajo demanda
3LiteRecorte de espacios en blanco y URL de imágenes (base de baja latencia)
4RTKFiltrado, deduplicación y truncamiento inteligentes de resultados de herramientas (con conocimiento de los comandos)
5Responses Tool OutputJSON priorizando la compresión sin pérdidas + compresión limitada de diagnósticos para salidas de shell/parches/búsquedas/compilaciones (Responses API)
6HeadroomCompactación tabular sin pérdidas de matrices JSON (~30%) mediante un códec GCF integrado
7RelevancePuntuación extractiva de oraciones en relación con la última consulta del usuario
8CavemanCompresión de prosa basada en reglas (~65–75% en la salida)
9AggressiveResumen + envejecimiento progresivo de los turnos antiguos
10LLMLingua-2Poda semántica mediante ML con MobileBERT ONNX, segura para el código y asíncrona
11UltraPoda heurística de tokens con un nivel opcional de modelo pequeño (SLM)
12OmniGlyphCodificación experimental del contexto como imagen para Claude Fable 5 medido en la conexión directa con Anthropic; los transformadores GPT 5.6 permanecen en modo de fallo seguro hasta recibir confirmaciones del proveedor. Cuatro perfiles de compresión (agresivo de forma predeterminada, equilibrado, seguro para código y sin procesamiento) (el más agresivo; requiere activación explícita)
Los bloques de código, las URL y los datos estructurados se conservan **siempre** byte por byte. Los **ajustes preestablecidos con un clic** combinan los motores:
ModoAhorroIdeal para
🪶 Lite~15%Opción predeterminada segura y siempre activa
🪨 Standard (Caveman)~30%Programación diaria
⚡ Aggressive~50%Sesiones largas con uso intensivo de herramientas
🔥 Ultra~75%Máximo ahorro
🧰 RTK60–90%Salida de shell/pruebas/compilaciones/git
🔗 Stacked (RTK → Caveman)78–95%Prompts mixtos + registros de herramientas
**Ejemplo real — modo Standard:** > **Antes (69 tokens):** _"La razón por la que tu componente de React se vuelve a renderizar probablemente sea que estás creando una nueva referencia de objeto en cada ciclo de renderizado. Cuando pasas un objeto inline como prop, la comparación superficial de React lo detecta como un objeto diferente cada vez, lo que desencadena otro renderizado. Recomendaría usar useMemo para memorizar el objeto."_ > > **Después (19 tokens):** _"Nueva referencia de objeto en cada renderizado. Prop de objeto inline = nueva referencia = nuevo renderizado. Envuélvelo en useMemo."_ > > **La misma respuesta. Un 72% menos de tokens. Cero pérdida de precisión.** ✅ **Ejemplo en PT-BR — modo [Troglodita](https://github.com/leninejunior/troglodita):** > **Antes (42 tokens):** _"El problema es que el componente se vuelve a renderizar porque se crea una nueva referencia de objeto en cada ciclo de renderizado. Recomendaría usar useMemo."_ > > **Después (12 tokens):** _"Nuevo renderizado: referencia nueva en cada ciclo (objeto inline recreado). Usar `useMemo`."_ > > **Misma respuesta. ~70 % menos tokens. Precisión técnica intacta.** ✅
### 🎚️ Más allá de los motores: estilos de salida, ajuste adaptativo y control por solicitud Los 12 motores anteriores reducen lo que **entra**. Otras tres capas determinan **cómo**, **cuándo** y qué **sale**: - **🪄 Estilos de salida** _(control del eje de salida)_ — inyectan instrucciones deterministas y compatibles con la caché para dar forma a las respuestas; se pueden combinar, cada una con intensidad `lite` / `full` / `ultra`. Añadir un estilo requiere una sola línea en el registro: - **Prosa concisa** — elimina relleno / artículos / ambigüedades; mantiene intacta la sustancia técnica. - **Menos código** — YAGNI de «desarrollador sénior perezoso»: el cambio funcional más pequeño, sin estructuras no solicitadas. - **Coleta (desarrollador sénior perezoso)** — asciende por la escala YAGNI, corrige la causa raíz y produce el diff funcional más pequeño. - **Tengo TDAH (acción primero)** — empieza con la siguiente acción, pasos numerados, un siguiente paso concreto, sin preámbulo. - **CJK conciso (文言)** — estilo ultraconciso de chino clásico (restringido a la configuración regional `zh`). - **🎯 Presupuesto de contexto adaptativo** _(el ajuste)_ — en lugar de un único umbral de tokens activado o desactivado, escala los motores más económicos y con menor pérdida solo hasta donde sea necesario para **caber en la ventana de contexto del modelo**. Política: `reserve-output` (predeterminada, adaptada al modelo) · `percentage` · `absolute`. Modo: `floor` (garantiza que quepa) · `replace-autotrigger` (prevalece tu elección explícita) · `off` (umbral heredado). - **🎛️ Dónde se decide la compresión** _(precedencia, de mayor → menor)_ — encabezado `x-omniroute-compression` por solicitud › anulación de combinación de enrutamiento › perfil con nombre activo › adaptación / activación automática › valor predeterminado del panel › desactivada. El plan aplicado se devuelve en el encabezado de respuesta `X-OmniRoute-Compression: ; source=`. Activa automáticamente mediante un umbral de tokens, habilita el ajuste adaptativo, fija un perfil con nombre, establece una configuración puntual por solicitud o asigna una canalización por combinación de enrutamiento: elige lo que mejor se adapte a la carga de trabajo. Un **sistema de evaluación** sin conexión y opcional (`npm run eval:compression`) puntúa la fidelidad frente al ahorro usando un corpus fijado antes de aplicar un cambio. 📖 [`COMPRESSION_GUIDE.md`](docs/compression/COMPRESSION_GUIDE.md) · [`RTK_COMPRESSION.md`](docs/compression/RTK_COMPRESSION.md) · [`COMPRESSION_ENGINES.md`](docs/compression/COMPRESSION_ENGINES.md)
# ⚡ Inicio rápido
**1) Instala y ejecuta** ```bash npm install -g omniroute omniroute ``` > 💡 ¿Ves `npm warn ERESOLVE` o advertencias sobre dependencias entre pares? [Son inofensivas](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated). > **¿Usas npm 11 o una versión posterior?** npm puede bloquear los scripts del ciclo de vida de los paquetes salvo que estén permitidos. El `postinstall` de OmniRoute (`node scripts/build/postinstall.mjs`) es necesario para preparar sus archivos de ejecución nativos. Al realizar la instalación global, permite los paquetes indicados en la advertencia de npm. Para el conjunto de paquetes notificado por OmniRoute 3.8.51: > > ```bash > npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute > ``` > > Para reutilizar esta lista de permitidos en futuras instalaciones globales, configúrala una vez y después instala de forma habitual: > > ```bash > npm config set allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild --location=user > npm install -g omniroute > ``` > > La lista de dependencias puede cambiar entre versiones; si npm muestra una lista diferente, utiliza los nombres de paquete de esa advertencia. Permitir un paquete autoriza la ejecución de sus scripts de instalación. > **¿Usas Gemini Web u otro proveedor basado en cookies web?** El paquete npm incluye > Playwright, pero no su binario de Chromium. Consulta la nota sobre la > [configuración de Chromium para Playwright](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium) > antes de realizar la primera solicitud al proveedor web. Panel en `http://localhost:20128` · API en `http://localhost:20128/v1`. **2) Conecta un proveedor apto usando tu propia cuenta** Panel → **Proveedores** → elige un proveedor cuyas condiciones y cuota actuales se ajusten a tu caso de uso → añade su clave de API o completa el flujo de su cuenta. Los niveles gratuitos pueden requerir registro, aprobación o un método de pago. Consulta la [Guía de niveles gratuitos](docs/getting-started/FREE-TIERS-GUIDE.md); no se garantiza la disponibilidad sin clave y los proveedores marcados como `tos: avoid` se excluyen de `auto` de forma predeterminada. **3) Configura tu herramienta de programación** ```txt URL base: http://localhost:20128/v1 Clave de API: [cópiala desde Panel → Endpoints] Modelo: auto (enruta entre conexiones aptas o elige un proveedor/modelo) ``` **4) Comprueba que funciona** ```bash curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY" ``` Deberías ver tus modelos conectados en la lista. 🎉 Eso es todo: empieza a programar y OmniRoute se encargará automáticamente del enrutamiento y de usar alternativas si es necesario. Si tu cliente no puede enviar encabezados personalizados, OmniRoute también ofrece alias de compatibilidad con tokens: ```txt Catálogo de OpenAI: http://localhost:20128/vscode/YOUR_KEY/ Modelos de OpenAI: http://localhost:20128/vscode/YOUR_KEY/models Chat de OpenAI: http://localhost:20128/vscode/YOUR_KEY/chat/completions Respuestas de OpenAI: http://localhost:20128/vscode/YOUR_KEY/responses Chat de Ollama: http://localhost:20128/vscode/YOUR_KEY/api/chat Etiquetas de Ollama: http://localhost:20128/vscode/YOUR_KEY/api/tags ``` Úsalos solo con clientes que no puedan adjuntar `Authorization: Bearer ...`. La autenticación mediante encabezado sigue siendo el modo recomendado.
## 📦 Más métodos de instalación — Docker, código fuente, pnpm, Arch **🐳 Docker** ```bash docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \ -p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest ``` `:latest` sigue la versión SemVer estable **publicada** más alta. No sigue la rama `main` de git. Fija `:X.Y.Z` para GitOps. Consulta [Canales de publicación de Docker](docs/guides/DOCKER_GUIDE.md#release-channels). La imagen fija **`OMNIROUTE_MEMORY_MB=1024`**. Esto es suficiente para el panel y un chat ligero. Los **agentes de programación** (`POST /v1/responses` desde Claude Code, Codex, Grok, …) necesitan un heap de V8 mucho mayor o el proceso genera un `FATAL ERROR` al alcanzar ~12 GiB con dos contextos largos que se solapan. Asigna al contenedor más memoria que el heap (los búferes nativos se encuentran fuera de V8): | Carga de trabajo | Heap (`-e OMNIROUTE_MEMORY_MB`) | Contenedor (`--memory`) | | -------------------------------------- | ------------------------------------------ | ----------------------- | | Panel / chat ligero | `1024` (valor predeterminado de la imagen) | ≥2 g | | Un agente de programación | `8192` | ≥10 g | | Dos `/v1/responses` largos simultáneos | `10240`–`12288` | ≥12–16 g | ```bash docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \ -e OMNIROUTE_MEMORY_MB=8192 --memory=10g \ -p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest ``` Tabla completa: [Guía de Docker — RAM en tiempo de ejecución](docs/guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents). > **Canal de versiones preliminares de Docker:** `diegosouzapw/omniroute:next` y > `diegosouzapw/omniroute:next-web` siguen la rama `release/v*` predeterminada > actual. Estas etiquetas mutables están destinadas únicamente a probar correcciones > aún no publicadas y **no son compatibles con entornos de producción**. Consulta > [Canales de publicación de Docker](docs/guides/DOCKER_GUIDE.md#release-channels). **🥟 Bun** La instalación estándar mediante `bun install` y la instalación global (`bun install -g omniroute`) son compatibles gracias a la detección del entorno de ejecución Bun: - **`bun:sqlite` integrado**: OmniRoute utiliza el controlador `bun:sqlite` integrado de Bun cuando se ejecuta en Bun y recurre a `better-sqlite3` en Node.js o a `sql.js`. - **Selección automática del empaquetador Webpack durante el desarrollo**: El entorno de desarrollo (`bun run dev`) detecta automáticamente Bun y desactiva Turbopack en favor de Webpack para evitar incompatibilidades con los enlaces nativos de V8. Las compilaciones de producción (`bun run build`) respetan `OMNIROUTE_USE_TURBOPACK` exactamente igual que en Node: Turbopack de forma predeterminada o `OMNIROUTE_USE_TURBOPACK=0` para compilar con Webpack (`Dockerfile.bun` lo expone como un `--build-arg`). - **Dockerfile específico para Bun**: `Dockerfile.bun` multietapa para despliegues de producción nativos de Bun (`docker build -f Dockerfile.bun -t omniroute:bun .`). ```bash # Instalar y ejecutar con Bun bun install bun run dev ``` **🛠️ Desde el código fuente** ```bash cp .env.example .env && npm install PORT=20128 npm run dev ``` **📦 pnpm** ```bash pnpm add -g omniroute@latest --allow-build=better-sqlite3 --allow-build=@swc/core && omniroute ``` **🐧 Arch Linux (AUR)** ```bash yay -S omniroute-bin && systemctl --user enable --now omniroute.service ``` **🔧 Nix (Flake)** ```bash # Usando flakes de Nix nix develop npm run dev # O usando devbox devbox run npm run dev ``` 📖 [Guía de Docker](docs/guides/DOCKER_GUIDE.md) — Perfiles de Compose, HTTPS con Caddy y túneles de Cloudflare. **🦭 Podman** ```bash # 1. Preparar el directorio de datos montado mediante enlace mkdir -p data # 2. Solo para Linux + Podman local sin privilegios de root (nunca un cliente remoto de Podman Machine): podman unshare chown 1000:1000 ./data # 3. Establecer la indicación del entorno de ejecución, compilar la imagen local de Compose e iniciar echo "CONTAINER_HOST=podman" >> .env podman compose --profile base up -d --build ``` En macOS o Windows, Podman utiliza una Podman Machine remota: omite `podman unshare` y sigue las [instrucciones del directorio de datos específicas para cada topología](contrib/podman/README.md#data-directory-permissions-by-topology). 📖 [Guía de Podman](contrib/podman/README.md) — Compilaciones de Compose, Podman Machine y configuración de Quadlet con Linux/systemd. **⚡ Instalación más rápida / ligera (omitir la compilación nativa)** El motor SQLite nativo (`better-sqlite3`) es una dependencia **opcional**, por lo que una instalación global nunca se bloquea al compilar desde el código fuente: utiliza un binario precompilado cuando hay uno compatible con tu plataforma/Node y, de lo contrario, recurre de forma transparente a un motor de JavaScript puro (`node:sqlite` en Node 22+; en caso contrario, el WASM `sql.js` incluido), sin necesidad de herramientas de compilación. Para omitir por completo la preparación nativa posterior a la instalación (CI, entornos sin interfaz gráfica o máquinas lentas): ```bash OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # CI=1 también la omite ``` Para conseguir las instalaciones más rápidas, utiliza preferentemente **pnpm** (almacén direccionado por contenido + enlaces duros; consulta la sección anterior). Para un entorno de ejecución sin panel ni interfaz gráfica, utiliza el perfil `base` de Docker (descrito anteriormente) o la [guía de Termux](docs/guides/TERMUX_GUIDE.md). La CLI y el panel web se sirven mediante el mismo proceso y en un único puerto, por lo que actualmente no existe un paquete independiente solo para la CLI.
# 🎬 OmniRoute en acción
## 📹 Guías en video
Instantánea del panel del 2026-08-24 · Catálogo bruto: YT 809 | TT 137 | IG 124 · Actualidad (días): YT 1 | TT 21 | IG 22
Reel de Instagram
🎬 #1 — Instagram
nick_saraev — 3,042,474 visualizaciones
Reel de Instagram — theopenstack
🎬 #2 — Instagram
theopenstack — 692,419 visualizaciones
TikTok — milesreevesai
🎬 #3 — TikTok
milesreevesai — 620,400 visualizaciones
YouTube — Vaibhav Sisinty
🎬 #4 — YouTube
Vaibhav Sisinty — 391,109 visualizaciones
Reel de Instagram — buildwithai.club
🎬 #5 — Instagram
buildwithai.club — 347,652 visualizaciones
**Clasificación completa (URL canónicas sin duplicados, `v > 0`, mayor alcance):** | #1 | #2 | #3 | #4 | #5 | | -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | | [nick_saraev — Instagram](https://www.instagram.com/reel/Da8ZthUPK98/) — **3,042,474** | [theopenstack — Instagram](https://www.instagram.com/reel/DaSs65mMrHk/) — **692,419** | [milesreevesai — TikTok](https://www.tiktok.com/@milesreevesai/video/7667980059189366019) — **620,400** | [Vaibhav Sisinty — YouTube](https://www.youtube.com/watch?v=QucgvbO5gsM) — **391,109** | [buildwithai.club — Instagram](https://www.instagram.com/reel/DbIt9AjK7-U/) — **347,652** | | #6 | #7 | #8 | #9 | #10 | | ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | | [nivedan.ai — Instagram](https://www.instagram.com/reel/DbIrCksJiqq/) — **331,973** | [vaibhavsisinty — Instagram](https://www.instagram.com/reel/Dae05TSAK1l/) — **263,744** | [Nick Automates — YouTube Shorts](https://www.youtube.com/shorts/fZIBK_4fKq8) — **218,174** | [theroshankrishna — Instagram](https://www.instagram.com/reel/Dapjs58z0P0/) — **186,786** | [midudev — TikTok](https://www.tiktok.com/@midudev/video/7664636453544152342) — **177,800** | Métricas canónicas a fecha de 2026-08-24: **1.029 videos únicos** · **11.132.922 visualizaciones conocidas** (`v > 0`) · **639 canales/perfiles por red**. El panel bruto contiene 1.070 filas; 41 duplicados de Instagram se normalizaron mediante la URL canónica, conservando el mayor número de visualizaciones por video. > 🎬 **¿Has hecho un video sobre OmniRoute?** Abre una [incidencia](https://github.com/diegosouzapw/OmniRoute/issues/new) o un [debate](https://github.com/diegosouzapw/OmniRoute/discussions) con el enlace; lo destacaremos aquí.
# 📧 Comunidad y ayuda > Todo en un solo lugar: sigue al responsable del mantenimiento, conversa con la comunidad o abre una incidencia. | Canal | Dónde / cómo | | ---------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | | 💼 **LinkedIn** — sigue al mantenedor | [linkedin.com/in/diegosouzapw](https://www.linkedin.com/in/diegosouzapw/) | | 🐙 **GitHub** — sigue las novedades y consejos | [@diegosouzapw](https://github.com/diegosouzapw) | | 💬 **Discord** | [discord.gg/U47eFqAXCn](https://discord.gg/U47eFqAXCn) | | ✈️ **Telegram** | [t.me/omnirouteOficial](https://t.me/omnirouteOficial) | | 🟢 **WhatsApp — 🌍 Global** | [únete al grupo](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) | | 🟢 **WhatsApp — 🇧🇷 Brasil** | [únete al grupo](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) | | 🌍 **Sitio web** | [omniroute.online](https://omniroute.online) | | 🌍 **🌍Comunidad StHub OmniRoute (gratuita)** | [portal de StHub](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK) | | 📦 **Código fuente** | [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) | | 🐛 **Informar de un error** | [abre una incidencia](https://github.com/diegosouzapw/OmniRoute/issues) — adjunta la salida de `npm run system-info` | | 🤝 **Contribuir** | [CONTRIBUTING.md](CONTRIBUTING.md) · [Modelo de ramas y versiones](docs/ops/BRANCHING_MODEL.md) · elige una incidencia `good first issue` | | 💚 **Apoyar el proyecto** | [Formas de apoyar ↑](#-support-omniroute) · [GitHub Sponsors](https://github.com/sponsors/diegosouzapw) |
---
## 🛠️ Stack tecnológico
CapaTecnología
Entorno de ejecuciónNode.js 22.x / 24.x LTS — >=22.22.2 <23 || >=24.0.0 <27
LenguajeTypeScript 6.0 — 100% TypeScript en src/ y open-sse/ (sin ningún any en el núcleo desde v2.0)
FrameworkNext.js 16 + React 19 + Tailwind CSS 4
Base de datosbetter-sqlite3 (SQLite, registro WAL) + LowDB (JSON heredado) — 137 módulos de dominio, 202 migraciones
MemoriaTexto completo SQLite FTS5 + embeddings vectoriales cuantizados a int8, decaimiento tipado
EsquemasZod 4 — validación de E/S de herramientas MCP + contratos de API
ProtocolosMCP (stdio / HTTP / SSE) + A2A v0.3 (JSON-RPC 2.0 + SSE)
TransmisiónServer-Sent Events (SSE) + puente WebSocket (/v1/ws)
CompresiónPipeline de 12 motores — RTK, Caveman, LLMLingua-2 (MobileBERT ONNX), GCF, OmniGlyph
Autenticación y seguridadOAuth 2.0 (PKCE) + JWT + claves de API + autenticación MCP con ámbitos · AES-256-GCM para datos en reposo · DOMPurify
Sigilowreq-js — suplantación de huellas digitales TLS JA3 / JA4, proxy de 3 niveles
ResilienciaDisyuntor, retroceso exponencial, protección contra estampidas, autorrecuperación de combinaciones automáticas
Registropino — registros JSON estructurados con contexto de solicitud
PruebasEjecutor de pruebas de Node.js + Vitest — más de 39 000 declaraciones de pruebas estáticas en más de 5 100 archivos de pruebas rastreados (unitarias, integración, E2E, seguridad, ecosistema)
PlataformasEscritorio (Electron) · Android (Termux) · PWA (cualquier navegador)
CI/CDGitHub Actions — publicación automática en npm + Docker Hub con cada lanzamiento
EnlacesSitio web · npm · Docker Hub

## 📖 Documentación
### 📘 Primeros pasos
DocumentoDescripción
Guía del usuarioProveedores, combinaciones, integración con CLI, despliegue
Guía de configuraciónMétodos completos de instalación, configuraciones de herramientas CLI, configuración de protocolos, ajuste de tiempos de espera
Guía de herramientas CLIConfiguración específica para Claude Code, Codex, Cursor, Cline, OpenClaw, Kilo y Copilot
Modo remotoControla una instancia remota de OmniRoute (VPS) desde la CLI de tu portátil mediante tokens de acceso con alcance limitado
Configuración de Claude CodeConecta Claude Code con OmniRoute (local/remoto) mediante launch y perfiles por modelo
Inicio rápido3 pasos: instalar → conectar → configurar
### 🔧 Operaciones y despliegue
DocumentoDescripción
Guía de DockerDocker run, perfiles de Compose, HTTPS con Caddy, túneles, etiquetas de imágenes
Guía de PodmanIntegración de Quadlet con systemd, podman-compose, SELinux
Despliegue en VMGuía completa: configuración de VM + nginx + Cloudflare
Despliegue en Fly.ioDespliegue en Fly.io con almacenamiento persistente
Guía de TermuxEjecuta OmniRoute en Android mediante Termux
Guía de PWAInstalación, almacenamiento en caché y arquitectura de la aplicación web progresiva
Guía de desinstalaciónEliminación limpia para todos los métodos de instalación
Configuración del entornoVariables y referencias completas de .env
### 🧠 Funciones y arquitectura
DocumentoDescripción
ArquitecturaArquitectura del sistema, flujo de datos y funcionamiento interno
Guía de compresiónCanalización con 7 opciones: desactivada / ligera / estándar / agresiva / ultra / RTK / apilada
Compresión RTKCompresión de la salida de comandos, filtros, confianza, verificación y recuperación de la salida sin procesar
Motores de compresiónCaveman, RTK, canalizaciones apiladas, interfaces de panel/API/MCP
Formato de reglas de compresiónEsquemas de paquetes de reglas JSON para filtros de Caveman y RTK
Paquetes de idiomas para compresiónDetección de idiomas y creación de paquetes de reglas para Caveman
Guía de resilienciaDisyuntores, periodos de enfriamiento, cola, prevención de avalanchas y suplantación de TLS
Motor Auto-ComboPuntuación de 16 factores, paquetes de modos y autorreparación
Guía de proxiesSistema de proxies de 3 niveles, mercado de 1proxy y operaciones CRUD del registro
Niveles gratuitosDirectorio consolidado: 35 grupos recurrentes documentados / 489 entradas de nivel gratuito catalogadas
Galería de funcionesRecorrido visual por el panel con capturas de pantalla
Documentación del código baseRecorrido por el código base accesible para principiantes
### 🤖 Protocolos y API
DocumentoDescripción
Referencia de la APITodos los endpoints con ejemplos
Especificación OpenAPIEspecificación OpenAPI 3.0
Servidor MCP110 herramientas MCP, configuraciones de IDE, clientes de Python/TS/Go
Guía del servidor MCPInstalación de MCP, transportes y referencia de herramientas
Servidor A2AProtocolo JSON-RPC 2.0, capacidades, transmisión y gestión de tareas
Guía del servidor A2ATarjeta de agente A2A, tareas, capacidades y transmisión
### 📋 Proyecto y calidad
DocumentoDescripción
ContribuciónConfiguración y directrices de desarrollo
Modelo de ramificación y publicaciónA qué ramas se dirigen las PR (release/*) y qué significan main y las etiquetas
Registro de cambiosHistorial completo de publicaciones por versión
Política de seguridadNotificación de vulnerabilidades y prácticas de seguridad
Guía de i18nCompatibilidad con 42 idiomas, flujo de trabajo de traducción y RTL
Lista de comprobación de publicaciónPasos de validación previos a la publicación
Plan de coberturaEstrategia de cobertura de pruebas para más de 39,000 declaraciones de pruebas estáticas en más de 5,100 archivos de pruebas rastreados

# ⭐ Principales colaboradores > OmniRoute está formado por una apasionada comunidad de código abierto. Estas personas han realizado contribuciones excepcionales que afectan directamente a la calidad, la estabilidad y el alcance del proyecto. **Gracias.** ### Colaboradores externos por solicitudes de incorporación de cambios fusionadas
PuestoColaboradorPR fusionadas~Líneas modificadas
1backryun190227,977
2oyi77180407,678
3rdself14580,663
4JxnLexn128387,049
5KooshaPari101125,747
6herjarsa88230,872
7RaviTharuma7955,106
8maxmad64bis69394,715
9artickc5933,260
10HouMinXi5147,334
10chirag127515,153
12xz-dev50245,976
13hartmark4752,185
14rqzbeh39143,181
15dhaern3419,559
16Dingding-leo331,986
17NomenAK3213,854
18MumuTW3016,953
19benzntech2911,641
20pacocartones249,331
20Prudhvivuda246,312
Datos fijados en la punta activa de release/v3.8.50, dafb4ae808, con fusiones hasta 2026-08-24 05:26:03 UTC. El censo paginado de GitHub GraphQL contiene 5,911 PR fusionadas: 2,707 del propietario del repositorio, 179 de Dependabot y 3,025 PR externas de 535 colaboradores distintos. «Líneas modificadas» corresponde a las adiciones + eliminaciones de GitHub e incluye archivos generados, archivos de bloqueo, catálogos, traducciones y documentación; mide la rotación de código, no las líneas de código de autoría propia. Se conservan los empates en el límite de la clasificación. ### Confirmaciones atribuidas por GitHub
backryun
backryun

🥇 220 commits atribuidos por GitHub
Paijo
Paijo

🥈 219 commits atribuidos por GitHub
Randi
Randi

🥉 108 commits atribuidos por GitHub
Ravi Tharuma
Ravi Tharuma

🏅 81 commits atribuidos por GitHub
Chris
Chris

🏅 70 commits atribuidos por GitHub
Markus Hartung
Markus Hartung

🏅 69 commits atribuidos por GitHub · empatado en el puesto n.º 6
Dizzle
Dizzle

🏅 69 commits atribuidos por GitHub · empatado en el puesto n.º 6
Jan Leon
Jan Leon

🏅 64 commits atribuidos por GitHub
zenobit
zenobit

🏅 62 commits atribuidos por GitHub
Bob.Hou
Bob.Hou

🏅 51 commits atribuidos por GitHub · empatado en el puesto n.º 10
Xiangzhe
Xiangzhe

🏅 51 commits atribuidos por GitHub · empatado en el puesto n.º 10
Revisado de nuevo el 2026-08-24 06:14:31 UTC: commits atribuidos por GitHub según la API de colaboradores del repositorio para la rama predeterminada release/v3.8.50. La API devolvió 525 identidades (415 usuarios, 2 bots y 108 anónimas); esta tabla excluye al responsable del mantenimiento, los bots y las identidades anónimas, y conserva los empates de la clasificación. Es distinta tanto de la clasificación anterior de PR fusionadas como del censo de metadatos de Git de 639 personas que aparece a continuación. > 🙏 Las funcionalidades, las correcciones de errores y las mejoras de infraestructura de estos colaboradores son una **parte fundamental** de lo que hace que OmniRoute sea fiable y tenga tantas funcionalidades. Cada solicitud de incorporación de cambios, cada caso de prueba y cada archivo de traducción i18n son importantes. El código abierto lo construyen personas como ellos.
---
## 💖 Patrocinadores
Un sincero agradecimiento a las personas que financian OmniRoute de su propio bolsillo: cada contribución mantiene el proyecto gratuito, independiente y en marcha.
Andrew
Andrew

💛 Patrocinador mensual activo
Vlad I
Vlad I

💛 Patrocinador mensual activo
Paco Cartones
Paco Cartones

💛 Patrocinador activo con una aportación única
Professor Igor Morais Vasconcelos
Prof. Igor Morais

💛 Antiguo colaborador con una aportación única
longtao
longtao

💛 Antiguo colaborador con una aportación única
… y otras personas que prefieren mantener su privacidad 💛 Los patrocinadores públicos de GitHub Sponsors se volvieron a validar el 2026-08-24. El estado activeOnly de GitHub determina las etiquetas de actividad anteriores; se mantiene el agradecimiento a los colaboradores públicos que realizaron una aportación única y se identificaron previamente, mientras que los patrocinadores privados permanecen anónimos. 💖 Conviértete en patrocinador → — cada dólar mantiene OmniRoute gratuito e independiente.

## 👥 Más de 600 colaboradores
[![Colaboradores](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=639&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) Auditado el 2026-08-24 sobre la base congelada ac02c5b42f y comprobado de nuevo en la punta activa de release/v3.8.50, dafb4ae808: 639 identidades humanas de Git normalizadas; 407 aparecen como autores de commits (incluido el responsable del mantenimiento) y 232 únicamente en pies de página explícitos Co-authored-by. El censo normaliza los identificadores noreply de GitHub, excluye 26 identidades de bots, agentes, servicios o marcadores de posición, y no combina direcciones de correo electrónico ordinarias solo porque coincidan sus nombres para mostrar. ### Cómo contribuir 1. Crea un fork del repositorio 2. Crea una rama desde la punta **activa** de `release/vX.Y.Z` (no desde `main`); consulta el [modelo de ramificación y versiones](docs/ops/BRANCHING_MODEL.md) 3. Crea tu rama de funcionalidad (`git checkout -b feat/amazing-feature`) 4. Confirma tus cambios (`git commit -m 'feat: add amazing feature'`) 5. Envía los cambios a la rama (`git push origin feat/amazing-feature`) 6. Abre una Pull Request con **base = esa rama `release/vX.Y.Z`** Consulta [CONTRIBUTING.md](CONTRIBUTING.md) para obtener directrices detalladas. ### Publicar una nueva versión ```bash # Crear una versión; npm publish se ejecuta automáticamente VERSION=x.y.z gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes ```
## 📊 Estrellas Gráfico del historial de estrellas
## 🌍 StarMapper StarMapper

## 🙏 Agradecimientos
OmniRoute se apoya en el trabajo de gigantes. Comenzó como una bifurcación de **[9router](https://github.com/decolua/9router)** y una adaptación a TypeScript del proyecto en Go **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)**; a partir de ahí, cada subsistema que aparece a continuación se inspiró en un proyecto de código abierto que llegó antes. Cada uno dio forma a una parte concreta de OmniRoute. Esta es nuestra forma de darles las gracias a todos. 🙏 > ⭐ recuentos de estrellas verificados mediante la API REST de GitHub el 24 de agosto de 2026; anímate a dar una estrella a estos proyectos. Los recuentos son una instantánea exacta de esa fecha y cambiarán de forma natural. ### 🧬 Linaje y puerta de enlace
Proyecto⭐Cómo inspiró a OmniRoute
9router26,161El proyecto original en el que se basa este fork, ampliado aquí con APIs multimodales y una reescritura completa en TypeScript.
CLIProxyAPI48,497La implementación en Go que inspiró esta adaptación a JavaScript / TypeScript.
LiteLLM57,100La pasarela de IA cuyo conjunto de datos público de precios alimenta nuestra sincronización de seguimiento de costes y cuyo modelo de normalización de proveedores sirvió de base para nuestro enrutamiento.
codex-chatgpt-web1,410Código fuente MIT adaptado para el puente integrado de ChatGPT Web → Codex Responses, incluidos los adaptadores de sesión del navegador, estructuración de respuestas, uso y búsqueda web.
free-claude-code48,112Patrones adaptados para la recuperación de flujos, alias sin razonamiento, búsqueda web alternativa, límites de ventana deslizante, ocultación de datos en registros y flujos de inicio reforzados.
composer-api322Patrones de selección de herramientas, restricciones de salida y confirmación de herramientas de Cursor Composer adaptados al ejecutor nativo de Cursor.
codex-multi-auth457Patrones de inicio de sesión nuevo y rotación de tokens de actualización adaptados para la reautenticación OAuth de Codex.
opencode-anthropic-auth510Valores predeterminados de transformación compatibles con Claude Code y comportamiento de las cabeceras de facturación, generalizados en el puente de OmniRoute basado en configuración.
grok2api-merged2Sus asignaciones de modelos Grok, su generador Statsig de TypeError simulado, sus valores predeterminados de solicitudes y dispositivos y su procesador de respuestas NDJSON se adaptaron de forma sustancial al ejecutor Grok Web de OmniRoute.
TQZHR/grok2api705La principal fuente de código transitiva en la que se basa grok2api-merged; sus implementaciones de modelos, cabeceras, cargas útiles, Statsig y procesadores se conservan en el linaje de Grok Web.
chenyme/grok2api7,520El código fuente MIT subyacente para las cargas útiles y los valores predeterminados de dispositivos de Grok, el generador Statsig y el procesador result.response, transmitido a través de TQZHR y grok2api-merged.
grok2api-pro27Una fuente transitiva reconocida por grok2api-merged por su capa de grupo de proxies; OmniRoute conserva ese aviso de linaje, pero no afirma haber adaptado un grupo de proxies en su ejecutor Grok Web acotado.
GrokProxy50Su proxy de Grok autenticado mediante cookies y su patrón de transmisión de result.response.token sirvieron de base para el transporte Grok Web de OmniRoute.
GrokBridge5La implementación original de Grok Web tomó como referencia su diseño ascendente HTTP/navegador; su ruta HTTP directa deriva de GrokProxy, por lo que no se afirma haber realizado una adaptación de código independiente.
grok-web-api14Sus esquemas de Rust ChatOptions y de envolturas de respuesta sirvieron de base para los tipos TypeScript de solicitudes y respuestas en streaming de Grok de OmniRoute.
### 🗜️ Compresión de contexto y tokens — motores
Proyecto⭐Cómo inspiró a OmniRoute
Caveman100,538El proyecto viral «¿por qué usar muchos tokens si pocos tokens bastan?»; su filosofía de habla cavernícola impulsa nuestro modo de compresión estándar y más de 30 reglas de eliminación de relleno y condensación.
RTK – Rust Token Killer77,185Compresión de alto rendimiento de la salida de comandos; inspiró nuestro motor RTK, el DSL de filtrado JSON, la recuperación de salida sin procesar y el proceso apilado RTK → Caveman.
headroom67,310Compresión reversible del contexto (SmartCrusher); inspiró nuestro motor headroom y el patrón de marcadores de recuperación ccr.
LLMLingua6,598Investigación sobre compresión de prompts (LLMLingua / LLMLingua-2); inspiró nuestro motor llmlingua asíncrono, seguro para código y tolerante a fallos.
llmlingua-2-js31El port a JS/ONNX (MobileBERT / XLM-RoBERTa) utilizado como backend de hilos de trabajo para nuestro motor LLMLingua.
Troglodita40Compresión de tokens en portugués de Brasil; impulsa nuestro paquete de idioma pt-BR: reducción de pleonasmos y eliminación de relleno ajustadas a la gramática del portugués brasileño.
ponytail108,957La habilidad viral de programación YAGNI del «desarrollador sénior perezoso»; inspiró nuestro estilo de salida less-code: una orientación hacia el cambio funcional más pequeño que reduce el código _generado_ (el equivalente en el eje de salida de la prosa concisa de Caveman).
i-have-adhd23,526Su estilo de respuesta orientado primero a la acción y adaptado al TDAH se incorporó al estilo de salida conciso de OmniRoute en cinco idiomas.
### 🧩 Formatos compactos, investigación sobre tokens y herramientas sensibles al código
Proyecto⭐Cómo inspiró a OmniRoute
TOON25,233Notación de objetos orientada a tokens; su modelo columnar de encabezado y filas dio forma a nuestra etapa de compactación tabular.
GCF – Graph Compact Format41Su formato compacto de grafos y su diseño de perfiles genéricos sirvieron de base para la compactación tabular de OmniRoute y el formato del códec Headroom.
gcf-typescript4La implementación MIT en TypeScript, incorporada directamente y ampliada como códec de perfil genérico de Headroom.
token-optimizer-mcp494Caché Brotli/SQLite y delta de contexto por sesión; inspiró nuestro motor session-dedup.
token-savior1,122Compactación de la salida de Bash y perfiles MCP; inspiró nuestra disciplina de interrupción de la compresión y la reducción de manifiestos de herramientas MCP.
token-saver138Compresión de salida sensible al contenido y específica para cada tipo de archivo, con interrupción en caso de fallo; validó nuestro despacho por tipo y la omisión cuando la ganancia es mínima.
token-optimizer1,951«Encontrar los tokens fantasma»; su patrón de externalización y referencias recuperables sirvió de base para nuestro enfoque de externalización CCR.
TokenMizer28Un modelo de referencia de grafo de sesión y deduplicación de líneas entre turnos que sirvió de base para nuestro diseño de session-dedup.
OmniCompress3JSON columnar en Rust, recuperación direccionada por contenido y deduplicación entre mensajes; validó el diseño de nuestros motores headroom/ccr/session-dedup y la invariante estable para la caché «la forma comprimida es independiente de la posición».
mcp-compressor113Compresión de esquemas y descripciones de herramientas MCP; sirvió de base para nuestra reducción de la cardinalidad de manifiestos de herramientas MCP.
RepoMapper197Clasificación de mapas de repositorios al estilo de Aider; sirvió de base para nuestra exploración de mapas de repositorios y clasificación de recuperación.
quiet-shell-mcp4Reducción declarativa de la salida del shell mediante MCP; validó nuestra compactación declarativa de la salida de Bash.
ts-morph6,162Kit de herramientas para la API del compilador de TypeScript; inspiró nuestra eliminación de comentarios basada en un analizador, que conserva los literales de cadena, de plantilla y de expresiones regulares.
### 🧠 Memoria y RAG
Proyecto⭐Cómo inspiró a OmniRoute
Mem063,902Capa de memoria universal: su modelo de proxy como límite de escritura/lectura dio forma a nuestra arquitectura de memoria.
Letta (MemGPT)24,382Agentes con estado y memoria por niveles: inspiraron nuestro modelo por niveles de Control y Recuperación del Contexto (CCR).
WFGY1,781La taxonomía ProblemMap de 16 modos de fallo recurrentes de RAG/LLM: el vocabulario compartido de nuestra guía de resolución de problemas.
### 🛰️ Inspección de tráfico, MITM y proxy transparente
Proyecto⭐Cómo inspiró a OmniRoute
llm-interceptor66La interceptación y el análisis MITM del tráfico entre asistentes de programación y LLM sirvieron de base para los primeros requisitos del Inspector de Tráfico. Cuatro módulos derivados anteriormente —fusión de SSE, normalización de conversaciones, enmascaramiento de secretos y saneamiento de encabezados— se han sustituido por implementaciones independientes de sala limpia basadas en estándares públicos de protocolos. Las dos superficies de transferencia directa al host (passthrough.ts y _internal/bypass.cjs) siguen siendo implementaciones internas de OmniRoute clasificadas de forma independiente; no se reescribieron como parte de esa sustitución.
ProxyBridge5,995Enrutamiento de proxy transparente por proceso: inspiró nuestro cierre seguro ante fallos de MITM, los tiempos de espera de inactividad de sockets, la atribución de procesos mediante /proc y la captura TPROXY.
### 📚 Datos de modelos, observabilidad e interfaz de usuario
Proyecto⭐Cómo inspiró a OmniRoute
models.dev6,555Base de datos abierta de especificaciones, precios y capacidades de modelos de IA, sincronizada de forma nativa con nuestro catálogo de modelos.
React Flow / xyflow38,108La biblioteca de gráficos basada en nodos que impulsa nuestro Estudio de Compresión y nuestro Estudio de Combinación/Enrutamiento en tiempo real.
LangGraph40,314La visualización en vivo de gráficos de flujo de trabajo de LangGraph Studio inspiró la vista de cascada en tiempo real de nuestros Estudios.
Langfuse33,592Su modelo de observabilidad de traza → tramo → generación dio forma a la vista en cascada de nuestro Estudio de Compresión.
Kiali3,631Observabilidad de la malla de servicios de Istio: inspiró nuestras insignias de disyuntores y los elementos visuales de aristas con errores del Estudio de Enrutamiento/Combinación.
lobe-icons2,428Logotipos de marcas de IA/LLM que muestran los iconos de proveedores en todo nuestro panel de control.
flag-icons12,354Proporciona las banderas SVG con licencia MIT utilizadas por el selector de idioma del README.
### 🛡️ Seguridad
Proyecto⭐Cómo inspiró a OmniRoute
awesome-secure-defaults721Una lista seleccionada de bibliotecas seguras de forma predeterminada que orienta nuestras decisiones de seguridad (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink).
### 🧭 Herramientas complementarias
Proyecto⭐Cómo inspiró a OmniRoute
ClawRouter6,564Inspiró la deduplicación de solicitudes, el mecanismo alternativo de emergencia sin coste, las estrategias Auto-Combo conectables y la clasificación multilingüe de intenciones.
Antigravity-Manager30,652Su reasignación de modelos según la cuenta, la validación de rutas de ejecutables y el comportamiento de las etiquetas de planes sirvieron de base para el entorno de ejecución Antigravity de OmniRoute.
vscode-antigravity-cockpit4,817Su formato compacto de cuenta atrás para el restablecimiento de cuotas inspiró la visualización correspondiente de límites de proveedores en OmniRoute.
AionUi32,230Sus integraciones con ACP inspiraron la detección automática de agentes CLI instalados de OmniRoute.
CodexBar20,507Identificó la interfaz de cuotas de Grok Build; posteriormente, OmniRoute verificó y corrigió de forma independiente el formato real de transmisión.
## 📄 Licencia Licencia MIT: consulta [LICENSE](LICENSE) para más detalles. ---
**[⬆ Volver arriba](#-omniroute)** · Creado con ❤️ para la comunidad de IA de código abierto. OmniRoute v3.8.52 · Node ≥22.22.2 · Licencia MIT · omniroute.online