# 🚀 OmniRoute — Gateway-ul AI gratuit
**Creat de [Diego Souza](https://github.com/diegosouzapw)**
## 💰 ~1.62B de tokeni / lună prin nivelurile gratuite ale terților
> **Folosește propriile conturi de furnizor.** Aceasta este o estimare agregată pentru niveluri gratuite ale unor terți, eligibile separat, nu un credit de tokeni acordat de OmniRoute. Înregistrează-te, obține acreditările acolo unde sunt necesare și conectează furnizorii pe care îi poți folosi; fiecare furnizor își controlează limitele, disponibilitatea și condițiile.
>
> Combinarea manuală a nivelurilor gratuite este dificilă — zeci de SDK-uri, zeci de limite de rată și nicio idee despre cât ai de fapt la dispoziție. OmniRoute cataloghează **465 de intrări gratuite în 34 de chei de grup recurente** și calculează totalul de tokeni din **cele 17 grupuri cu un buget lunar pozitiv publicat, plus cinci limite Groq per model**, eliminând duplicatele pe baza grupurilor partajate. Cotele care devin disponibile doar după o verificare regională a identității (astăzi: ModelScope) sunt afișate separat, +~6M după verificarea regională a identității, și nu sunt incluse niciodată în total. Rezultatul rămâne vizibil în tabloul de bord (`/dashboard/free-tiers`).
> Rezumat animat al paginii live `/dashboard/free-tiers`. Metodologia completă (eliminarea duplicatelor între grupuri, nivelurile de credit, condițiile furnizorilor): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**.
>
> Aceste cifre sunt reauditate la fiecare două săptămâni în raport cu catalogul live și **se pot modifica în ambele direcții** — un furnizor încheie un nivel gratuit, iar numărul scade; apare unul nou, iar numărul crește. Publicăm ceea ce calculează efectiv catalogul, niciodată un scenariu optimist rotunjit în sus.
⭐ Acordă o stea depozitului dacă OMNIROUTE te-a ajutat să economisești bani și să-ți faci munca mai ușoară.
[](https://github.com/diegosouzapw/OmniRoute)
[](https://www.star-history.com/diegosouzapw/omniroute)
[](https://olud.ai/project/diegosouzapw-omniroute.html)
### 💬 Alătură-te comunității
**👋 Urmărește maintainerul — află primul despre furnizori noi, lansări și sfaturi:**
[](https://www.linkedin.com/in/diegosouzapw/)
[](https://github.com/diegosouzapw)
[](https://discord.gg/U47eFqAXCn)
[](https://t.me/omnirouteOficial)
[](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4)
[](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4)
[](https://omniroute.online)
**Întrebări, recomandări despre furnizori, planul de dezvoltare și asistență → [Discord](https://discord.gg/U47eFqAXCn) · [Telegram](https://t.me/omnirouteOficial) · WhatsApp [🌍 Global](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) / [🇧🇷 Brazilia](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)**
## 📈 Gateway-ul continuă să crească
| | v3.8.50 | **v3.8.51** | `v3.8.54+` |
| --------------------------------- | :------------------------: | :---------: | :-------------------: |
| 🌐 Furnizori | 352 | **358** | 388 |
| 🧠 ID-uri unice de modele de chat | 1320 | **1374** | 1491 |
| 🖼️ Punte de modalități | 🆕 viziune + audio + video | ✓ | ✓ |
| 📡 Catalog gratuit Radar | 🆕 opt-in | ✓ | ✓ |
| ⚖️ Programare în funcție de cotă | 🆕 Quota-Share | ✓ | ✓ |
| 📊 Telemetria cotelor | 🆕 live | ✓ | ✓ |
| 🧰 Mod fără interfață | — | — | 🆕 `serve --headless` |
| 🛤️ Infrastructură feroviară LTS | — | — | 🆕 canale de lansare |
| 🔎 API de descoperire a modelelor | — | — | 🆕 `/v1/models/query` |
**→ [Plan de dezvoltare](ROADMAP.md) — călătorind pe linie către `v3.9.0 LTS`**
## 🆓 Instalează, conectează un furnizor, apoi direcționează traficul printr-un singur endpoint
```bash
# După conectarea unui furnizor, copiază cheia OmniRoute din 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` necesită o rută eligibilă. O instalare nouă poate să nu aibă ținte eligibile fără cheie, iar un furnizor fără cheie poate respinge clienții terți. Furnizorii marcați cu `tos: avoid`, inclusiv Kiro, sunt excluși implicit din direcționarea automată; conectarea unui cont nu suprascrie această setare. Consultă [Ghidul nivelurilor gratuite](docs/getting-started/FREE-TIERS-GUIDE.md) înainte de a alege un furnizor.📦 Scripturi de pornire rapidă, pregătite pentru copiere și lipire, pentru **Python, Node.js, PHP și cURL** → [`examples/quickstart/`](examples/quickstart/)
# 💥 Promisiunea
# 🤔 De ce OmniRoute?
## 🤝 Susținut de Prietenii noștri Open Source
> **Vrei să te alături ca Prieten Open Source?** Acestea sunt companiile care susțin open source și ajută la menținerea OmniRoute în mișcare — și spunem public unde se duce fiecare token pe care ni-l oferă. Contactează-ne: [diegosouza.pw@outlook.com](mailto:diegosouza.pw@outlook.com)
Kimi Moonshot AI
Mulțumiri Kimi (Moonshot AI), Prietenul nostru Fondator Open Source, pentru susținerea acestui proiect! Kimi este laboratorul AI din spatele familiilor de modele K2 și K3 cu greutate deschisă — Kimi K3 oferă o fereastră de context de 1M-tokeni, viziune nativă și codare la nivel de frontieră la o fracțiune din prețurile modelelor închise, și funcționează imediat cu Claude Code, Codex și fiecare instrument de codare pe care OmniRoute îl servește.
Ce susține sprijinul Kimi: Creditele API Kimi alimentează pipeline-ul de lansare validat de AI al OmniRoute — etapa de validare a fuzionării alimentată de Kimi K3 care revizuiește fiecare cerere de pull înainte de a fi expediată — plus dezvoltarea zilnică de funcționalități. Suportul Kimi de primă clasă este livrat pe ambele căi: API-ul Kimi direct (kimi-k3) și planul de codare Kimi Code (OAuth și cheie API). OmniRoute este, de asemenea, primul proiect open-source brazilian din programul de suport Kimi. Obține o cheie API Kimi cu 15% credite suplimentare →
Cheaper Inference cheaperinference.com
Mulțumiri Cheaper Inference, un Prieten Open Source OmniRoute, pentru susținerea acestui proiect! Cheaper Inference este un gateway clasificat după cost care revinde 42 de modele de frontieră — Claude, GPT-5.x, Gemini, Kimi K3, GLM, DeepSeek, Grok și MiniMax — printr-un singur endpoint compatibil OpenAI, rutând fiecare cerere către cel mai ieftin furnizor eligibil fără a percepe vreodată mai mult decât prețul de listă al creatorului modelului.
Suport de primă clasă în OmniRoute: Chat Completions, endpoint-ul nativ /v1/responses, viziune, apelare de instrumente și 3 modele de imagine (grok-imagine, nano-banana-pro, nano-banana-2, accesibile ca cheaperinference/<model>). Obține o cheie API →
Link-urile etichetate aff=omniroute sunt link-uri partenere. Acestea finanțează proiectul fără costuri suplimentare pentru tine. 🎟️ Promoții Afiliate — cupoane de înregistrare gratuite de la furnizori pe care nu îi sponsorizăm (click pentru a extinde)Această secțiune este doar pentru coduri de recomandare/cupon. Parteneriatele sponsorizate se găsesc în secțiunea 🤝 Susținut de Prietenii noștri Open Source de mai sus. OmniRoute nu are sponsorizare sau parteneriat cu furnizorii enumerați aici — acestea sunt cupoane publice pe care oricine le poate folosi.
AgentRouter agentrouter.org
AgentRouter — înregistrare afiliat · $100 credite gratuite la înregistrare (server gratuit, așteptați-vă la o latență mai mare — cel mai bun pentru testare, nu pentru producție). Suport de primă clasă în OmniRoute începând cu v3.8.50: Chat Completions, formatul wire compatibil Anthropic și calea compatibilă OpenAI. Modelele disponibile includ claude-opus-4-8, claude-opus-5, gpt-5.6-sol și altele. Ia-ți cei $100 →
⚠️ Link afiliat — OmniRoute nu are sponsorizare sau parteneriat cu acest furnizor.
Cunoști un alt furnizor cu un cupon generos de înregistrare gratuită care aduce beneficii utilizatorilor OmniRoute? Deschide o problemă și îl vom adăuga aici.
## 🎯 Combo-uri — Funcționalitatea emblematică
> Un **combo** este un lanț de modele între care OmniRoute rutează **automat**. Dacă se epuizează cota, un furnizor eșuează sau costurile cresc brusc, combo-ul poate trece la următorul model eligibil și funcțional. 🛡️
### ⚡ Fără configurare — folosește pur și simplu `auto`
Nu trebuie să creezi niciun combo. Setează modelul la `auto` (sau la o variantă), iar OmniRoute construiește un combo virtual din furnizorii conectați, evaluați în timp real:
ID-ul modelului
Ce optimizează
auto
🎯 Opțiune implicită echilibrată (LKGP — rămâne la ultimul furnizor bun)
auto/coding
🧑💻 Ponderi axate pe calitate pentru generarea de cod
auto/fast
⚡ Cea mai mică latență mai întâi
auto/cheap
💰 Cel mai mic cost per token mai întâi
auto/subscription
🎟️ Doar cota abonamentului pentru care plătești deja — se oprește în caz de eșec, fără a recurge vreodată la o opțiune facturabilă (ghid)
auto/thrifty
🪜 Mai întâi cota planului, apoi treaptă cu treaptă către cele mai ieftine opțiuni cu plată — revine la plan după resetarea acestuia (ghid)
auto/offline
🔋 Cea mai mare marjă disponibilă pentru cotă / limita de solicitări mai întâi
auto/smart
🔭 Calitatea pe primul loc + 10% explorare pentru a descoperi modele mai bune
auto/lkgp
📌 Menținere explicită la ultimul furnizor cunoscut ca fiind bun
auto/chaos
🧪 Distribuire paralelă către un grup de modele (câte unul per furnizor, 5 în mod implicit), returnează un singur răspuns; câte un apel în amonte pentru fiecare model din grup, nu injectare de erori
##
### 🔀 Sau construiește-ți propriul combo — 20 de strategii de rutare
Toate cele **20** de strategii — combină-le după preferință pentru fiecare pas al combo-ului:
#
Strategie
Ce face
1
priority
Listă ordonată cu prima țintă prioritară — epuizează fiecare țintă înainte de a trece la următoarea 🥇
2
fill-first
Utilizează complet cota fiecărei ținte înainte de a trece mai departe
3
weighted
Selecție aleatorie ponderată în funcție de ponderea fiecărei ținte
4
round-robin
Parcurge ciclic țintele în ordine
5
p2c
Echilibrare aleatorie a încărcării prin alegerea dintre două opțiuni
6
least-used
Alege ținta cu cea mai mică încărcare curentă
7
random
Selecție aleatorie uniformă (fără duplicate)
8
strict-random
Selecție aleatorie fără eliminarea repetărilor 🎲
9
cost-optimized
Minimizează costul în $ per solicitare pe baza prețurilor actuale din catalog 💸
10
headroom
Alege ținta cu cea mai mare cotă rămasă
11
quota-weighted
Omite conturile cu cota epuizată, apoi selectează proporțional cu cota rămasă ÷ încărcarea solicitărilor în curs — conversațiile existente rămân fixate ⚖️
12
reset-window
Preferă ținta a cărei fereastră de cotă se resetează cel mai curând
13
reset-aware
Ordonează după momentul resetării cotei — ferestrele scurte mai întâi 📊
14
context-relay
Transferă contextul între ținte pentru conversațiile lungi 🧠
15
context-optimized
Alege cea mai potrivită opțiune pentru dimensiunea actuală a contextului
16
cache-optimized
Fixează fiecare prefix reutilizabil al promptului la același cont — maximizează rezultatele găsite în memoria cache a prompturilor 🎯
17
lkgp
Ultima cale cunoscută ca fiind bună — fixează rutarea la ultimul furnizor utilizat cu succes, apoi recurge la reguli
18
auto
Evaluare în timp real pe baza a 16 factori pentru fiecare conexiune 🤖
19
fusion
Distribuie solicitarea către un grup de modele + un arbitru sintetizează un singur răspuns 🧬
20
pipeline
Înlănțuie pașii — rezultatul fiecărei ținte este transmis următoarei 🔗
Motorul Auto-Combo evaluează fiecare candidat pe baza a **16 factori** (stare, cotă, cost, latență, compatibilitate cu sarcina, calitate, disponibilitatea sesiunii…) — consultați [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md).
##
### 🧱 Reziliența este integrată (3 niveluri independente)
📖 [Motorul Auto-Combo](docs/routing/AUTO-COMBO.md) · [Ghid de reziliență](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 Ce diferențiază OmniRoute
📊 Metodologia completă & detalii pentru fiecare funcționalitate față de 9router, OpenRouter, CLIProxyAPI & LiteLLM → [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md)
## 💚 Susține OmniRoute
OmniRoute este licențiat sub MIT și întreținut în mod deschis. Dacă te ajută să economisești timp sau bani, iată cum îl poți ajuta să rămână independent — alege opțiunea care ți se potrivește. Sponsorizarea nu afectează niciodată prioritatea rutării; aceasta oferă vizibilitate, nu o poziție mai bună în clasament.
**🇧🇷 PIX** — instantaneu, fără comisioane (Brazilia)
Cheie (aleatorie): `5d865059-bc44-483a-962d-43ceb80126eb`
Pix copia-e-cola:
```
00020101021126580014br.gov.bcb.pix01365d865059-bc44-483a-962d-43ceb80126eb5204000053039865802BR5922OMNIROUTE CONTRIBUICAO6006BRASIL62070503***630475DD
```
₿ Criptomonede — BTC · ETH · USDT-TRC20 · USDC-Solana (fă clic pentru a extinde)
₿ BTC
Bitcoin (SegWit)
bc1qh00smz004sy85wyl28v77tenkt3ckl6eaep7fd
Ξ ETH
Ethereum (ERC20)
0x64Cf6B68A6Ff34288e89172950a2d00102337a84
₮ USDT
Tron (TRC20)
TKAF41JpuQrHbKTnsQa9svJE2T192Hvsc2
$ USDC
Solana
2emNNZzVVWQc3FQ2wk9M6qXUQmW8AKdjjL174fXR28Tu
⚠️ Trimite fiecare monedă numai prin rețeaua indicată — trimiterea prin rețeaua greșită poate duce la pierderea fondurilor.
🐛 Ai găsit o eroare sau ai sugestii? Deschide o [Discuție](https://github.com/diegosouzapw/OmniRoute/discussions).
Note pentru dezvoltatori: Proiectul poate genera un fișier local .env în timpul npm install/postinstall, pentru confortul dezvoltatorilor. Acest fișier este ignorat în mod intenționat prin .gitignore (consultă .gitignore) și nu trebuie inclus niciodată în depozit — dacă a fost inclus accidental, înlocuiește toate secretele expuse și elimină fișierul din istoric. Consultă docs/DEVELOPER-ENVIRONMENT.md pentru îndrumări privind gestionarea fișierelor locale de mediu și a secretelor.
## 📡 OmniRoute Radar
Principalul reper pentru nivelul gratuit rămâne **~1,62 mld. de tokenuri/lună** din catalogul documentat,
cu pool-uri deduplicate, de mai sus. Creditele temporare oferite la înregistrarea la furnizori pot crește separat prima
lună la **~2,22 mld.**. Radar este un strat opțional de catalog, semnat, pentru cei care doresc
informații mai recente despre disponibilitatea modelelor gratuite între versiunile OmniRoute; catalogul comunității și toate funcționalitățile gratuite
existente rămân gratuite.
Susținătorii pot primi catalogul actualizat în timp real și oportunități suplimentare oferite de furnizori. Plafonul său separat,
variabil, este de **cel mult aproximativ 3 mld. de tokenuri/lună**, în funcție de disponibilitatea furnizorilor.
Acest plafon nu reprezintă o garanție: furnizorii pot modifica oricând cotele, criteriile de eligibilitate, modelele sau regiunile.
Radar este opțional și utilizează exclusiv solicitări GET. Clientul OmniRoute nu încarcă prompturi, trafic, configurația
furnizorilor, telemetrie privind utilizarea sau starea locală de închidere a anunțurilor. Aflați mai multe despre eligibilitate și
catalogul actual la **[radar.omniroute.online/planos](https://radar.omniroute.online/planos)**.
## ✨ Noutăți
> Aspecte importante recente din **v3.8.20 → v3.8.54**. Istoricul complet în [`CHANGELOG.md`](CHANGELOG.md).
- **⚖️ Rutare `quota-weighted`** — a 20-a strategie combo omite conturile epuizate, apoi alege dintre cele rămase proporțional cu cota disponibilă ÷ încărcarea în curs, păstrând conversațiile existente fixate. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🧰 Mod fără interfață** — `omniroute serve --headless` (sau `OMNIROUTE_HEADLESS=1`) rulează doar motorul proxy `/v1/*`, cu tabloul de bord și subsistemele disponibile exclusiv pentru tablou dezactivate. → [Mod fără interfață](docs/guides/HEADLESS.md)
- **🔎 Descoperirea modelelor** — `/v1/models` filtrează după capabilitate, context, tip și text, iar `POST /v1/models/query` returnează o listă scurtă și deterministă de modele, cu aceeași vizibilitate per cheie. → [Referință API](docs/reference/API_REFERENCE.md)
- **🔑 Controlul rutării per cheie** — fixați o cheie API la un singur model sau combo cu `forcedModel` și adăugați ori eliminați atomic modelele și combo-urile unei chei (`/api/keys/{id}/access`). → [Referință API](docs/reference/API_REFERENCE.md) · [OpenAPI](docs/openapi.yaml)
- **🛡️ Controale PII mai precise** — selectare per tip, până la 20 de modele de mascare personalizate validate și contoare de detectare per tip; mascarea rămâne opțională. → [Măsuri de protecție](docs/security/GUARDRAILS.md)
- **🌍 67 de limbi** — tabloul de bord, oglinzile documentației și CLI-ul, cu `npm run i18n:add-locale` care adaugă o limbă peste tot printr-o singură comandă. → [Ghid i18n](docs/guides/I18N.md)
- **🎛️ OmniConductor** — delegare A2A de intrare către flota de agenți, competențe Conductor în Agent Card și un panou în tabloul de bord cu chat vocal Faro push-to-talk. → [Server A2A](docs/frameworks/A2A-SERVER.md)
- **🛂 Admitere adaptivă și protecție împotriva supraîncărcării** — solicitările de chat complexe sunt puse în coadă în loc să returneze 503, cu lease-uri RPM rulante atomice per conexiune. → [Ghid de reziliență](docs/architecture/RESILIENCE_GUIDE.md)
- **🗂️ Ordine canonică `/v1/models`** — câte un bloc contiguu grupat după furnizor pentru fiecare furnizor (combo-urile sunt fixate primele), stabil în toate sursele de catalog. → [Referință API](docs/reference/API_REFERENCE.md)
- **🗜️ Consolidarea compresiei** — protecție implicită împotriva expandării, pachete Caveman pentru DE / FR / JA + chineză (wényán), filtre RTK pentru Gradle și .NET. → [Compresie](docs/compression/COMPRESSION_ENGINES.md)
- **💸 Cost tarifar fix transparent** — furnizorii de abonamente / planuri de programare afișează **$0** în analiza costurilor; bugetul, cota și rutarea continuă să facă estimări. → [Referință API](docs/reference/API_REFERENCE.md)
- **⚖️ Rutare Quota-Share** — împarte corect cota unui cont partajat între cheile grupate, utilizând eficient resursele astfel încât segmentele inactive să fie împrumutate. → [Ghid de reziliență](docs/architecture/RESILIENCE_GUIDE.md)
- **🤖 Configurare CLI/agent printr-o singură comandă** — 15 comenzi `setup-*` înregistrate; `omniroute run` lansează 7 CLI-uri (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` acceptă 11 ținte, cu un selector interactiv de furnizor+model și favorite per context. → [Integrări CLI](docs/guides/CLI-INTEGRATIONS.md)
- **🛰️ Mod la distanță** — controlați un OmniRoute la distanță cu tokenuri cu domeniu limitat (`connect` / `contexts` / `tokens`) + un ajutor OAuth `antigravity` pentru instalări VPS. → [Mod la distanță](docs/guides/REMOTE-MODE.md)
- **🧭 Rutare automată mai inteligentă** — combo-uri `auto/:`, **Fusion** (panou de modele + evaluator), rutare conștientă de sarcină, suprascrieri per solicitare pentru model / mod / buget USD. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🗜️ Compresie extensibilă** — 12 motoare compozabile + Compression Studios: LLMLingua-2, Ultra pe două niveluri, omniglyph, verificare a fidelității la fiecare pas, GCF v3.2, editor cu reordonare prin glisare. → [Compresie](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ Decriptare MITM transparentă (TPROXY)** — CLI-uri de capturare care ignoră variabilele de mediu pentru proxy, cu un CA per SNI + instalator pentru depozitul de certificate de încredere. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md)
- **💸 Telemetrie a costurilor peste tot** — antete de cost/utilizare `X-OmniRoute-*` pe fiecare endpoint, antet pentru economiile generate de cache-HIT, cote de cheltuieli USD per cheie. → [Referință API](docs/reference/API_REFERENCE.md)
- **🧠 Memorie pe care o controlați** — dezactivată implicit, cuantizare vectorială int8 opțională + degradare tipizată, `x-omniroute-no-memory` per solicitare. → [Memorie](docs/frameworks/MEMORY.md)
- **🛡️ Securitate** — protecție împotriva injectării de prompturi pe fiecare rută LLM (suită red-team), protecție opțională pentru mascarea acreditărilor (elimină cheile API/secretele divulgate în ambele direcții), căutare web DuckDuckGo gratuită ca ultimă soluție și un mecanism opțional de autentificare OIDC pentru tabloul de bord (autentificarea cu parolă rămâne întotdeauna disponibilă). → [Măsuri de protecție](docs/security/GUARDRAILS.md)
- **🖼️ Endpoint-uri noi** — `/v1/ocr` (Mistral OCR) și `/v1/audio/translations` (de tip Whisper) completează suprafața media. → [Referință API](docs/reference/API_REFERENCE.md)
- **🎨 Generare de imagini / videoclipuri / audio** — un singur API pentru media: xAI Grok Imagine și videoclipuri Novita AI, ComfyUI, Magnific, Adobe Firefly, Segmind și furnizori de vorbire precum ElevenLabs. → [Referință API](docs/reference/API_REFERENCE.md)
- **🌍 Implementare și operațiuni** — `basePath` pentru proxy invers, detectarea automată a limbii browserului, urmărirea dispozitivelor per cheie, încredere MITM fără privilegii root, localizare zh-TW. → [Mediu](docs/reference/ENVIRONMENT.md)
- **🤝 Mai mulți furnizori și agenți** — agenți cloud (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) cu autentificare în browser + OAuth, card de primă clasă pentru Ollama, Claude Opus 5 și Sonnet 5, parteneriat oficial Kimi (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… și un **catalog cu 388 de furnizori** actualizat. → [Furnizori](docs/reference/PROVIDER_REFERENCE.md)
- **📡 Transparența rutării** — fiecare răspuns include un antet `X-OmniRoute-Decision` care indică strategia/furnizorul/latența care l-au deservit, o nouă strategie combo `cache-optimized` + factorul de rutare Auto-Combo `cacheAffinity` redirecționează solicitările repetate către conexiunea care deține prefixul memorat în cache, iar un endpoint numai pentru citire `/v1/auto-combo/{channel}/candidates` expune grupul de candidați activi al unui canal `auto/*`. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **⚡ Performanță locală și infrastructură** — Redis local cu un singur clic, deployere pentru relee Cloudflare Workers / Deno Deploy, Bifrost și Mux ca servicii încorporate supervizate. → [Servicii încorporate](docs/frameworks/EMBEDDED-SERVICES.md)
- **🧩 Inclus în pachet** — framework pentru pluginuri + marketplace, frameworkuri de skill-uri Omni/Agent/GitHub, integrare cu vault-uri Obsidian (22 de instrumente MCP), API-uri Batch și Files compatibile cu OpenAI, cache semantic pentru răspunsuri, gamificare cu clasamente, descoperirea agenților ACP (15 agenți încorporați), export programat al jurnalelor în BigQuery, distribuire paralelă multi-model `auto/chaos`, o punte pentru boți Telegram, un manager de versiuni în aplicație și clasamente LMArena-ELO ale furnizorilor gratuiți. → [Documentație](docs/README.md)
## 🤖 CLI-uri & Agenți de programare compatibili
> O singură configurare — `http://localhost:20128/v1` — și **orice** IDE AI sau CLI rulează pe modele gratuite & cu cost redus.
+ funcționează și cu · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · orice unealtă compatibilă cu OpenAI
📖 Configurare per-instrument pentru toate cele 39 de unelte (28 CLI Code + 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)
**Lansează orice CLI suportat prin OmniRoute cu o singură comandă** — fără fișiere de configurare scrise,
credentiale injectate per proces, Qwen/Gemini primesc un home izolat temporar:
```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"
# Sau alege provider+model interactiv și scrie propria configurație a uneltei:
omniroute configure codex # de asemenea: claude opencode qwen aider goose gemini cline continue kilo 5dive
```
Fiecare comandă respectă contextul remote activ (`omniroute connect `), `--dry-run`
previzualizează exact env/args fără a executa, iar `--api-key-env NAME` păstrează secretele
în afara istoricului shell-ului tău. → [Integrări CLI](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 388 de furnizori AI — 153 marcați ca gratuiți în catalog
> **388 de furnizori înregistrați** în colecțiile canonice de chat, media, căutare, locale, agenți cloud și sistem, inclusiv **153 care au metadatele de descoperire `hasFree: true`**. Registrul modelelor de chat acoperă **239 de furnizori / 3.059 de perechi distincte furnizor-model / 1.475 de ID-uri brute de modele**; catalogul separat cu buget gratuit are **471 de rânduri per model**, **34 de pool-uri recurente** și **52 de furnizori recurenți/gratuiți permanent, fără cheie**. Aceștia sunt numitori diferiți în mod intenționat; definițiile și calculele deduplicate la nivel de pool se găsesc în [Referința furnizorilor](docs/reference/PROVIDER_REFERENCE.md) și [Niveluri gratuite](docs/reference/FREE_TIERS.md).
### 🏢 Toate laboratoarele importante — printr-un singur endpoint
OpenAI
Anthropic
Gemini
xAI Grok
DeepSeek
Mistral
Qwen
Meta Llama
Groq
NVIDIA
MiniMax
Cohere
Perplexity
HuggingFace
Together
Fireworks
Cloudflare
Baidu
…și încă peste 350 — fiecare pictogramă este încărcată în timp real din catalogul de furnizori al tabloului de bord. 📖 [Referința furnizorilor](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 Gratuit pentru totdeauna — 0 $, fără card
OpenCode Zen DeepSeek V4, Nemotron 3 Fără limită de tokeni
Kilo Code Router automat, Tencent Hy3 Gratuit pentru totdeauna
Requesty GPT-OSS 120B, Nemotron Gratuit pentru totdeauna
SiliconFlow DeepSeek V3.2 / R1 Nivel gratuit
Z.AI GLM GLM-4.7 / 4.5-Flash Gratuit pentru totdeauna
Baidu ERNIE ERNIE 4.0 Gratuit pentru totdeauna
Qoder AI Qwen3-Max, Kimi-K2 GRATUIT nelimitat
Pollinations GPT, Llama, Claude Nu este necesară nicio cheie
### 🧩 Nou: OmniRoute în chatul Copilot nativ al codului VS
> Fără bară laterală nouă, fără chat nou UI - fiecare model OmniRoute servit apare chiar în** Selectorul de modele de chat Copilot pe care îl utilizați deja** . Începând cu VS Code 1.122, modelele de furnizori funcționează fără o conectare GitHub sau un abonament Copilot - modul agent, apelare instrument și viziune, gratuit.
Instalați** [OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)** extensia, îndreptați-o către serverul dvs. OmniRoute (implicit la `localhost:20128`), apoi deschideți Copilot Chat → model selector →** Gestionați modelele...** →**OmniRoute** .
Din interiorul editorului: deschideți** Extensii** vizualizare, cautare** "OmniRoute"** , faceți clic** Instala** — funcționează la fel în ambele magazine. Sursa, problemele și runbook-ul de publicare live la [diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot).
📖 [VS Cod Copilot Ghid de chat](docs/guides/VSCODE-COPILOT.md) — configurare, ceea ce arată selectorul, tabloul de bord într-o filă, depanare
### 🎩 Nou: OmniRouteTray — poarta dvs. de acces, care locuiește în bara de meniu
> `omniroute serve` este cel mai fericit când este mereu pornit.** [OmniRouteTray](https://github.com/zoispag/omniroute-tray)** transformă asta într-o aplicație de bară de meniu set-and-forget pentru macOS: pornește serverul, îl menține în viață în timpul repornirilor, îl actualizează și pune bugetul pentru token live la un clic distanță -** nicio fereastră de terminal nu a rămas deschisă, nicio `npm install -g omniroute` pentru a îngriji.**
Construit cu [Tauri v2](https://v2.tauri.app/) (un nucleu Rust de dimensiunea unei erori de rotunjire), acesta își livrează propriul runtime Node 24 semnat și gestionează o instalare OmniRoute deținută de aplicație, astfel încât să nu se lupte niciodată cu `node`/`bun` global. Ea** partajează configurația și baza de date `~/.omniroute/` existente** — deci este același OmniRoute pe care îl alergați deja, doar cu o pălărie. 🎩
Ce face
🟢 Supervizează serverul
Spawns omniroute serve , adoptă o instanță care rulează deja în loc să o dubleze
📊 Utilizarea live dintr-o privire
Bare de cote ale furnizorilor, limite Claude session/weekly cu numărătoare inversă de resetare, defalcare a costurilor pe 30 de zile
🔄 Actualizări automate la locul lor
Instalare în etape, schimbare atomică, rollback în caz de eșec — întotdeauna la cea mai nouă versiune
🚀 Începe la autentificare
Lansare opțională la conectare; numai pentru tavă, fără pictogramă de andocare
🩺 Doctor & jurnalele
Diagnosticare cu un singur clic și acces la jurnalul serverului
```sh
brew install --cask zoispag/tap/omniroute-tray
```
Preferi o descărcare? Luați cel mai recent .dmg de la
Lansări . Sursă, probleme și construcție
docs live la zoispag/omniroute-tray.
💛 Un proiect comunitar de @zoispag — nu o lansare oficială OmniRoute.
## 🔒 Privat și local în primul rând
📖 [Autorizare](docs/architecture/AUTHZ_GUIDE.md) · [Mecanisme de protecție](docs/security/GUARDRAILS.md) · [Conformitate](docs/security/COMPLIANCE.md)
## 🔌 CLI completă + A2A și MCP
> Dincolo de server, OmniRoute este un **centru complet de comandă în linia de comandă**, cu **peste 80 de comenzi**, plus protocoale deschise pentru agenți, astfel încât un agent AI să îl poată controla **singur**.
### ⌨️ Un CLI adevărat (nu doar `start`)
```bash
omniroute # pornește gateway-ul + tabloul de bord (portul 20128)
omniroute chat # client de chat TUI interactiv (comenzi slash: /model /combo /skill /memory)
omniroute setup # asistent ghidat pentru prima rulare
omniroute doctor # diagnostichează furnizorii, porturile și dependențele native
```
### 🛰️ Mod la distanță — rulați CLI-ul aici, iar OmniRoute pe un VPS
OmniRoute rulează pe un server? Controlați-l de pe laptop cu **același CLI**. Autentificați-vă o singură dată
cu un token de acces cu domeniu limitat; apoi, fiecare comandă vizează instanța la distanță.
```bash
omniroute connect 192.168.0.15 # parolă → token cu domeniu limitat, salvat drept context
omniroute models # ← rulează pe serverul LA DISTANȚĂ
omniroute configure codex # ← alege un model la distanță, scrie un profil Codex local
omniroute tokens create --name ci --scope read # generează tokenuri mai restrictive pentru alte mașini
omniroute contexts use default # ← revine la serverul local
```
Tokenurile au domeniile `read` / `write` / `admin`; rutele care pornesc procese rămân accesibile doar prin interfața loopback.
📖 [Mod la distanță](docs/guides/REMOTE-MODE.md)
### 🤝 Conectați un agent — iar acesta controlează OmniRoute
Expuneți OmniRoute prin **MCP**, **A2A**, un **API REST**, **webhook-uri** sau un **CLI la distanță** — orice agent capabil (sau propriul cod) primește controlul asupra întregului gateway: rutare, furnizori, combinații, cache, compresie, memorie — în mod autonom. Endpointurile HTTP de mai jos sunt disponibile la `http://localhost:20128`.
Interfață
Endpoint / comandă
Utilizare
🧰 MCP (stdio)
omniroute --mcp
Integrare cu Claude Desktop, Cursor sau orice client MCP
🌊 MCP (HTTP)
/api/mcp/stream
MCP la distanță — 110 instrumente, 33 de domenii (aplicare opțională), pistă de audit completă
📡 MCP (SSE)
/api/mcp/sse
Transport MCP prin streaming
🤝 A2A
/.well-known/agent.json
Agent-la-agent, JSON-RPC 2.0 + SSE, 6 abilități
🌐 API REST
/v1/*
Compatibil cu OpenAI — chat, reprezentări vectoriale, imagini, audio, OCR
🔔 Webhook-uri
/api/webhooks
Trimite evenimente privind cererile / cotele către Slack, Discord, Telegram sau orice URL
🛰️ CLI la distanță
omniroute connect
Controlează o instanță la distanță cu tokenuri de acces cu domeniu limitat
```bash
# Oferă-i lui Claude Code setul complet de instrumente OmniRoute prin MCP:
claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream
```
📖 [Server MCP](docs/frameworks/MCP-SERVER.md) · [Server A2A](docs/frameworks/A2A-SERVER.md) · [Protocoale pentru agenți](docs/frameworks/AGENT_PROTOCOLS_GUIDE.md)
## 🗜️ Economisiți 15–95% din tokeni — automat
### 📖 Cum funcționează — pipeline, arhitectură și calculul economiilor
Combinația stivuită implicită rulează `RTK → Caveman`. Când ambele acționează asupra aceleiași sarcini utile de instrument/context, economiile se cumulează:
```txt
combined = 1 − (1 − RTK) × (1 − Caveman_input)
average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2%
range = 78.4 – 94.6%
```
Blocurile de cod, URL-urile, JSON-ul și datele structurate sunt **întotdeauna protejate** de motorul de păstrare.
> **De ce să folosești mulți tokeni când câțiva sunt suficienți?** Fiecare solicitare trece prin pipeline-ul de compresie al OmniRoute **în mod transparent** — fără modificări ale clientului. Acum este o **stivă de 12 motoare compozabile** care rulează în ordine și pot fi combinate după preferințe pentru fiecare combinație de rutare — pornind de la idei din [RTK](https://github.com/rtk-ai/rtk), [Caveman](https://github.com/JuliusBrussee/caveman) (⭐ peste 90K), [LLMLingua-2](https://github.com/microsoft/LLMLingua) și [Troglodita](https://github.com/leninejunior/troglodita) (PT-BR).
### 🧱 Stiva cu 12 motoare
Motoarele rulează în ordinea pipeline-ului; fiecare poate fi activat sau dezactivat și configurat independent pentru fiecare combinație:
#
Motor
Ce face
1
Session-Dedup
Elimină conținutul repetat între runde (cu adresare după conținut, între runde)
2
CCR
Arhivează blocurile mari în spatele unor markeri de recuperare, preluate la cerere
3
Lite
Elimină spațiile albe + scurtează URL-urile imaginilor (linie de bază cu latență redusă)
4
RTK
Filtrare inteligentă a rezultatelor instrumentelor, eliminare a duplicatelor și trunchiere (adaptată comenzilor)
5
Responses Tool Output
JSON cu prioritate pentru păstrarea informațiilor + compresie diagnostică limitată pentru rezultatele shell/patch/search/build (Responses API)
6
Headroom
Compactare fără pierderi a tabelelor din array-uri JSON (~30%) printr-un codec GCF inclus în proiect
7
Relevance
Evaluarea extractivă a propozițiilor în raport cu ultima interogare a utilizatorului
8
Caveman
Compresie a prozei bazată pe reguli (~65–75% pentru output)
9
Aggressive
Rezumare + îmbătrânire progresivă a rundelor vechi
10
LLMLingua-2
Eliminare semantică bazată pe ML prin MobileBERT ONNX — sigură pentru cod, asincronă
11
Ultra
Eliminare euristică a tokenilor cu un nivel opțional bazat pe un model mic (SLM)
12
OmniGlyph
Codificare experimentală a contextului ca imagine pentru Claude Fable 5, măsurată pe conexiunea directă Anthropic; transformatoarele GPT 5.6 rămân în modul fail-closed până la primirea confirmărilor furnizorului. Patru profiluri de compresie (implicit agresiv, echilibrat, sigur pentru cod, passthrough) (cel mai agresiv; activat explicit)
Blocurile de cod, URL-urile și datele structurate sunt **întotdeauna păstrate** byte cu byte. **Presetările cu un singur clic** combină motoarele:
Mod
Economii
Potrivit pentru
🪶 Lite
~15%
Implicit sigur, activat permanent
🪨 Standard (Caveman)
~30%
Programare zilnică
⚡ Aggressive
~50%
Sesiuni lungi cu multe instrumente
🔥 Ultra
~75%
Economii maxime
🧰 RTK
60–90%
Output shell/test/build/git
🔗 Stivuit (RTK → Caveman)
78–95%
Prompturi mixte + jurnale ale instrumentelor
**Exemplu real — modul Standard:**
> **Înainte (69 de tokeni):** _"Motivul pentru care componenta ta React se redesenează este probabil faptul că creezi o nouă referință de obiect la fiecare ciclu de randare. Când transmiți un obiect inline ca prop, comparația superficială a React îl consideră un obiect diferit de fiecare dată, ceea ce declanșează o rerandare. Îți recomand să folosești useMemo pentru a memora obiectul."_
>
> **După (19 tokeni):** _"Referință de obiect nouă la fiecare randare. Prop obiect inline = referință nouă = rerandare. Învelește în useMemo."_
>
> **Același răspuns. Cu 72% mai puțini tokeni. Fără nicio pierdere de acuratețe.** ✅
**Exemplu PT-BR — modul [Troglodita](https://github.com/leninejunior/troglodita):**
> **Înainte (42 de tokeni):** _„Problema este că componenta se randează din nou deoarece o nouă referință de obiect este creată la fiecare ciclu de randare. Aș recomanda folosirea useMemo.”_
>
> **După (12 tokeni):** _„Re-randare: referință nouă la fiecare ciclu (obiect inline recreat). Folosește `useMemo`.”_
>
> **Același răspuns. Cu ~70% mai puțini tokeni. Precizia tehnică rămâne intactă.** ✅
### 🎚️ Dincolo de motoare — stiluri de ieșire, reglajul adaptiv și controlul per cerere
Cele 12 motoare de mai sus reduc ceea ce **intră**. Încă trei straturi modelează **cum**, **când** și ce **iese**:
- **🪄 Stiluri de ieșire** _(dirijare pe axa ieșirii)_ — injectează instrucțiuni deterministe, sigure pentru cache, care modelează răspunsul; pot fi combinate, fiecare la intensitatea `lite` / `full` / `ultra`. Adăugarea unui stil înseamnă o singură intrare în registru:
- **Proză telegrafică** — elimină umplutura / articolele / formulările ezitante; păstrează exact substanța tehnică.
- **Mai puțin cod** — YAGNI de „developer senior leneș”: cea mai mică modificare funcțională, fără schelet nesolicitat.
- **Coadă de cal (developer senior leneș)** — urcă pe scara YAGNI, rezolvă cauza principală, cu cel mai mic diff funcțional.
- **Am ADHD (acțiunea pe primul loc)** — următoarea acțiune este prezentată prima, pașii sunt numerotați, un singur pas concret următor, fără preambul.
- **CJK telegrafic (文言)** — stil ultra-telegrafic în chineza clasică (limitat de locale la `zh`).
- **🎯 Buget de context adaptiv** _(reglajul)_ — în locul unui singur prag de tokeni pornit/oprit, escaladează cele mai ieftine și mai puțin pierzătoare motoare doar atât cât este necesar pentru a **încăpea în fereastra de context a modelului**. Politică: `reserve-output` (implicită, adaptată modelului) · `percentage` · `absolute`. Mod: `floor` (garantează încadrarea) · `replace-autotrigger` (alegerea ta explicită are prioritate) · `off` (prag moștenit).
- **🎛️ Unde se decide compresia** _(prioritate, de la mare la mică)_ — antetul per cerere `x-omniroute-compression` › suprascrierea combinației de rutare › profilul activ denumit › declanșarea adaptivă / automată › valoarea implicită din panou › dezactivat. Planul aplicat este retransmis în antetul de răspuns `X-OmniRoute-Compression: ; source=`.
Declanșează automat după pragul de tokeni, activează reglajul adaptiv, fixează un profil denumit, setează o valoare unică pentru o cerere sau atribuie un pipeline unei combinații de rutare — în funcție de ceea ce se potrivește volumului de lucru. Un **harness de evaluare** offline opțional (`npm run eval:compression`) evaluează fidelitatea în raport cu economiile pe un corpus fixat înainte să promovezi o modificare.
📖 [`COMPRESSION_GUIDE.md`](docs/compression/COMPRESSION_GUIDE.md) · [`RTK_COMPRESSION.md`](docs/compression/RTK_COMPRESSION.md) · [`COMPRESSION_ENGINES.md`](docs/compression/COMPRESSION_ENGINES.md)
# ⚡ Pornire rapidă
**1) Instalează și rulează**
```bash
npm install -g omniroute
omniroute
```
> 💡 Vezi `npm warn ERESOLVE` sau avertismente despre dependențe peer? [Sunt inofensive](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated).
> **Folosești npm 11 sau o versiune ulterioară?** npm poate bloca scripturile ciclului de viață ale pachetelor dacă nu sunt permise. `postinstall` al OmniRoute (`node scripts/build/postinstall.mjs`) este necesar pentru pregătirea fișierelor native ale runtime-ului. Permite pachetele menționate în avertismentul npm la instalarea globală. Pentru setul de pachete raportat de OmniRoute 3.8.54:
>
> ```bash
> npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute
> ```
>
> Pentru a reutiliza această listă de permisiuni la instalările globale viitoare, configureaz-o o singură dată, apoi instalează în mod normal:
>
> ```bash
> npm config set allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild --location=user
> npm install -g omniroute
> ```
>
> Lista dependențelor se poate modifica între versiuni; dacă npm raportează o listă diferită, folosește numele pachetelor din acel avertisment. Permiterea unui pachet îi permite executarea scripturilor de instalare.
> **Folosești Gemini Web sau un alt furnizor bazat pe cookie-uri web?** Pachetul npm include
> Playwright, dar nu și binarul său Chromium. Consultă nota despre
> [configurarea Chromium pentru Playwright](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium)
> înainte de a face prima solicitare către furnizorul web.
Panoul de control la `http://localhost:20128` · API-ul la `http://localhost:20128/v1`.
**2) Conectează un furnizor eligibil folosind propriul cont**
Panou de control → **Furnizori** → alege un furnizor ale cărui condiții actuale și cotă se potrivesc cazului tău de utilizare → adaugă cheia API sau finalizează fluxul contului. Nivelurile gratuite pot necesita înregistrare, aprobare sau o metodă de plată. Consultă [Ghidul nivelurilor gratuite](docs/getting-started/FREE-TIERS-GUIDE.md); disponibilitatea fără cheie nu este garantată, iar furnizorii marcați `tos: avoid` sunt excluși implicit din `auto`.
**3) Configurează instrumentul de programare**
```txt
Base URL: http://localhost:20128/v1
API Key: [copy from Dashboard → Endpoints]
Model: auto (routes among eligible connections — or choose provider/model)
```
**4) Verifică dacă funcționează**
```bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
```
Ar trebui să vezi modelele conectate listate. 🎉 Asta este tot — începe să scrii cod, iar OmniRoute va face automat rutarea și fallback-ul pentru tine.
Dacă clientul tău nu poate trimite antete personalizate, OmniRoute expune și aliasuri de compatibilitate tokenizate:
```txt
OpenAI catalog: http://localhost:20128/vscode/YOUR_KEY/
OpenAI models: http://localhost:20128/vscode/YOUR_KEY/models
OpenAI chat: http://localhost:20128/vscode/YOUR_KEY/chat/completions
OpenAI responses: http://localhost:20128/vscode/YOUR_KEY/responses
Ollama chat: http://localhost:20128/vscode/YOUR_KEY/api/chat
Ollama tags: http://localhost:20128/vscode/YOUR_KEY/api/tags
```
Folosește-le numai pentru clienții care nu pot atașa `Authorization: Bearer ...`. Autentificarea prin antet rămâne modul preferat.
## 📦 Mai multe metode de instalare — Docker, sursă, 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` urmărește cea mai mare versiune SemVer stabilă **publicată**. Nu urmărește ramura git `main`. Fixați versiunea la `:X.Y.Z` pentru GitOps. Consultați [Canalele de lansare Docker](docs/guides/DOCKER_GUIDE.md#release-channels). Imaginea fixează **`OMNIROUTE_MEMORY_MB=1024`**. Această valoare este suficientă pentru panoul de control și conversații ușoare. **Agenții de programare** (`POST /v1/responses` din Claude Code, Codex, Grok, …) necesită un heap V8 mult mai mare, altfel procesul întâmpină o `FATAL ERROR` la aproximativ 12 GiB, în cazul a două contexte lungi care se suprapun. Dimensionați containerul peste dimensiunea heap-ului (bufferele native se află în afara V8):
| Sarcină de lucru | Heap (`-e OMNIROUTE_MEMORY_MB`) | Container (`--memory`) |
| -------------------------------------------------- | -------------------------------------- | ---------------------- |
| Panou de control / conversații ușoare | `1024` (valoarea implicită a imaginii) | ≥2 g |
| Un agent de programare | `8192` | ≥10 g |
| Două solicitări `/v1/responses` lungi și simultane | `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
```
Tabelul complet: [Ghid Docker — RAM în timpul rulării](docs/guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents).
> **Canal Docker de pre-lansare:** `diegosouzapw/omniroute:next` și
> `diegosouzapw/omniroute:next-web` urmăresc ramura implicită curentă `release/v*`.
> Aceste etichete mutabile sunt destinate exclusiv testării remedierilor nelansate și
> **nu sunt acceptate pentru utilizare în producție**. Consultați
> [Canalele de lansare Docker](docs/guides/DOCKER_GUIDE.md#release-channels).
**🥟 Bun**
Comanda standard `bun install` și instalarea globală (`bun install -g omniroute`) sunt acceptate prin detectarea mediului de rulare Bun:
- **`bun:sqlite` încorporat**: OmniRoute utilizează driverul `bun:sqlite` încorporat în Bun atunci când rulează sub Bun, folosind alternativ `better-sqlite3` pe Node.js sau `sql.js`.
- **Selectarea automată a bundlerului Webpack în dezvoltare**: Mediul de dezvoltare (`bun run dev`) detectează automat Bun și dezactivează Turbopack în favoarea Webpack, pentru a preveni incompatibilitățile cu bindingurile native V8. Buildurile de producție (`bun run build`) respectă `OMNIROUTE_USE_TURBOPACK` exact ca pe Node: Turbopack în mod implicit, `OMNIROUTE_USE_TURBOPACK=0` pentru a construi cu Webpack (`Dockerfile.bun` îl expune drept `--build-arg`).
- **Dockerfile dedicat pentru Bun**: `Dockerfile.bun` în mai multe etape pentru implementări native Bun în producție (`docker build -f Dockerfile.bun -t omniroute:bun .`).
```bash
# Instalați și rulați cu Bun
bun install
bun run dev
```
**🛠️ Din sursă**
```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
# Utilizând flake-uri Nix
nix develop
npm run dev
# Sau utilizând devbox
devbox run npm run dev
```
📖 [Ghid Docker](docs/guides/DOCKER_GUIDE.md) — Profiluri Compose, HTTPS cu Caddy, tuneluri Cloudflare.
**🦭 Podman**
```bash
# 1. Pregătiți directorul de date montat prin bind
mkdir -p data
# 2. Numai pentru Linux + Podman rootless local (niciodată pentru un client Podman Machine la distanță):
podman unshare chown 1000:1000 ./data
# 3. Setați indicația pentru mediul de rulare, construiți imaginea Compose locală și porniți
echo "CONTAINER_HOST=podman" >> .env
podman compose --profile base up -d --build
```
Pe macOS sau Windows, Podman utilizează o instanță Podman Machine la distanță: omiteți `podman unshare` și
urmați [instrucțiunile privind directorul de date, specifice topologiei](contrib/podman/README.md#data-directory-permissions-by-topology).
📖 [Ghid Podman](contrib/podman/README.md) — Builduri Compose, Podman Machine și
configurare Quadlet Linux/systemd.
**⚡ Instalare mai rapidă / mai compactă (omiteți buildul nativ)**
Motorul SQLite nativ (`better-sqlite3`) este o dependență **opțională**, astfel încât o instalare
globală nu este niciodată blocată de compilarea din sursă: utilizează un binar precompilat atunci când unul este compatibil
cu platforma/versiunea Node utilizată, iar în caz contrar trece în mod transparent la un motor JavaScript pur
(`node:sqlite` pe Node 22+, altfel varianta WASM `sql.js` inclusă) — nu sunt necesare instrumente de build.
Pentru a omite complet inițializarea nativă ulterioară instalării (CI, sisteme headless sau lente):
```bash
OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # CI=1 o omite, de asemenea
```
Pentru instalări cât mai rapide, preferați **pnpm** (stocare adresată după conținut + linkuri fizice — consultați mai sus).
Pentru un mediu de rulare headless, fără panou de control, utilizați profilul Docker `base` (de mai sus) sau
[ghidul Termux](docs/guides/TERMUX_GUIDE.md). CLI-ul și panoul de control web sunt furnizate de același
proces pe un singur port, astfel că în prezent nu există un pachet separat destinat exclusiv CLI-ului.
**Clasament complet (URL-uri canonice deduplicate, `v > 0`, cea mai mare acoperire):**
| #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** |
Metrici canonice la 2026-10-18: **1.976 de videoclipuri unice** · **20.220.289 de vizualizări cunoscute** (`v > 0`) · **1.210 canale/profiluri în funcție de rețea**. Panoul brut conține 1.976 de rânduri (YouTube 1.352 = 740 videoclipuri lungi + 612 Shorts · TikTok 334 · Instagram 290); nu a rămas niciun duplicat după normalizarea după URL-ul canonic, care păstrează cel mai mare număr de vizualizări pentru fiecare videoclip. Colectarea datelor de pe YouTube este înghețată la 2026-10-13 (cota API epuizată în perioada 14–18/10), iar cea de pe TikTok/Instagram începând cu 2026-09-02 (fără credite pentru colectare); 76 de videoclipuri încă nu au un număr de vizualizări.
> 🎬 **Ai realizat un videoclip despre OmniRoute?** Deschide un [tichet](https://github.com/diegosouzapw/OmniRoute/issues/new) sau o [discuție](https://github.com/diegosouzapw/OmniRoute/discussions) cu linkul — îl vom prezenta aici.
# 📧 Comunitate și ajutor
> Totul într-un singur loc — urmărește administratorul proiectului, discută cu comunitatea sau deschide un tichet.
| Canal | Unde / cum |
| --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| 💼 **LinkedIn** — urmărește administratorul | [linkedin.com/in/diegosouzapw](https://www.linkedin.com/in/diegosouzapw/) |
| 🐙 **GitHub** — urmărește pentru lansări și sfaturi | [@diegosouzapw](https://github.com/diegosouzapw) |
| 💬 **Discord** | [discord.gg/U47eFqAXCn](https://discord.gg/U47eFqAXCn) |
| ✈️ **Telegram** | [t.me/omnirouteOficial](https://t.me/omnirouteOficial) |
| 🟢 **WhatsApp — 🌍 Global** | [alătură-te grupului](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) |
| 🟢 **WhatsApp — 🇧🇷 Brazilia** | [intră în grup](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) |
| 🌍 **Site web** | [omniroute.online](https://omniroute.online) |
| 🌍 **Comunitatea 🌍StHub OmniRoute (gratuită)** | [portalul sthub](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK) |
| 📦 **Cod sursă** | [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) |
| 🐛 **Raportează o eroare** | [deschide o sesizare](https://github.com/diegosouzapw/OmniRoute/issues) — atașează rezultatul comenzii `npm run system-info` |
| 🤝 **Contribuie** | [CONTRIBUTING.md](CONTRIBUTING.md) · [Modelul de ramificare și lansare](docs/ops/BRANCHING_MODEL.md) · alege o problemă `good first issue` |
| 💚 **Susține proiectul** | [Modalități de susținere ↑](#-support-omniroute) · [GitHub Sponsors](https://github.com/sponsors/diegosouzapw) |
Întrerupător de circuit, backoff exponențial, prevenirea efectului de turmă, auto-vindecare auto-combo
Jurnalizare
pino — jurnale JSON structurate cu contextul cererii
Testare
Rulantul de teste Node.js + Vitest — peste 60.000 de declarații statice de teste în peste 8.400 de fișiere de teste urmărite (unitare, de integrare, E2E, de securitate, ale ecosistemului)
Strategia de acoperire a testelor pentru peste 60.000 de declarații statice de testare din peste 8.400 de fișiere de testare urmărite
# ⭐ Contribuitori de top
> OmniRoute este modelat de o comunitate open-source pasionată. Aceste persoane au adus contribuții excepționale care influențează direct calitatea, stabilitatea și răspândirea proiectului. **Vă mulțumim.**
### Contribuitori externi în funcție de pull request-uri îmbinate
Recensământ realizat la 2026-11-03 03:01:19 UTC, cu vârful activ al release/v3.8.53 la 05bc048d6c. Recensământul GitHub GraphQL paginat conține 9.947 de PR-uri îmbinate: 4.130 deținute de proprietarul depozitului, 240 de Dependabot, 6 de alți boți/aplicații și 5.571 de PR-uri externe de la 883 de contributori distincti. „Liniile modificate” reprezintă adunarea adăugărilor și ștergerilor GitHub și includ fișiere generate, fișiere de blocare, cataloage, traduceri și documentație; acestea reprezintă volumul modificărilor, nu LOC scrise de autori. 53 de PR-uri raportează diferențe GitHub de peste 500.000 de linii (de exemplu #13399, o singură adăugare de furnizor, enumeră 2.347 de fișiere modificate), ceea ce mărește câteva dintre totalurile de mai sus. Egalitățile sunt clasate împreună.
### Commit-uri atribuite GitHub-ului
Verificat din nou la 2026-11-03 02:09:16 UTC: comiteri atribuite GitHub raportate de Contributors API al depozitului pentru ramura implicită release/v3.8.53. API-ul a returnat 903 identități (429 de utilizatori, 2 boți, 472 anonime); acest tabel exclude responsabilul de mentenanță, boții și identitățile anonime și păstrează egalitățile din clasament. Este distinct atât de clasamentul PR-urilor îmbinate de mai sus, cât și de recensământul metadatelor Git de mai jos.
> 🙏 Funcționalitățile, remedierea erorilor și îmbunătățirile infrastructurii realizate de acești contributori sunt o **parte esențială** a ceea ce face ca OmniRoute să fie fiabil și bogat în funcționalități. Fiecare cerere de extragere, fiecare caz de testare și fiecare fișier de traducere i18n contează. Sursa deschisă este construită de oameni ca ei.
---
## 💖 Sponsori
Mulțumiri din inimă celor care finanțează OmniRoute din propriul buzunar — fiecare contribuție ajută proiectul să rămână gratuit, independent și să evolueze.
… și alții care preferă să rămână anonimi 💛Sponsorii publici GitHub au fost revalidați la 2026-10-18 prin API-ul GraphQL GitHub Sponsors: 11 sponsorizări publice (6 active, 5 anterioare) dintr-un total de 14. Starea isActive din GitHub determină etichetele active de mai sus; foștilor susținători publici cu contribuții unice le sunt adresate în continuare mulțumiri, iar sponsorii privați rămân anonimi. Donațiile prin Ko-fi, Buy Me a Coffee, Liberapay, PIX și criptomonede nu sunt afișate deoarece nu au o înregistrare publică de sponsor.💖 Devino sponsor → — fiecare dolar ajută OmniRoute să rămână gratuit și independent.
## 👥 Peste 1.000 de contributori
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
Auditat la 2026-11-02 pe tip-ul live release/v3.8.531c7135e0fb (7.972 de commituri): 1.074 de identități Git umane normalizate — 759 apar ca autori ai commiturilor (inclusiv maintainerul), iar 315 apar doar în trailere explicite Co-authored-by. Recensământul aplică .mailmap, compară adresele de e-mail fără diferențiere între litere mari și mici, asociază adresele numerice și simple GitHub noreply doar atunci când codifică același handle, exclude 29 de identități de tip bot/agent/serviciu/placeholder și nu combină adrese de e-mail obișnuite doar pentru că numele afișate coincid. Auditul din 2026-08-24 a publicat 639; această metodă, rulată din nou pe baza acelui audit ac02c5b42f, oferă 619, astfel încât creșterea provine de la contributori noi, nu de la o metodă mai permisivă.
### Cum poți contribui
1. Creează un fork al depozitului
2. Creează o ramură pornind de la tip-ul **activ** `release/vX.Y.Z` (nu `main`) — vezi [Modelul de ramificare și lansare](docs/ops/BRANCHING_MODEL.md)
3. Creează ramura pentru funcționalitatea ta (`git checkout -b feat/amazing-feature`)
4. Fă commit pentru modificările tale (`git commit -m 'feat: add amazing feature'`)
5. Trimite modificările în ramură (`git push origin feat/amazing-feature`)
6. Deschide un Pull Request cu **base = acea ramură** `release/vX.Y.Z`
Consultă [CONTRIBUTING.md](CONTRIBUTING.md) pentru instrucțiuni detaliate.
### Lansarea unei versiuni noi
```bash
# Creează o versiune — npm publish se execută automat
VERSION=x.y.z
gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes
```
## 📊 Stele
## 🌍 StarMapper
## 🙏 Mulțumiri
OmniRoute se sprijină pe umerii unor giganți. A început ca un fork al **[9router](https://github.com/decolua/9router)** și ca un port TypeScript al proiectului Go **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — iar de acolo, fiecare subsistem de mai jos a fost inspirat de un proiect open-source care a ajuns primul acolo. Fiecare a contribuit la modelarea unei componente concrete a OmniRoute. Acesta este modul nostru de a le mulțumi tuturor. 🙏
> ⭐ numărul de stele a fost verificat prin GitHub's REST API la 3 noiembrie 2026 — mergeți să le acordați o stea acestor proiecte. Numărătorile reprezintă un instantaneu exact la data respectivă și se vor schimba în mod natural.
### 🧬 Linie de origine și gateway
Gateway-ul AI al cărui set public de date privind prețurile alimentează sincronizarea pentru urmărirea costurilor și al cărui model de normalizare a furnizorilor a influențat rutarea noastră.
Sursă MIT adaptată în puntea inclusă în vendor ChatGPT Web → Codex Responses, inclusiv adaptoarele pentru sesiuni de browser, încadrarea răspunsurilor, utilizare și căutare web.
Modele portate în recuperarea fluxurilor, aliasurile no-thinking, căutarea web de rezervă, limitele bazate pe ferestre glisante, redactarea jurnalelor și fluxurile de lansare consolidate.
Modelele pentru alegerea instrumentelor Cursor Composer, constrângerile de ieșire și confirmarea instrumentelor au fost adaptate în executorul nativ Cursor.
Valorile implicite de transformare compatibile cu Claude Code și comportamentul antetelor de facturare au fost generalizate în puntea OmniRoute bazată pe configurație.
Mapările modelelor Grok, generatorul Statsig fake-TypeError, valorile implicite pentru cereri și dispozitive și procesorul de răspuns NDJSON au fost adaptate substanțial în executorul Grok Web al OmniRoute.
Sursa principală de cod tranzitivă din spatele grok2api-merged; implementările sale pentru modele, antete, payload-uri, Statsig și procesor sunt păstrate în linia de origine Grok Web.
Sursa MIT de bază pentru payload-urile Grok și valorile implicite ale dispozitivelor, generatorul Statsig și procesorul result.response transmise prin TQZHR și grok2api-merged.
Sursă tranzitivă menționată de grok2api-merged pentru stratul său de pool de proxy-uri; OmniRoute păstrează această mențiune a liniei de origine, dar nu revendică un port al unui pool de proxy-uri în executorul său Grok Web cu domeniu limitat.
Implementarea originală Grok Web a fost consultată pentru designul upstream HTTP/browser; calea sa HTTP directă derivă din GrokProxy, prin urmare nu este revendicat niciun port de cod independent.
### 🗜️ Compresia contextului și a tokenurilor — motoare
Proiectul viral „de ce să folosești multe tokenuri când câteva tokenuri fac treaba” — filozofia sa de exprimare cavemanească stă la baza modului nostru standard de comprimare și a peste 30 de reguli de eliminare/condensare a umpluturii.
Cercetarea privind comprimarea prompturilor (LLMLingua / LLMLingua-2) — a inspirat motorul nostru llmlingua asincron, sigur pentru cod și cu eșec permis.
Comprimarea tokenurilor PT-BR — alimentează pachetul nostru de limbă pt-BR: reducerea pleonasmelor și eliminarea cuvintelor de umplutură, ajustate pentru gramatica portughezei braziliene.
Abilitatea virală de programare YAGNI a „dezvoltatorului senior leneș” — a inspirat stilul nostru de ieșire less-code: ghidarea către cea mai mică modificare funcțională, care reduce codul _generat_ (echivalentul pe axa ieșirii al exprimării concise din Caveman).
Stilul său de răspuns, orientat mai întâi către acțiune și adaptat persoanelor cu ADHD, a fost adaptat în stilul concis de ieșire al OmniRoute, pentru cinci limbi.
### 🧩 Formate compacte, cercetarea tokenurilor și instrumente conștiente de cod
Compactarea rezultatelor Bash + profiluri MCP — au inspirat disciplina noastră de abandonare a comprimării și reducerea manifestului instrumentelor MCP.
Comprimarea rezultatelor în funcție de conținut și de tipul fiecărui fișier, cu abandonare în caz de eșec — a validat distribuirea noastră per tip și omiterea atunci când câștigul minim nu este atins.
JSON pe coloane în Rust + recuperare adresată prin conținut + deduplicare între mesaje — a validat designul motoarelor noastre headroom/ccr/session-dedup și invariantul stabil pentru cache „forma comprimată este independentă de poziție”.
Set de instrumente pentru TypeScript Compiler API — a inspirat eliminarea comentariilor pe baza analizării sintactice, care păstrează literalii de tip șir, șablon și expresie regulată.
Interceptarea/analiza MITM a traficului dintre asistenții de programare și LLM a influențat cerințele inițiale pentru Traffic Inspector. Patru module derivate anterior — îmbinarea SSE, normalizarea conversațiilor, mascarea secretelor și igienizarea antetelor — au fost înlocuite de implementări independente, realizate într-un mediu clean-room pe baza standardelor publice de protocol. Cele două suprafețe de passthrough pentru gazdă (passthrough.ts și _internal/bypass.cjs) rămân implementări interne OmniRoute, clasificate independent; nu au fost rescrise ca parte a acelei înlocuiri.
Rutarea transparentă a proxy-ului pentru fiecare proces — a inspirat închiderea MITM sigură în caz de eroare, timpii de expirare pentru socketurile inactive, atribuirea proceselor prin /proc și capturarea TPROXY.
### 📚 Date despre modele, observabilitate și interfață
Observabilitatea service mesh pentru Istio — a inspirat insignele circuit-breaker și reprezentările vizuale ale muchiilor de eroare din Routing/Combo Studio.
O listă selectată de biblioteci sigure în mod implicit, care ghidează alegerile noastre de securitate (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink).
A inspirat deduplicarea solicitărilor, fallback-ul de urgență cu cost zero, strategiile Auto-Combo conectabile și clasificarea multilingvă a intențiilor.
Redirecționarea modelelor în funcție de cont, validarea căilor executabile și comportamentul etichetelor planurilor au influențat runtime-ul Antigravity din OmniRoute.
A identificat suprafața cotei Grok Build; OmniRoute a verificat și corectat apoi independent formatul wire activ.
## 📄 Licență
Licență MIT - consultați [LICENSE](LICENSE) pentru detalii.
---
**[⬆ Înapoi sus](#-omniroute)** · Creat cu ❤️ pentru comunitatea AI open-source.
Creat de Diego Souza · OmniRoute v3.8.54 · Node ≥22.22.2 · Licență MIT · omniroute.online