# 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 **Creado por [Diego Souza](https://github.com/diegosouzapw)** OmniRoute — Nunca dejes de programar. Cada herramienta de IA → 388 proveedores — 150+ gratuitos — a través de un único endpoint. Claude Code, Codex, Cursor, Cline, Copilot y Antigravity en Claude / GPT / Gemini GRATUITOS con conmutación automática por error. La compresión apilada de RTK + Caveman ahorra entre un 15 % y un 95 % de tokens (~89 % de media): nunca alcances los límites. 388 proveedores de IA · más de 150 niveles gratuitos · ~1,62 mil millones de tokens gratuitos/mes · 20 estrategias de enrutamiento · $0 para comenzar.
## 💰 ~1.62B Tokens / Mes en Niveles Gratuitos de Terceros
> **Usa tus propias cuentas de proveedores.** Esta es una estimación agregada entre niveles gratuitos de terceros elegibles por separado, no una asignación de tokens de OmniRoute. Regístrate, obtén las credenciales cuando sea necesario y conecta los proveedores que puedas usar; cada proveedor controla sus límites, disponibilidad y condiciones. > > Combinar manualmente niveles gratuitos es complicado: docenas de SDK, docenas de límites de velocidad y ninguna idea de cuánto tienes realmente. OmniRoute cataloga **465 entradas de nivel gratuito en 34 claves de grupo recurrentes** y calcula la cifra de tokens a partir de los **17 grupos con un presupuesto mensual positivo publicado, más cinco límites de Groq por modelo**, deduplicados por grupo compartido. Las cuotas que solo se habilitan después de una comprobación de identidad regional (actualmente: ModelScope) se muestran aparte, +~6M tras la verificación de identidad regional, y nunca se suman a la cifra principal. El resultado permanece visible en el panel (`/dashboard/free-tiers`). Tarjeta de presupuesto de niveles gratuitos de OmniRoute: ~1.62B tokens gratuitos al mes de forma constante, hasta ~2.22B durante el primer mes con créditos de registro, a partir de 34 claves de grupo recurrentes documentadas que cubren 465 entradas de nivel gratuito catalogadas detrás de un único endpoint. Cálculo honesto deduplicado por grupo: cada grupo compartido se cuenta una sola vez, incluidos 17 grupos recurrentes con un presupuesto mensual de tokens positivo publicado, más cinco límites de Groq por modelo; 12 proveedores están marcados como no recomendados 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 del primer mes y proveedores permanentemente gratuitos sin límite de tokens, mostrados por separado para que nunca inflen la cifra principal. Uso/restante en tiempo real en /dashboard/free-tiers. > Resumen animado de la página activa `/dashboard/free-tiers`. Metodología completa (deduplicación de grupos, niveles de crédito, 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 **cambian en ambos sentidos**: si un proveedor finaliza un nivel gratuito, el número disminuye; si aparece uno nuevo, aumenta. Publicamos lo que el catálogo calcula realmente, nunca un caso ideal redondeado al alza.

⭐ Marca el repositorio con una estrella 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 responsable del proyecto: recibe primero los nuevos proveedores, lanzamientos y consejos:** [![Seguir 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/) [![Seguir 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.54+` | | -------------------------------------- | :-----------------------: | :---------: | :-----------------------: | | 🌐 Proveedores | 352 | **358** | 388 | | 🧠 IDs de modelos de chat únicos | 1320 | **1374** | 1491 | | 🖼️ Puente de modalidades | 🆕 visión + audio + vídeo | ✓ | ✓ | | 📡 Catálogo gratuito de Radar | 🆕 adhesión voluntaria | ✓ | ✓ | | ⚖️ Programación consciente de la cuota | 🆕 Quota-Share | ✓ | ✓ | | 📊 Telemetría de cuota | 🆕 en tiempo real | ✓ | ✓ | | 🧰 Modo sin interfaz | — | — | 🆕 `serve --headless` | | 🛤️ Infraestructura de la vía LTS | — | — | 🆕 canales de lanzamiento | | 🔎 API de descubrimiento de modelos | — | — | 🆕 `/v1/models/query` | **→ [Hoja de ruta](ROADMAP.md) — avanzando por la vía 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) ![NPM mensual](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)
🚀 Inicio 🚀 Inicio rápido 📦 Instalar 🆓 Conectar un proveedor
💡 Descubre 💥 La promesa 🤔 Por qué OmniRoute 🏆 Qué lo distingue
⚙️ Funciones 🎯 Combos 🌐 Proveedores 🔌 CLI y MCP
🗜️ Compresión 🖥️ Dónde se ejecuta 🔒 Privado
👀 Descúbrelo 🎬 En acción ✨ Novedades 🤖 CLI compatibles
💚 Apoya 💚 Apoyar / Donar 💬 Comunidad 💖 Patrocinadores
📦 Proyecto 🛠️ Tecnologías 📖 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) Telugu (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) Malabar (ml) Odia (or) Panyabí (pa) Nepalí (ne) Cingalés (si) Birmano (my) Jemer (km) Hausa (ha) Yoruba (yo) Igbo (ig) Amhá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 elegible con tu propia cuenta o clave de API y, después, apunta tu herramienta a localhost:20128/v1 usando una clave de API de OmniRoute y el modelo auto. El enrutamiento depende de las conexiones elegibles disponibles y de los límites del proveedor. ```bash # Después de conectar un proveedor, copia tu clave de OmniRoute desde Dashboard → 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 elegible. Una instalación nueva puede no tener destinos elegibles sin clave, y un proveedor sin clave puede rechazar clientes de terceros. Los proveedores marcados como `tos: avoid`, incluido Kiro, se excluyen del enrutamiento automático de forma predeterminada; conectar una cuenta no anula 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 para copiar y pegar en **Python, Node.js, PHP y cURL** → [`examples/quickstart/`](examples/quickstart/)
# 💥 La promesa
La promesa — Un endpoint y 388 proveedores. El fallback automático mantiene el enrutamiento mientras haya otro destino saludable disponible. Seis pilares: fallback resiliente entre 388 proveedores · hasta un 95 % de ahorro de tokens en cargas de trabajo elegibles · $0 para empezar, con más de 150 niveles gratuitos y 52 proveedores gratuitos recurrentes o sin clave para siempre · 39 integraciones de CLI/agentes mediante una única configuración · compatibilidad con las API de OpenAI, Claude, Gemini y Responses en /v1 · controles de producción que incluyen disyuntores, sigilo TLS, 110 herramientas MCP, A2A, memoria, barreras de protección, evaluaciones y más de 56.000 declaraciones de pruebas estáticas en más de 7.800 archivos de pruebas registrados.

# 🤔 ¿Por qué OmniRoute?
Por qué OmniRoute — deja de gestionar 10 paneles, claves de API inactivas y facturas inesperadas. Diez problemas diarios frente a sus soluciones: cuota que caduca sin utilizarse → maximiza las suscripciones; límites de velocidad durante la programación → fallback automático de 4 niveles (Suscripción → API → Económico → Gratuito); las salidas de las herramientas 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 + sigilo TLS; claves inactivas → resiliencia de 3 capas (disyuntores, enfriamiento de claves, bloqueo de modelos); el equipo comparte una suscripción → grupos de claves con cuotas de reparto equitativo; los prompts pasan por la nube de otra persona → enfoque local 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); el enrutador inteligente de OmniRoute (compresión RTK + Caveman, 20 estrategias de enrutamiento, disyuntores, sigilo TLS, MCP, A2A, barreras de protección) puede hacer fallback entre 4 niveles de proveedores mientras siga disponible un destino elegible y saludable — 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 función estrella
Ejemplos animados de 18 de las 20 estrategias de enrutamiento de combos, 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, lkgp, auto, fusion, pipeline. cache-optimized y quota-weighted no están animadas; la tabla siguiente describe las 20. > Un **combo** es una cadena de modelos entre los que OmniRoute enruta **automáticamente**. Si se agota la cuota, falla un proveedor o se disparan 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 como `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⚡ Primero, la latencia más baja
auto/cheap💰 Primero, el menor coste por token
auto/subscription🎟️ Solo la cuota de suscripción que ya pagas: se detiene de forma segura y nunca recurre a una alternativa facturable (guía)
auto/thrifty🪜 Primero la cuota del plan y, después, un escalón a la vez hacia las opciones de pago más baratas; vuelve al plan cuando se restablece (guía)
auto/offline🔋 Primero, el mayor margen de cuota o límite de solicitudes
auto/smart🔭 Prioriza la calidad + un 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 cada modelo del panel, no es una inyección de fallos
## ### 🔀 O crea el tuyo propio: 20 estrategias de enrutamiento Las **20** estrategias: combínalas como quieras en cada paso del combo:
# Estrategia Qué hace
1 priority Lista ordenada por el primer destino: agota cada uno antes de pasar al siguiente 🥇
2 fill-first Consume 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 repeticiones 🎲
9 cost-optimized Minimiza el coste por solicitud según los precios del catálogo en tiempo real 💸
10 headroom Elige el destino con la mayor cuota restante
11 quota-weighted Omite las cuentas agotadas y, después, selecciona en proporción a la cuota restante ÷ la carga en curso; las conversaciones existentes permanecen fijadas ⚖️
12 reset-window Prefiere el destino cuya ventana de cuota se restablezca antes
13 reset-aware Ordena por el momento de restablecimiento de la cuota, priorizando las ventanas cortas 📊
14 context-relay Transfiere el contexto entre destinos en conversaciones largas 🧠
15 context-optimized Elige la opción que mejor se adapte al tamaño del contexto actual
16 cache-optimized Fija cada prefijo reutilizable del prompt a la misma cuenta para maximizar los aciertos de la caché de prompts 🎯
17 lkgp Última ruta conocida que funcionó correctamente: fija el último proveedor que tuvo éxito y, después, recurre a las reglas
18 auto Evaluación en tiempo real de 16 factores en todas las conexiones 🤖
19 fusion Distribuye la solicitud a un panel de modelos y un juez sintetiza una única respuesta 🧬
20 pipeline Encadena pasos: la salida de cada destino alimenta al siguiente 🔗
El motor Auto-Combo puntúa cada candidato según **16 factores** (estado, cuota, coste, latencia, adecuación a la tarea, calidad, disponibilidad de sesión…) — consulta [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md). ## ### 🧱 La resiliencia está 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 de OAuth 8× / clave de API 12× / local 2×, se restablece tras 60s/30s/15s con una prueba HALF-OPEN y recuperación diferida; mientras está OPEN, la combinación redirige al siguiente proveedor. Capa 2, tiempo 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 y una respuesta correcta 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): un 429 específico del modelo, un 404 local o las denegaciones de modo bloquean únicamente ese modelo, nunca toda la conexión. Los estados terminales (bloqueado, caducado, créditos agotados) son responsabilidad del operador, no de los tiempos de espera. 📖 [Motor Auto-Combo](docs/routing/AUTO-COMBO.md) · [Guía de resiliencia](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 Qué distingue a OmniRoute
Qué distingue a OmniRoute: una instantánea fechada de las funcionalidades frente a 9router, OpenRouter, CLIProxyAPI y LiteLLM en 13 capacidades. OmniRoute: 388 proveedores, más de 150 niveles gratuitos integrados, 20 estrategias de enrutamiento, compresión de tokens con 12 motores, servidor MCP integrado con 110 herramientas, protocolo de agentes A2A, memoria persistente, protecciones, agentes en la nube, sigilo de huella TLS, Desktop/Termux/PWA y 67 idiomas de interfaz de usuario i18n. OmniRoute cuenta con licencia MIT y puede autoalojarse. Las capacidades y cantidades de los competidores pueden cambiar; consulta la metodología enlazada. 📊 Metodología completa y detalles por 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.54**. Historial completo en [`CHANGELOG.md`](CHANGELOG.md). - **⚖️ Enrutamiento `quota-weighted`** — la estrategia de combinación número 20 omite las cuentas agotadas y, después, selecciona entre las restantes proporcionalmente a la cuota restante ÷ la carga en curso, manteniendo fijadas las conversaciones existentes. → [Combinación automática](docs/routing/AUTO-COMBO.md) - **🧰 Modo sin interfaz** — `omniroute serve --headless` (o `OMNIROUTE_HEADLESS=1`) ejecuta únicamente el motor proxy `/v1/*`, con el panel y los subsistemas exclusivos del panel desactivados. → [Modo sin interfaz](docs/guides/HEADLESS.md) - **🔎 Descubrimiento de modelos** — `/v1/models` filtra por capacidad, contexto, tipo y texto, y `POST /v1/models/query` devuelve una lista corta determinista con la misma visibilidad por clave. → [Referencia de la API](docs/reference/API_REFERENCE.md) - **🔑 Control de enrutamiento por clave** — fija una clave de API a un modelo o combinación mediante `forcedModel`, y añade o elimina atómicamente los modelos y combinaciones de una clave (`/api/keys/{id}/access`). → [Referencia de la API](docs/reference/API_REFERENCE.md) · [OpenAPI](docs/openapi.yaml) - **🛡️ Controles de PII más precisos** — selección por tipo, hasta 20 patrones de enmascaramiento personalizados validados y contadores de detección por tipo; el enmascaramiento sigue siendo opcional. → [Medidas de protección](docs/security/GUARDRAILS.md) - **🌍 67 idiomas** — panel, réplicas de la documentación y CLI, con `npm run i18n:add-locale`, que añade un idioma en todas partes mediante un solo comando. → [Guía de i18n](docs/guides/I18N.md) - **🎛️ OmniConductor** — delegación A2A entrante a tu flota de agentes, habilidades de Conductor en la Agent Card y un panel con chat de voz push-to-talk de Faro. → [Servidor A2A](docs/frameworks/A2A-SERVER.md) - **🛂 Admisión adaptativa y protección contra sobrecarga** — las solicitudes de chat pesadas se ponen en cola en lugar de devolver un error 503, con concesiones de RPM atómicas y deslizantes por conexión. → [Guía de resiliencia](docs/architecture/RESILIENCE_GUIDE.md) - **🗂️ Orden canónico de `/v1/models`** — un único bloque contiguo agrupado por proveedor para cada proveedor (las combinaciones aparecen primero), 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 inflación activada de forma predeterminada, paquetes Caveman para DE / FR / JA y chino (wényán), filtros RTK para Gradle y .NET. → [Compresión](docs/compression/COMPRESSION_ENGINES.md) - **💸 Coste honesto de tarifa plana** — los proveedores de suscripción o planes de programación muestran un coste de **$0** en los análisis de costes; el presupuesto, la cuota y el enrutamiento siguen realizando estimaciones. → [Referencia de la API](docs/reference/API_REFERENCE.md) - **⚖️ Enrutamiento Quota-Share** — divide equitativamente la cuota de una cuenta compartida entre claves agrupadas y aprovecha toda la capacidad disponible, prestando las partes inactivas. → [Guía de resiliencia](docs/architecture/RESILIENCE_GUIDE.md) - **🤖 Configuración de CLI/agentes con un solo comando** — 15 comandos `setup-*` registrados; `omniroute run` inicia 7 CLI (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` admite 11 destinos con un selector interactivo de proveedor y modelo, además de favoritos por contexto. → [Integraciones de CLI](docs/guides/CLI-INTEGRATIONS.md) - **🛰️ Modo remoto** — controla un OmniRoute remoto con tokens delimitados (`connect` / `contexts` / `tokens`) y un asistente OAuth `antigravity` para instalaciones en VPS. → [Modo remoto](docs/guides/REMOTE-MODE.md) - **🧭 Enrutamiento automático más inteligente** — combinaciones `auto/:`, **Fusion** (panel de modelos + evaluador), enrutamiento adaptado a la tarea y anulaciones por solicitud para el modelo, el modo y el presupuesto en USD. → [Combinación automática](docs/routing/AUTO-COMBO.md) - **🗜️ Compresión conectable** — 12 motores componibles y Compression Studios: LLMLingua-2, Ultra de dos niveles, omniglyph, control de fidelidad por paso, GCF v3.2 y editor de arrastrar y soltar para reordenar. → [Compresión](docs/compression/COMPRESSION_ENGINES.md) - **🕵️ Descifrado MITM transparente (TPROXY)** — captura CLIs que ignoran las variables de entorno del proxy, con una CA por SNI y un instalador del 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 todos los endpoints, encabezado de ahorro por aciertos de caché y cuotas de gasto en USD por clave. → [Referencia de la API](docs/reference/API_REFERENCE.md) - **🧠 Memoria bajo tu control** — desactivada de forma predeterminada, con cuantización vectorial int8 opcional y decaimiento tipado, además de `x-omniroute-no-memory` por solicitud. → [Memoria](docs/frameworks/MEMORY.md) - **🛡️ Seguridad** — protección contra inyección de prompts en todas las rutas LLM (suite de red team), protección opcional de enmascaramiento de credenciales (redacta claves de API y secretos filtrados en ambas direcciones), búsqueda web gratuita de DuckDuckGo como último recurso y una puerta de inicio de sesión OIDC opcional para el panel (el inicio de sesión con contraseña siempre está disponible). → [Medidas de protección](docs/security/GUARDRAILS.md) - **🖼️ Nuevos endpoints** — `/v1/ocr` (Mistral OCR) y `/v1/audio/translations` (estilo Whisper) completan la superficie multimedia. → [Referencia de la API](docs/reference/API_REFERENCE.md) - **🎨 Generación de imágenes, vídeo y audio** — una API para medios: vídeo de xAI Grok Imagine y Novita AI, ComfyUI, Magnific, Adobe Firefly, Segmind y proveedores de voz como ElevenLabs. → [Referencia de la API](docs/reference/API_REFERENCE.md) - **🌍 Implementación 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 e inicio de sesión OAuth, tarjeta de primera clase para Ollama, Claude Opus 5 y Sonnet 5, colaboración oficial con Kimi (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… y un catálogo actualizado de **388 proveedores**. → [Proveedores](docs/reference/PROVIDER_REFERENCE.md) - **📡 Transparencia del enrutamiento** — cada respuesta incluye un encabezado `X-OmniRoute-Decision` que indica la estrategia, el proveedor y la latencia que la atendieron; una nueva estrategia de combinación `cache-optimized` y el factor `cacheAffinity` de Auto-Combo redirigen las solicitudes repetidas a la conexión que contiene el prefijo almacenado en caché; además, un endpoint de solo lectura `/v1/auto-combo/{channel}/candidates` expone el conjunto de candidatos activo del canal `auto/*`. → [Combinación automática](docs/routing/AUTO-COMBO.md) - **⚡ Rendimiento e infraestructura locales** — Redis local con un clic, implementadores de relays para Cloudflare Workers / Deno Deploy, Bifrost y Mux como servicios integrados supervisados. → [Servicios integrados](docs/frameworks/EMBEDDED-SERVICES.md) - **🧩 También incluido** — marco de plugins + marketplace, marcos de habilidades de Omni/Agent/GitHub, integración con bóvedas de Obsidian (22 herramientas MCP), APIs de Batch y Files compatibles con OpenAI, caché semántica de respuestas, gamificación con clasificaciones, descubrimiento de agentes ACP (15 agentes integrados), exportación programada de registros a BigQuery, distribución paralela de múltiples modelos `auto/chaos`, un puente para bots de Telegram, un administrador de versiones integrado en la aplicación y clasificaciones de proveedores gratuitos de LMArena-ELO. → [Documentación](docs/README.md)
## 🤖 CLIs y Agentes de Codificación Compatibles > Una sola configuración — `http://localhost:20128/v1` — y **todos** los IDEs o CLIs de IA funcionan con modelos gratuitos y de bajo costo.
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 39 herramientas (28 CLI Code's + 11 CLI Agents) → [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 Plugin OpenCode → [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)

**Lanza cualquier CLI compatible a través de OmniRoute con un solo comando** — sin archivos de configuración escritos, credenciales inyectadas por proceso, Qwen/Gemini obtienen un entorno home aislado y desechable: ```bash omniroute run claude --model openai/gpt-5.4 # Claude Code omniroute run codex --model glm/glm-5.2 # OpenAI Codex CLI 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 elige proveedor+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 5dive ``` Cada comando respeta el contexto remoto activo (`omniroute connect `), `--dry-run` muestra una vista previa exacta del entorno/argumentos sin ejecutar, y `--api-key-env NAME` mantiene los secretos fuera del historial de tu shell. → [Integraciones CLI](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 388 proveedores de IA — 153 marcados como gratuitos en el catálogo
> **388 proveedores registrados** en las colecciones canónicas de chat, multimedia, búsqueda, local, agentes en la nube y sistema, incluidos **153 con metadatos de descubrimiento `hasFree: true`**. El registro de modelos de chat cubre **239 proveedores / 3,059 pares distintos de proveedor-modelo / 1,475 ID de modelos sin procesar**; el catálogo independiente de presupuesto gratuito contiene **471 filas por modelo**, **34 grupos recurrentes** y **52 proveedores gratuitos recurrentes/sin clave para siempre**. Estos son denominadores diferentes por diseño; las definiciones y los cálculos sin duplicar grupos se encuentran en la [Referencia de proveedores](docs/reference/PROVIDER_REFERENCE.md) y [Niveles gratuitos](docs/reference/FREE_TIERS.md).
### 🏢 Todos los laboratorios principales — a través de 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 350 — todos los iconos se resuelven 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
Nivel 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 ilimitado
Pollinations
Pollinations
GPT, Llama, Claude
No se necesita clave
Cloudflare AI
Cloudflare AI
Más de 50 modelos
10 000 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 → RPM más altas
📖 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** vía Termux.
Plataforma Instalar Aspectos destacados
📦 npm (global) npm install -g omniroute Un comando, cualquier OS
⚡ Bun (global) bun add -g omniroute Mismo registro tarball, instalaciones más rápidas
🐳 Docker docker run … diegosouzapw/omniroute Multiarco AMD64 + ARM64
🖥️ Escritorio (Electron) npm run electron:build Ventana nativa bandeja + sistema zqm — Windows / macOS / Linux
🎩 Barra de menú (OmniRouteTray) brew install --cask zoispag/tap/omniroute-tray Supervisa & actualizaciones automáticas de zqo del servidor — macOS
💪 ARM nativo arm64 Raspberry Pi, servidores ARM, Apple Silicon
📱 Android (Termux) pkg install nodejs && npx -y omniroute Ejecuta en tu teléfono , 24/7, sin root
📲 PWA"Agregar a la pantalla de inicio" Pantalla completa, sin conexión, instalable desde el navegador
🧩 OpenCode complemento @omniroute/opencode-provider Integración nativa de OpenCode
🤖 VS Código Copilot Chat instalar OmniCopilot extensión OmniRoute modelo zqo en el selector de chat nativo Copilot - & Insiders estable
🛠️ De la fuente npm install && npm run dev Hackearlo, contribuir
📖 [Docker Guía](docs/guides/DOCKER_GUIDE.md) · [Escritorio](electron/README.md) · [Bandeja de barra de menú](https://github.com/zoispag/omniroute-tray) · [Termux](docs/guides/TERMUX_GUIDE.md) · [PWA](docs/guides/PWA_GUIDE.md) · [OpenCode](docs/frameworks/OPENCODE.md)
### 🧩 Nuevo: OmniRoute dentro del chat Copilot nativo del código VS
> No hay nueva barra lateral, ni nuevo chat UI : todos los modelos que sirve OmniRoute aparecen directamente en el** Selector de modelo de chat Copilot que ya usas** . Desde VS Code 1.122, los modelos de proveedores funcionan sin un inicio de sesión GitHub o una suscripción Copilot : modo agente, llamada de herramientas y visión, de forma gratuita. Instale el** [OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)** extensión, apúntelo a su servidor OmniRoute (el valor predeterminado es `localhost:20128`), luego abra Copilot Chat → model picker →** Administrar modelos…** →**OmniRoute** . < td align ="left">VS Código — & estable Insiders < td align ="left">Cursor, Windsurf, VSCodium, Theia, code-server, Gitpod, Antigravity, Kiro…
Tienda Enlace Funciona con
🧩 VS Código Marketplace Instalar →
🔓 VSX Registro Instalar →
Desde dentro del editor: abra el** Extensiones** ver, buscar** "OmniRoute"** , haga clic** Instalar** - funciona de la misma manera en ambas tiendas. La fuente, los números y el runbook de publicación están disponibles en [diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot). 📖 [VS Código Copilot Guía de chat](docs/guides/VSCODE-COPILOT.md) : configuración, lo que muestra el selector, panel en una pestaña, solución de problemas
### 🎩 Nuevo: OmniRouteTray : su puerta de enlace, que vive en la barra de menú
> `omniroute serve` es más feliz cuando está siempre encendido.** [OmniRouteTray](https://github.com/zoispag/omniroute-tray)** lo convierte en una aplicación de barra de menús para configurar y olvidar para macOS: inicia el servidor, lo mantiene activo durante los reinicios, lo actualiza y coloca su presupuesto de token en vivo a un clic de distancia.** No queda ninguna ventana de terminal abierta, ni `npm install -g omniroute` que cuide a los niños.** Construido con [Tauri v2](https://v2.tauri.app/) (un núcleo de Rust del tamaño de un error de redondeo), incluye su propio tiempo de ejecución de Nodo 24 firmado y administra una instalación OmniRoute propiedad de la aplicación, por lo que nunca lucha contra su `node`/`bun` global. Él** comparte su configuración y base de datos `~/.omniroute/` existentes** — Entonces es lo mismo OmniRoute ya corres, solo que con un sombrero puesto. 🎩
Qué hace Cómo
🟢 Supervisa el servidor Genera omniroute server , adopta una instancia que ya se está ejecutando en lugar de duplicarla
📊 Uso en vivo de un vistazo Barras de cuota del proveedor, límites Claude session/weekly con cuenta regresiva de reinicio, desglose de costos de 30 días
🔄 Actualizaciones automáticas implementadas Instalación por etapas, intercambio atómico, reversión en caso de falla, siempre en la versión más reciente
🚀 Iniciar al iniciar sesión Lanzamiento opcional al iniciar sesión; solo bandeja, sin icono de base
🩺 Doctor & logs Diagnóstico con un solo clic y acceso al registro del servidor
```sh brew install --cask zoispag/tap/omniroute-tray ``` Prefieres una descarga? Obtenga la última versión .dmg de lanza . Fuente, problemas y compilación. Los documentos viven en zoispag/omniroute-tray.
💛 Un proyecto comunitario de @zoispag — no es un lanzamiento oficial 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 **cabina completa de línea de comandos** con **más de 80 comandos**, además de protocolos abiertos para agentes que permiten que un agente de IA lo controle **por sí solo**. ### ⌨️ Una CLI de verdad (no solo `start`) ```bash omniroute # sirve la puerta de enlace + 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; a partir de entonces, todos los comandos apuntarán al servidor remoto. ```bash omniroute connect 192.168.0.15 # contraseña → token con alcance, guardado como contexto omniroute models # ← se ejecuta en el servidor REMOTO omniroute configure codex # ← selecciona un modelo remoto y crea un perfil local de Codex omniroute tokens create --name ci --scope read # genera tokens más restringidos para otras máquinas omniroute contexts use default # ← vuelve al servidor local ``` Los tokens tienen los alcances `read` / `write` / `admin`; las rutas que inician procesos siguen siendo accesibles únicamente desde la interfaz de bucle invertido. 📖 [Modo remoto](docs/guides/REMOTE-MODE.md)
Demostración animada en terminal de la CLI de OmniRoute — omniroute providers list, omniroute combo list y omniroute health — recorriendo los 89 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 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, combinaciones, caché, compresión y memoria, de forma autónoma. Los endpoints HTTP que aparecen a continuación están disponibles en `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.jsonDe agente 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 con alcance
```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 — pipeline, arquitectura y cálculo del ahorro Pipeline de compresión de OmniRoute: una solicitud ilustrativa de 10.000 tokens del cliente 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 aproximadamente 1.080 tokens en el ejemplo apilado documentado. El contenido estructurado está protegido mediante salvaguardas de preservación y controles de fidelidad por paso; los modos explícitamente con pérdida o experimentales pueden transformar el contenido elegible. La combinación apilada predeterminada ejecuta `RTK → Caveman`. Cuando ambos actúan sobre el mismo payload de herramienta/contexto, el ahorro se acumula: ```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, el JSON y los datos estructurados están **siempre protegidos** por el motor de preservación. > **¿Por qué usar muchos tokens cuando pocos hacen el trabajo?** Cada solicitud pasa por el **pipeline 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 según cada configuración de enrutamiento — a partir de las ideas de [RTK](https://github.com/rtk-ai/rtk), [Caveman](https://github.com/JuliusBrussee/caveman) (⭐ 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 del pipeline; cada uno se puede activar, desactivar y configurar de forma independiente para cada combinación:
#MotorQué hace
1Session-DedupDescarta el contenido repetido entre turnos (direccionado por contenido, entre turnos)
2CCRArchiva bloques grandes detrás de marcadores de recuperación, que se obtienen bajo demanda
3LiteRecorte de espacios en blanco y de URL de imágenes (línea base ligera en latencia)
4RTKFiltrado inteligente de resultados de herramientas, deduplicación y truncamiento (con conocimiento de comandos)
5Responses Tool OutputJSON con prioridad a la ausencia de pérdidas + compresión diagnóstica acotada para salidas de shell/parches/búsquedas/build (Responses API)
6HeadroomCompactación tabular sin pérdidas de matrices JSON (~30 %) mediante un códec GCF incluido como proveedor
7RelevancePuntuación extractiva de oraciones frente a 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 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 de Anthropic; los transformadores GPT 5.6 permanecen en modo de cierre seguro hasta recibir comprobantes del proveedor. Cuatro perfiles de compresión (agresivo por defecto, equilibrado, seguro para código y passthrough) (el más agresivo; activación opcional)
Los bloques de código, las URL y los datos estructurados se **preservan siempre** byte por byte. Los **ajustes preestablecidos de un clic** combinan los motores:
ModoAhorroIdeal para
🪶 Lite~15 %Valor predeterminado seguro y siempre activo
🪨 Standard (Caveman)~30 %Programación diaria
⚡ Aggressive~50 %Sesiones largas con muchas herramientas
🔥 Ultra~75 %Ahorro máximo
🧰 RTK60–90 %Salidas de shell/test/build/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 insertado directamente como prop, la comparación superficial de React lo considera un objeto diferente cada vez, lo que activa un nuevo renderizado. Recomendaría usar useMemo para memorizar el objeto."_ > > **Después (19 tokens):** _"Nueva referencia de objeto en cada renderizado. Prop de objeto insertado directamente = nueva referencia = nuevo renderizado. Envuélvelo en useMemo."_ > > **La misma respuesta. Un 72 % menos de tokens. Sin 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):** _"Re-render: ref. 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, el control adaptativo y control por solicitud Los 12 motores anteriores reducen lo que **entra**. Tres capas más determinan **cómo**, **cuándo** y qué **sale**: - **🪄 Estilos de salida** _(dirección del eje de salida)_ — inyectan instrucciones deterministas y seguras para la caché que ajustan la forma de las respuestas; se pueden combinar, cada una con intensidad `lite` / `full` / `ultra`. Añadir un estilo es una entrada de registro de una sola línea: - **Prosa concisa** — eliminar relleno / artículos / lenguaje dubitativo; mantener intacta la sustancia técnica. - **Menos código** — YAGNI de "desarrollador senior perezoso": el cambio funcional más pequeño, sin estructura adicional no solicitada. - **Coleta (desarrollador senior perezoso)** — subir por la escala de YAGNI, corregir la causa raíz, aplicar el diff funcional más pequeño. - **Tengo TDAH (primero la acción)** — la siguiente acción va primero, pasos numerados, un siguiente paso concreto, sin preámbulo. - **CJK conciso (文言)** — estilo ultraconciso en chino clásico (limitado por configuración regional a `zh`). - **🎯 Presupuesto de contexto adaptativo** _(el control)_ — en lugar de un único umbral de tokens activado o desactivado, escalar los motores más baratos y con menor pérdida solo hasta donde sea necesario para **caber en la ventana de contexto del modelo**. Política: `reserve-output` (predeterminada y consciente del modelo) · `percentage` · `absolute`. Modo: `floor` (garantiza que quepa) · `replace-autotrigger` (gana tu elección explícita) · `off` (umbral heredado). - **🎛️ Dónde se decide la compresión** _(precedencia, de mayor a menor)_ — encabezado por solicitud `x-omniroute-compression` › anulación de la combinación de enrutamiento › perfil con nombre activo › activador adaptativo / automático › valor predeterminado del panel › desactivado. El plan aplicado se devuelve en el encabezado de respuesta `X-OmniRoute-Compression: ; source=`. Activa el desencadenamiento automático por umbral de tokens, mueve el control adaptativo, fija un perfil con nombre, establece una configuración puntual por solicitud o asigna un flujo por combinación de enrutamiento — lo que mejor se adapte a la carga de trabajo. Un **arnés de evaluación** offline opcional (`npm run eval:compression`) puntúa la fidelidad frente al ahorro en un corpus fijado antes de promover 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) Instalar y ejecutar** ```bash npm install -g omniroute omniroute ``` > 💡 ¿Ves `npm warn ERESOLVE` o advertencias sobre dependencias peer? [No son problemáticas](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 a menos que se autoricen. El `postinstall` de OmniRoute (`node scripts/build/postinstall.mjs`) es necesario para preparar sus archivos de ejecución nativos. Autoriza los paquetes indicados en la advertencia de npm al instalar globalmente. Para el conjunto de paquetes indicado por OmniRoute 3.8.54: > > ```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 luego instala normalmente: > > ```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, usa los nombres de paquete de esa advertencia. Autorizar un paquete permite que se ejecuten 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 > [configuración de Playwright Chromium](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 elegible usando tu propia cuenta** Panel → **Proveedores** → elige un proveedor cuyos términos y cuota actuales se ajusten a tu caso de uso → añade su clave de API o completa el proceso de 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); la disponibilidad sin clave no está garantizada 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: [copiar desde Panel → Endpoints] Modelo: auto (enruta entre conexiones elegibles; o elige proveedor/modelo) ``` **4) Verifica 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 encarga automáticamente del enrutamiento y de las alternativas de respaldo. Si tu cliente no puede enviar encabezados personalizados, OmniRoute también ofrece alias de compatibilidad tokenizados: ```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 ``` Usa estos alias únicamente 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-10-18 · Catálogo bruto: YT 1.352 | TT 334 | IG 290 · Actualidad (días): YT 5 | TT 48 | IG 49
Reel de Instagram — nick_saraev
🎬 #1 — Instagram
nick_saraev — 3,042,474 visualizaciones
Reel de Instagram — nnapier7
🎬 #2 — Instagram
nnapier7 — 1,454,535 visualizaciones
YouTube — Amidia AI & Tech
🎬 #3 — YouTube
Amidia AI & Tech — 794,974 visualizaciones
Reel de Instagram — theopenstack
🎬 #4 — Instagram
theopenstack — 692,419 visualizaciones
TikTok — migue.baena
🎬 #5 — TikTok
migue.baena — 685,788 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** | [nnapier7 — Instagram](https://www.instagram.com/reel/Dbp7wv_CIO0/) — **1,454,535** | [Amidia AI & Tech — YouTube](https://www.youtube.com/watch?v=NJ0TQ-pyMDY) — **794,974** | [theopenstack — Instagram](https://www.instagram.com/reel/DaSs65mMrHk/) — **692,419** | [migue.baena — TikTok](https://www.tiktok.com/@migue.baena/video/7670919268216622358) — **685,788** | | #6 | #7 | #8 | #9 | #10 | | ------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | | [milesreevesai — TikTok](https://www.tiktok.com/@milesreevesai/video/7667980059189366019) — **620,400** | [nikothetech — TikTok](https://www.tiktok.com/@nikothetech/video/7671890769665477918) — **610,803** | [Vaibhav Sisinty — YouTube](https://www.youtube.com/watch?v=QucgvbO5gsM) — **509,281** | [buildwithai.club — Instagram](https://www.instagram.com/reel/DbIt9AjK7-U/) — **347,652** | [nivedan.ai — Instagram](https://www.instagram.com/reel/DbIrCksJiqq/) — **331,973** | Métricas canónicas al 2026-10-18: **1.976 vídeos únicos** · **20.220.289 visualizaciones conocidas** (`v > 0`) · **1.210 canales/perfiles por red**. El panel bruto contiene 1.976 filas (YouTube 1.352 = 740 vídeos largos + 612 Shorts · TikTok 334 · Instagram 290); no quedó ningún duplicado tras la normalización mediante la URL canónica, que conserva el mayor recuento por vídeo. La recopilación de YouTube está congelada desde el 2026-10-13 (cuota de la API agotada del 14 al 18/10) y la de TikTok/Instagram desde el 2026-09-02 (sin créditos de recopilación); 76 vídeos aún no tienen recuento de visualizaciones. > 🎬 **¿Has hecho un vídeo 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 mantenedor, 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 (gratis)** | [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 un `good first issue` | | 💚 **Apoyar el proyecto** | [Formas de colaborar ↑](#-support-omniroute) · [Patrocinadores de GitHub](https://github.com/sponsors/diegosouzapw) |
---
## 🛠️ Pila tecnológica
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/ (cero 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) — 147 módulos de dominio, 233 migraciones
MemoriaBúsqueda de texto 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)
StreamingEventos enviados por el servidor (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 con ámbito MCP · AES-256-GCM en reposo · DOMPurify
Sigilowreq-js — suplantación de huellas digitales TLS JA3 / JA4, proxy de 3 niveles
ResilienciaDisyuntor, retroceso exponencial, prevención del efecto manada, autocuración automática de combinaciones
Registropino — registros JSON estructurados con contexto de solicitud
PruebasEjecutor de pruebas de Node.js + Vitest — más de 60.000 declaraciones de pruebas estáticas en más de 8.400 archivos de pruebas registrados (unitarias, de integración, E2E, de seguridad y del ecosistema)
PlataformasEscritorio (Electron) · Android (Termux) · PWA (cualquier navegador)
CI/CDGitHub Actions — publicación automática en npm + Docker Hub en 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 por herramienta para Claude Code, Codex, Cursor, Cline, OpenClaw, Kilo, Copilot
Modo remotoControla un OmniRoute remoto (VPS) desde la CLI de tu portátil mediante tokens de acceso con permisos limitados
Configuración de Claude CodeConecta Claude Code con OmniRoute (local/remoto) mediante launch + perfiles por modelo
Inicio rápidoInstalación → conexión → configuración en 3 pasos
### 🔧 Operaciones y despliegue
DocumentoDescripción
Guía de DockerEjecución de Docker, perfiles de Compose, HTTPS con Caddy, túneles, etiquetas de imagen
Guía de PodmanIntegración con systemd mediante Quadlet, 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 aplicaciones web progresivas
Guía de desinstalaciónEliminación completa 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 componentes internos
Guía de compresiónPipeline de 7 opciones: off / lite / standard / aggressive / ultra / RTK / stacked
Compresión RTKCompresión de la salida de comandos, filtros, confianza, verificación, recuperación de la salida sin procesar
Motores de compresiónCaveman, RTK, pipelines apilados, interfaces de dashboard/API/MCP
Formato de reglas de compresiónEsquemas de paquetes de reglas JSON para filtros de Caveman y RTK
Paquetes de idiomas de compresiónDetección de idiomas y creación de paquetes de reglas de Caveman
Guía de resilienciaDisyuntores, periodos de enfriamiento, cola, prevención de estampidas de solicitudes, suplantación de TLS
Motor de combinaciones automáticasPuntuación basada en 16 factores, paquetes de modos, autorreparación
Guía de proxiesSistema de proxies de 3 niveles, marketplace 1proxy, operaciones CRUD del registro
Niveles gratuitosDirectorio consolidado: 34 grupos recurrentes documentados / 465 entradas de niveles gratuitos catalogadas
Galería de funcionesRecorrido visual por el dashboard con capturas de pantalla
Documentación del código baseRecorrido del código base para principiantes
### 🤖 Protocolos y API
DocumentoDescripción
Referencia de la APITodos los endpoints con ejemplos
Especificación de OpenAPIEspecificación de 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, habilidades, streaming, gestión de tareas
Guía del servidor A2ATarjeta del agente A2A, tareas, habilidades y streaming
### 📋 Proyecto y calidad
DocumentoDescripción
ContribuirConfiguración y directrices de desarrollo
Modelo de ramificación y lanzamientosA dónde se dirigen las PR (release/*), qué significan main y las etiquetas
Registro de cambiosHistorial completo de lanzamientos por versión
Política de seguridadNotificación de vulnerabilidades y prácticas de seguridad
Guía de i18nCompatibilidad con 67 idiomas, flujo de trabajo de traducción y RTL
Lista de comprobación del lanzamientoPasos de validación previos al lanzamiento
Plan de coberturaEstrategia de cobertura de pruebas para más de 60,000 declaraciones de pruebas estáticas distribuidas en más de 8,400 archivos de pruebas supervisados

# ⭐ Principales colaboradores > OmniRoute está impulsado por una apasionada comunidad de código abierto. Estas personas han realizado contribuciones excepcionales que influyen directamente en la calidad, estabilidad y alcance del proyecto. **Gracias.** ### Colaboradores externos por solicitudes de incorporación de cambios fusionadas
PuestoColaboradorPR fusionadas~Líneas modificadas
1maxmad64bis41825,367,739
2HouMinXi29513,557,796
3pacocartones22281,551
4backryun210270,562
5JxnLexn1983,570,623
6oyi77190411,243
7KooshaPari1515,972,314
8rdself14580,663
9RaviTharuma123500,065
10herjarsa88230,872
11hartmark852,849,623
12jonlwheat2-gif6869,097
13artickc6243,502
14xiaoyaner020159126,220
15chirag127526,661
16xz-dev50245,976
17woodsonl48811,771
18rqzbeh46151,229
19MumuTW4328,166
19QuangBlue4313,112
Censo realizado el 2026-11-03 03:01:19 UTC con la punta activa de release/v3.8.53 05bc048d6c. El censo paginado de GitHub GraphQL contiene 9,947 PR fusionadas: 4,130 del propietario del repositorio, 240 de Dependabot, 6 de otros bots/aplicaciones y 5,571 PR externas de 883 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; representa el cambio acumulado, no las LOC escritas. 53 PR informan de diferencias de GitHub superiores a 500,000 líneas (por ejemplo, la #13399, una única adición de proveedor, enumera 2,347 archivos modificados), lo que infla varios totales anteriores. Los empates se clasifican conjuntamente. ### Commits atribuidos a GitHub
Dizzle
Dizzle

🥇 418 commits atribuidos por GitHub
Bob.Hou
Bob.Hou

🥈 294 commits atribuidos por GitHub
Paijo
Paijo

🥉 229 commits atribuidos por GitHub
Paco Cartones
Paco Cartones

🏅 222 commits atribuidos por GitHub
backryun
backryun

🏅 202 commits atribuidos por GitHub
Jan Leon
Jan Leon

🏅 134 commits atribuidos por GitHub
Ravi Tharuma
Ravi Tharuma

🏅 126 commits atribuidos por GitHub
Markus Hartung
Markus Hartung

🏅 115 commits atribuidos por GitHub
Randi
Randi

🏅 108 commits atribuidos por GitHub
Chris
Chris

🏅 70 commits atribuidos por GitHub
WebPerson
WebPerson

🏅 68 commits atribuidos por GitHub
Koosha Paridehpour
Koosha Paridehpour

🏅 68 commits atribuidos por GitHub
Verificado nuevamente el 2026-11-03 02:09:16 UTC: commits atribuidos por GitHub informados por la API de Contributors del repositorio para la rama predeterminada release/v3.8.53. La API devolvió 903 identidades (429 usuarios, 2 bots y 472 anónimas); esta tabla excluye al mantenedor, los bots y las identidades anónimas, y conserva los empates. Es distinto tanto de la clasificación de PR fusionados anterior como del censo de metadatos de Git que aparece más abajo. > 🙏 Las funcionalidades, correcciones de errores y mejoras de infraestructura de estos colaboradores son una **parte fundamental** de lo que hace que OmniRoute sea fiable y tenga tantas funcionalidades. Cada pull request, cada caso de prueba y cada archivo de traducción de i18n importan. El código abierto se construye gracias a 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
小妍儿
小妍儿

💛 Patrocinador mensual activo
Guilherme Costa
Guilherme Costa

💛 Patrocinador activo de una sola vez
Henrique Triches Iurkiv
Henrique Iurkiv

💛 Patrocinador activo de una sola vez
Somesh Ghaturle
Somesh Ghaturle

💛 Patrocinador activo de una sola vez
Kolonie AI
Kolonie AI

💛 Antiguo colaborador de una sola vez
Professor Igor Morais Vasconcelos
Prof. Igor Morais

💛 Antiguo colaborador de una sola vez
Pixma
Pixma

💛 Antiguo colaborador de una sola vez
Paco Cartones
Paco Cartones

💛 Antiguo colaborador de una sola vez
longtao
longtao

💛 Antiguo colaborador de una sola vez
… y otras personas que prefieren mantener su privacidad 💛 Patrocinadores públicos de GitHub verificados nuevamente el 2026-10-18 mediante la API GraphQL de GitHub Sponsors: 11 patrocinios públicos (6 activos y 5 anteriores) de un total de 14. El estado isActive de GitHub determina las etiquetas de actividad anteriores; se sigue agradeciendo a los antiguos colaboradores públicos que realizaron una aportación única, mientras que los patrocinadores privados permanecen anónimos. Las donaciones realizadas mediante Ko-fi, Buy Me a Coffee, Liberapay, PIX y criptomonedas no aparecen porque no tienen un registro público de patrocinio. 💖 Conviértete en patrocinador → — cada dólar mantiene OmniRoute gratuito e independiente.

## 👥 Más de 1.000 colaboradores
[![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=1074&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) Auditado el 2026-11-02 en el tip activo release/v3.8.53 1c7135e0fb (7.972 commits): 1.074 identidades humanas de Git normalizadas — 759 aparecen como autores de commits (incluido el mantenedor) y 315 solo en las líneas explícitas Co-authored-by. El censo aplica .mailmap, compara las direcciones de correo electrónico sin distinguir mayúsculas y minúsculas, combina direcciones numéricas y simples de GitHub noreply solo cuando codifican el mismo identificador, excluye 29 identidades de bots/agentes/servicios/marcadores de posición y no combina direcciones de correo electrónico ordinarias únicamente porque sus nombres visibles coincidan. La auditoría del 2026-08-24 publicó 639; volver a ejecutar este método sobre la base ac02c5b42f de esa auditoría da 619, por lo que el aumento se debe a nuevos colaboradores, no a un método más permisivo. ### Cómo contribuir 1. Haz un fork del repositorio 2. Crea una rama a partir del tip **activo** de `release/vX.Y.Z` (no de `main`) — consulta [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 solicitud de extracción 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 un fork de **[9router](https://github.com/decolua/9router)** y un port de TypeScript del proyecto de Go **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)**; a partir de ahí, cada subsistema mencionado abajo se inspiró en un proyecto de código abierto que llegó primero. Cada uno dio forma a una pieza concreta de OmniRoute. Este es nuestro agradecimiento a todos ellos. 🙏 > ⭐ recuentos de estrellas verificados mediante la API REST de GitHub el 3 de noviembre de 2026 — ve a darles una estrella a estos proyectos. Los recuentos son una instantánea exacta de esa fecha y cambiarán naturalmente. ### 🧬 Linaje y gateway
Proyecto⭐Cómo inspiró a OmniRoute
9router31,861El proyecto original en el que se basa este fork, ampliado aquí con API multimodales y una reescritura completa en TypeScript.
CLIProxyAPI57,329La implementación en Go que inspiró este port de JavaScript / TypeScript.
LiteLLM62,580El gateway de IA cuyo conjunto de datos público de precios alimenta nuestra sincronización del seguimiento de costes y cuyo modelo de normalización de proveedores sirvió de referencia para nuestro enrutamiento.
codex-chatgpt-web15,435Código fuente MIT adaptado para el puente incluido ChatGPT Web → Codex Responses, incluidos los adaptadores de sesión del navegador, estructuración de respuestas, uso y búsqueda web.
free-claude-code65,966Patrones incorporados a la recuperación de streams, alias sin razonamiento, búsqueda web alternativa, límites de ventana deslizante, redacción de registros y flujos de lanzamiento reforzados.
composer-api347Patrones de selección de herramientas, restricciones de salida y confirmación de herramientas de Cursor Composer adaptados al ejecutor nativo de Cursor.
codex-multi-auth561Patrones de inicio de sesión nuevo y rotación de refresh tokens incorporados a la reautenticación OAuth de Codex.
opencode-anthropic-auth562Valores 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, generador de Statsig de fake-TypeError, valores predeterminados de solicitud y dispositivo, y procesador de respuestas NDJSON se adaptaron sustancialmente al ejecutor Grok Web de OmniRoute.
TQZHR/grok2api707La principal fuente de código transitiva detrás de grok2api-merged; sus implementaciones de modelos, cabeceras, payloads, Statsig y procesamiento se conservan en el linaje de Grok Web.
chenyme/grok2api7,874La fuente subyacente con licencia MIT para los valores predeterminados de payload y dispositivo de Grok, el generador de Statsig y el procesador de result.response que se transmitieron a través de TQZHR y grok2api-merged.
grok2api-pro27Una fuente transitiva acreditada por grok2api-merged para su capa de pool de proxies; OmniRoute conserva ese aviso de linaje, pero no afirma haber incorporado un pool de proxies en su ejecutor Grok Web acotado.
GrokProxy52Su proxy de Grok autenticado mediante cookies y su patrón de streaming de result.response.token sirvieron de referencia para el transporte Grok Web de OmniRoute.
GrokBridge5Se consultó la implementación original de Grok Web para el diseño de su upstream HTTP/navegador; su ruta HTTP directa deriva de GrokProxy, por lo que no se afirma ninguna incorporación de código independiente.
### 🗜️ Compresión de contexto y tokens — motores
Proyecto⭐Cómo inspiró a OmniRoute
Caveman116,957El proyecto viral de «por qué usar muchos tokens cuando pocos tokens hacen el trabajo» — su filosofía de hablar como cavernícola impulsa nuestro modo de compresión estándar y más de 30 reglas de relleno/condensación.
RTK – Rust Token Killer85,350Compresión de salida de comandos de alto rendimiento — inspiró nuestro motor RTK, el DSL de filtrado JSON, la recuperación de salida sin procesar y la canalización RTK → Caveman apilada.
headroom78,672Compresión de contexto reversible (SmartCrusher) — inspiró nuestro motor headroom y el patrón de marcador de recuperación ccr.
LLMLingua6,797Investigación sobre compresión de prompts (LLMLingua / LLMLingua-2) — inspiró nuestro motor llmlingua asíncrono, seguro para código y con apertura ante fallos.
llmlingua-2-js33El port para JS/ONNX (MobileBERT / XLM-RoBERTa) utilizado como backend de worker threads para nuestro motor LLMLingua.
Troglodita50Compresión de tokens en PT-BR — impulsa nuestro paquete de idioma pt-BR: reducción de pleonasmos y eliminación de palabras de relleno adaptadas a la gramática del portugués brasileño.
ponytail182,929La 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 a la prosa concisa de Caveman).
i-have-adhd59,838Su estilo de respuesta centrado en la acción y adaptado para personas con TDAH se incorporó al estilo de salida conciso de OmniRoute en cinco idiomas.
### 🧩 Formatos compactos, investigación sobre tokens y herramientas conscientes del código
Proyecto⭐Cómo inspiró a OmniRoute
TOON25,602Notación de objetos orientada a tokens — su modelo de columnas con encabezado y filas dio forma a nuestra etapa de compactación tabular.
GCF – Graph Compact Format61Su formato compacto de grafos y diseño de perfil genérico orientaron la compactación tabular de OmniRoute y el formato de códec de Headroom.
gcf-typescript4La implementación en TypeScript con licencia MIT, incorporada directamente y ampliada como códec de perfil genérico de Headroom.
token-optimizer-mcp566Caché Brotli/SQLite + delta de contexto por sesión — inspiró nuestro motor session-dedup.
token-savior1,203Compactación de salida de Bash + perfiles de MCP — inspiró nuestra disciplina de abandono de la compresión y la reducción del manifiesto de herramientas de MCP.
token-saver162Compresión de salida consciente del contenido y por tipo de archivo, con abandono ante fallos — validó nuestro despacho por tipo y el salto cuando la ganancia es mínima.
token-optimizer2,853«Encuentra los tokens fantasma» — su patrón de descarga + identificador recuperable orientó nuestro enfoque de descarga de CCR.
TokenMizer34Un esquema de grafo de sesiones + deduplicación de líneas entre turnos que orientó nuestro diseño de session-dedup.
OmniCompress3JSON columnar en Rust + recuperación direccionada por contenido + deduplicación entre mensajes — validó nuestro diseño de motores headroom/ccr/session-dedup y el invariante estable de caché de que «la forma comprimida es independiente de la posición».
mcp-compressor140Compresión de esquemas/descripciones de herramientas de MCP — orientó nuestra reducción de la cardinalidad del manifiesto de herramientas de MCP.
RepoMapper218Clasificación de mapas de repositorios al estilo de Aider — orientó 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,222Conjunto de herramientas de la API del compilador de TypeScript — inspiró nuestra eliminación de comentarios basada en un analizador sintáctico que conserva los literales de cadena, plantilla y expresión regular.
### 🧠 Memoria y RAG
Proyecto⭐Cómo inspiró a OmniRoute
Mem068,294Capa de memoria universal: su modelo de proxy como límite de escritura/lectura dio forma a nuestra arquitectura de memoria.
Letta (MemGPT)25,321Agentes con estado y memoria por niveles: inspiró nuestro modelo por niveles de Context Control & Recovery (CCR).
WFGY1,804La taxonomía ProblemMap de 16 modos de fallo recurrentes de RAG/LLM: el vocabulario común 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-interceptor81La interceptación/análisis MITM del tráfico entre asistentes de programación y LLM proporcionó información para los primeros requisitos de Traffic Inspector. Cuatro módulos derivados anteriormente —fusión de SSE, normalización de conversaciones, enmascaramiento de secretos y saneamiento de encabezados— se han reemplazado por implementaciones independientes de sala limpia basadas en estándares de protocolo públicos. Las dos superficies de transferencia directa de hosts (passthrough.ts y _internal/bypass.cjs) siguen siendo implementaciones internas de OmniRoute clasificadas de forma independiente; no se reescribieron como parte de ese reemplazo.
ProxyBridge6,978Enrutamiento de proxy transparente por proceso: inspiró nuestro desmontaje MITM seguro frente a fallos, los tiempos de espera por 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.dev7,486Base 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,874La biblioteca de grafos basada en nodos que impulsa nuestro Compression Studio y Combo/Routing Studio en tiempo real.
LangGraph44,349La visualización en directo de grafos de flujos de trabajo de LangGraph Studio inspiró la vista en cascada en tiempo real de nuestros Studios.
Langfuse36,907Su modelo de observabilidad traza → span → generación dio forma a la vista en cascada de nuestro Compression Studio.
Kiali3,647Observabilidad de mallas de servicios Istio: inspiró nuestras insignias de disyuntores y los elementos visuales de los bordes de error en Routing/Combo Studio.
lobe-icons2,666Logotipos de marcas de IA/LLM que representan los iconos de proveedores en todo nuestro panel.
flag-icons12,499Proporciona las banderas SVG con licencia MIT utilizadas por el selector de idioma del README.
### 🛡️ Seguridad
Proyecto⭐Cómo inspiró a OmniRoute
awesome-secure-defaults723Una lista seleccionada de bibliotecas seguras por defecto que guía nuestras decisiones de seguridad (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink).
### 🧭 Herramientas complementarias
Proyecto⭐Cómo inspiró a OmniRoute
ClawRouter6,649Inspiró la deduplicación de solicitudes, el fallback de emergencia sin coste, las estrategias Auto-Combo conectables y la clasificación multilingüe de intenciones.
Antigravity-Manager32,785Su reasignación de modelos basada en cuentas, la validación de rutas de ejecutables y el comportamiento de las etiquetas de planes proporcionaron información para el runtime Antigravity de OmniRoute.
vscode-antigravity-cockpit4,852Su formato compacto de cuenta atrás para el restablecimiento de cuotas inspiró la visualización correspondiente de los límites del proveedor en OmniRoute.
AionUi33,996Sus integraciones ACP inspiraron la detección automática de agentes CLI instalados de OmniRoute.
CodexBar22,955Identificó la superficie de cuota de Grok Build; OmniRoute verificó y corrigió después el formato activo de transmisión de forma independiente.
## 📄 Licencia Licencia MIT: consulta [LICENSE](LICENSE) para obtener más detalles. ---
**[⬆ Volver al principio](#-omniroute)** · Creado con ❤️ para la comunidad de IA de código abierto. Creado por Diego Souza · OmniRoute v3.8.54 · Node ≥22.22.2 · Licencia MIT · omniroute.online