## 💰 ~1,62 mld. tokenuri / lună din nivelurile gratuite ale terților
> **Adu-ți propriile conturi de furnizor.** Aceasta este o estimare agregată a nivelurilor gratuite eligibile separat ale terților, nu o alocare de tokenuri din partea OmniRoute. Înregistrează-te, obține credențiale acolo unde este necesar și conectează furnizorii pe care îi poți folosi; fiecare furnizor își controlează limitele, disponibilitatea și termenii.
>
> Să cumulezi manual nivelurile gratuite este dureros — zeci de SDK-uri, zeci de limite de rată și nicio idee despre cât ai de fapt. OmniRoute cataloghează **467 de intrări de nivel gratuit în 34 de chei de pool recurente** și calculează titlul de tokenuri din **cele 17 pool-uri cu un buget lunar pozitiv publicat plus cinci limite per model Groq**, deduplicate după pool-ul comun. Cotele care se deschid doar după o verificare regională de identitate (astăzi: ModelScope) sunt afișate separat, +~6M în spatele verificării regionale de identitate, și nu sunt niciodată însumate în titlu. Rezultatul rămâne vizibil pe tabloul de bord (`/dashboard/free-tiers`).
> Rezumat animat al paginii live `/dashboard/free-tiers`. Metodologia completă (deduplicare pe pool, niveluri de credite, termenii furnizorilor): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**.
>
> Aceste cifre sunt reauditate la fiecare două săptămâni față de catalogul live și **se mișcă în ambele direcții** — un furnizor încheie un nivel gratuit și numărul scade; unul nou apare și crește. Publicăm ceea ce calculează efectiv catalogul, niciodată un scenariu optimist rotunjit în sus.
⭐ Dă o stea repo-ului 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 — afli primul despre furnizori noi, versiuni ș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, sfaturi despre furnizori, roadmap și suport → [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)**
## 📈 Gateway-ul continuă să crească
## 🆓 Instalează, conectează un furnizor, apoi direcționează printr-un singur endpoint
```bash
# După conectarea unui furnizor, copiază cheia OmniRoute din Tablou de bord → Endpointuri:
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ă. Este posibil ca o instalare nouă să nu aibă destinații 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ă gata de copiat și lipit 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 în comparație cu 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)**.
## ✨ Ce este nou
> Repere recente din **v3.8.20 → v3.8.53**. Istoricul complet în [`CHANGELOG.md`](CHANGELOG.md).
- **⚖️ Rutare `quota-weighted`** — a 20-a strategie de combo sare peste conturile epuizate, apoi extrage dintre celelalte proporțional cu cota rămasă ÷ sarcina în curs, păstrând conversațiile existente fixate. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🧰 Mod headless** — `omniroute serve --headless` (sau `OMNIROUTE_HEADLESS=1`) rulează doar motorul proxy `/v1/*`, cu dashboard-ul și subsistemele dedicate dashboard-ului oprite. → [Mod headless](docs/guides/HEADLESS.md)
- **🔎 Descoperirea modelelor** — `/v1/models` filtrează după capabilitate, context, tip și text, iar `POST /v1/models/query` returnează o listă scurtă deterministă cu aceeași vizibilitate pe cheie. → [Referință API](docs/reference/API_REFERENCE.md)
- **🔑 Controlul rutării pe cheie** — fixează o cheie API pe un singur model sau combo cu `forcedModel`, și adaugă sau elimină 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 fine** — selecție pe tip, până la 20 de șabloane de mascare personalizate validate și contoare de detectare pe tip; mascarea în sine rămâne opt-in. → [Guardrails](docs/security/GUARDRAILS.md)
- **🌍 67 de limbi** — dashboard, mirror-uri de documentație și CLI, cu `npm run i18n:add-locale` care adaugă o limbă peste tot cu o singură comandă. → [Ghid i18n](docs/guides/I18N.md)
- **🎛️ OmniConductor** — delegare A2A inbound către flota ta de agenți, skill-uri Conductor pe Agent Card și un panou în dashboard cu chat vocal push-to-talk Faro. → [Server A2A](docs/frameworks/A2A-SERVER.md)
- **🛂 Admitere adaptivă & protecție la supraîncărcare** — cererile grele de chat intră în coadă în loc să returneze 503, cu lease-uri rulante RPM atomice per conexiune. → [Ghid de reziliență](docs/architecture/RESILIENCE_GUIDE.md)
- **🗂️ Ordine canonică `/v1/models`** — un singur bloc contiguu grupat pe provider pentru fiecare provider (combo-urile fixate primele), stabil în orice sursă de catalog. → [Referință API](docs/reference/API_REFERENCE.md)
- **🗜️ Consolidarea compresiei** — gardă de inflație activată implicit, pachete Caveman pentru DE / FR / JA + chineză (wényán), filtre RTK pentru Gradle & .NET. → [Compresie](docs/compression/COMPRESSION_ENGINES.md)
- **💸 Cost flat-rate onest** — providerii de abonament / plan de codare apar cu **$0** în analiza costurilor; bugetul, cota și rutarea continuă să estimeze. → [Referință API](docs/reference/API_REFERENCE.md)
- **⚖️ Rutare Quota-Share** — împarte cota unui cont partajat în mod echitabil între cheile din pool, cu funcționare work-conserving astfel încât porțiunile inactive să fie împrumutate. → [Ghid de reziliență](docs/architecture/RESILIENCE_GUIDE.md)
- **🤖 Configurare CLI/agent cu 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` suportă 11 ținte cu un selector interactiv provider+model și favorite pe context. → [Integrări CLI](docs/guides/CLI-INTEGRATIONS.md)
- **🛰️ Mod remote** — controlează un OmniRoute aflat la distanță cu token-uri cu scopuri limitate (`connect` / `contexts` / `tokens`) + un helper OAuth `antigravity` pentru instalări pe VPS. → [Mod remote](docs/guides/REMOTE-MODE.md)
- **🧭 Rutare automată mai deșteaptă** — combo-uri `auto/:`, **Fusion** (panou de modele + judge), rutare conștientă de sarcină, suprascrieri per cerere de model / mod / buget USD. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🗜️ Compresie plug-in** — 12 motoare compozabile + Compression Studios: LLMLingua-2, Ultra pe două niveluri, omniglyph, poartă de fidelitate pe pas, GCF v3.2, editor cu reordonare prin tragere. → [Compresie](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ Decriptare MITM transparentă (TPROXY)** — capturează CLI-uri care ignoră variabilele de mediu proxy, cu un CA per SNI + instalator de trust-store. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md)
- **💸 Telemetrie de cost peste tot** — header-e de cost/utilizare `X-OmniRoute-*` pe fiecare endpoint, header de economii pentru cache-HIT, cote de cheltuială USD pe cheie. → [Referință API](docs/reference/API_REFERENCE.md)
- **🧠 Memorie pe care o controlezi** — dezactivată implicit, cuantizare vectorială int8 opt-in + decay tipizat, `x-omniroute-no-memory` per cerere. → [Memorie](docs/frameworks/MEMORY.md)
- **🛡️ Securitate** — gardă anti-prompt-injection pe fiecare rută LLM (suită red-team), guardrail opt-in de mascare a credențialelor (redactează cheile API/secretele scurse în ambele direcții), căutare web de ultimă instanță gratuită DuckDuckGo și o poartă opțională de autentificare OIDC pentru dashboard (autentificarea cu parolă rămâne mereu disponibilă). → [Guardrails](docs/security/GUARDRAILS.md)
- **🖼️ Endpoint-uri noi** — `/v1/ocr` (Mistral OCR) și `/v1/audio/translations` (stil Whisper) completează suprafața media. → [Referință API](docs/reference/API_REFERENCE.md)
- **🎨 Generare de imagini / video / audio** — un singur API pentru media: xAI Grok Imagine & Novita AI video, ComfyUI, Magnific, Adobe Firefly, Segmind și provideri de voce precum ElevenLabs. → [Referință API](docs/reference/API_REFERENCE.md)
- **🌍 Implementare & ops** — `basePath` pentru reverse-proxy, detectare automată a limbii browserului, urmărirea dispozitivelor pe cheie, trust MITM fără root, localizare zh-TW. → [Environment](docs/reference/ENVIRONMENT.md)
- **🤝 Mai mulți provideri & agenți** — agenți cloud (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) cu autentificare prin browser + OAuth, card Ollama first-class, Claude Opus 5 & Sonnet 5, parteneriat oficial Kimi (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… și un **catalog de 375 de provideri** reîmprospătat. → [Provideri](docs/reference/PROVIDER_REFERENCE.md)
- **📡 Transparență în rutare** — fiecare răspuns poartă un header `X-OmniRoute-Decision` care numește strategia/providerul/latența care l-a servit, o nouă strategie de combo `cache-optimized` + factorul `cacheAffinity` din Auto-Combo care rutează cererile repetate înapoi la conexiunea ce deține prefixul din cache, și un endpoint read-only `/v1/auto-combo/{channel}/candidates` care expune pool-ul live de candidați al unui canal `auto/*`. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **⚡ Performanță locală și infrastructură** — Redis local cu un singur clic, implementatoare relay Cloudflare Workers / Deno Deploy, Bifrost & Mux ca servicii încorporate supravegheate. → [Servicii încorporate](docs/frameworks/EMBEDDED-SERVICES.md)
- **🧩 De asemenea, incluse** — framework de pluginuri + marketplace, framework-uri de competențe Omni/Agent/GitHub, integrare cu seiful Obsidian (22 de instrumente MCP), API-uri Batch & Files compatibile cu OpenAI, cache semantic de răspunsuri, gamificare cu clasamente, descoperirea agenților ACP (15 agenți încorporați), export programat de jurnale către BigQuery, distribuire paralelă multi-model `auto/chaos`, o punte bot Telegram, un manager de versiuni în aplicație și clasamente LMArena-ELO pentru furnizori gratuiti. → [Documentație](docs/README.md)
## 🤖 CLI-uri și agenți de programare compatibili
> O singură configurație — `http://localhost:20128/v1` — și **orice** IDE sau CLI cu AI rulează pe modele gratuite și cu cost redus.
+ funcționează și cu · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · orice instrument compatibil cu OpenAI
📖 Configurare specifică pentru toate cele 37 de instrumente (27 CLI Code + 10 agenți CLI) → [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 Plugin OpenCode → [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)
**Lansați orice CLI acceptat prin OmniRoute cu o singură comandă** — fără a scrie fișiere de configurare,
datele de autentificare sunt injectate pentru fiecare proces, iar Qwen/Gemini primesc un director home izolat și 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 selectați interactiv furnizorul și modelul și scrieți configurația proprie a instrumentului:
omniroute configure codex # și: claude opencode qwen aider goose gemini cline continue kilo 5dive
```
Fiecare comandă respectă contextul de la distanță activ (`omniroute connect `), `--dry-run`
previzualizează variabilele de mediu/argumentele exacte fără a executa comanda, iar `--api-key-env NAME` păstrează secretele în afara
istoricului shell-ului. → [Integrări CLI](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 375 de furnizori AI — 153 marcați în catalog ca gratuit
> **375 de furnizori înregistrați** în colecțiile canonice chat, media, căutare, local, agent cloud și sistem, inclusiv **153 care poartă 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 model**; catalogul separat de buget gratuit are **467 de rânduri per model**, **34 de pool-uri recurente** și **51 de furnizori recurenți/fără cheie gratuit pe viață**. Acestea sunt numitoruri diferite prin design; definițiile și calculele cu deduplicarea pool-urilor se află în [Referința furnizorilor](docs/reference/PROVIDER_REFERENCE.md) și [Nivelurile gratuite](docs/reference/FREE_TIERS.md).
### 🏢 Fiecare laborator major — 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ă se rezolvă în timp real din catalogul de furnizori al panoului de control. 📖 [Referință furnizori](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 Gratuit pentru totdeauna — $0, fără card
OpenCode Zen DeepSeek V4, Nemotron 3 Fără limită de tokenuri
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 necesită cheie
Cloudflare AI Peste 50 de modele 10K neuroni/zi
NVIDIA NIM GLM, MiniMax ~40 RPM gratuit
Cerebras GLM 4.7, GPT-OSS Credit unic de $5; card necesar
OpenRouter Modele :free +$10 → RPM mai mare
📖 Catalog complet, lizibil de mașină → [`docs/reference/PROVIDER_REFERENCE.md`](docs/reference/PROVIDER_REFERENCE.md)
## 🖥️ Unde rulează OmniRoute — oriunde
> Aceeași aplicație, dispozitivul tău, regulile tale. De la o instalare globală npm până la **telefonul tău** prin Termux.
Platformă
Instalare
Avantaje
📦 npm (global)
npm install -g omniroute
O singură comandă, orice sistem de operare
🐳 Docker
docker run … diegosouzapw/omniroute
Multi-arhitectură AMD64 + ARM64
🖥️ Desktop (Electron)
npm run electron:build
Fereastră nativă + zonă de notificare — Windows / macOS / Linux
🎩 Bară de meniu (OmniRouteTray)
brew install --cask zoispag/tap/omniroute-tray
Monitorizează și actualizează automat serverul — macOS
💪 ARM
arm64 nativ
Raspberry Pi, servere ARM, Apple Silicon
📱 Android (Termux)
pkg install nodejs && npx -y omniroute
Rulează pe telefonul tău, 24/7, fără root
📲 PWA
„Adaugă pe ecranul principal”
Ecran complet, funcționare offline, instalabilă din browser
🧩 Plugin OpenCode
@omniroute/opencode-provider
Integrare nativă cu OpenCode
🤖 VS Code Copilot Chat
instalează extensia OmniCopilot
Fiecare model OmniRoute în selectorul nativ Copilot Chat — versiunile stabilă și Insiders
### 🧩 Nou: OmniRoute în Copilot Chat nativ din VS Code
> Nicio bară laterală nouă, nicio interfață nouă de chat — fiecare model furnizat de OmniRoute apare direct în
> **selectorul de modele Copilot Chat pe care îl folosești deja**. Începând cu VS Code 1.122, modelele furnizorilor funcționează
> fără autentificare GitHub sau abonament Copilot — mod agent, apelare de instrumente și capabilități vizuale,
> gratuit.
Instalează extensia **[OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)**, configureaz-o să utilizeze
serverul tău OmniRoute (implicit `localhost:20128`), apoi deschide Copilot Chat → selectorul de modele
→ **Gestionează modelele…** → **OmniRoute**.
Din editor: deschide vizualizarea **Extensii**, caută **„OmniRoute”**, apasă pe **Instalează**
— funcționează la fel în ambele magazine. Codul sursă, problemele și ghidul de publicare se află la
[diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot).
📖 [Ghid VS Code Copilot Chat](docs/guides/VSCODE-COPILOT.md) — configurare, ce afișează selectorul, panou de control într-o filă, depanare
### 🎩 Nou: OmniRouteTray — gateway-ul tău, direct în bara de meniu
> `omniroute serve` funcționează cel mai bine când este mereu pornit. **[OmniRouteTray](https://github.com/zoispag/omniroute-tray)**
> îl transformă într-o aplicație pentru bara de meniu din macOS, pe care o configurezi și apoi o poți uita: pornește serverul, îl menține activ
> după reporniri, îl actualizează fără reinstalare și îți pune bugetul de tokenuri în timp real la un clic distanță — **fără
> o fereastră de terminal lăsată deschisă, fără `npm install -g omniroute` care să necesite supraveghere.**
Construit cu [Tauri v2](https://v2.tauri.app/) (un nucleu Rust minuscul), include
propriul runtime Node 24 semnat și gestionează o instalare OmniRoute deținută de aplicație, astfel încât să nu intre niciodată în conflict cu
instalarea ta globală `node`/`bun`. **Partajează configurația și baza de date existente din `~/.omniroute/`** — așadar, este
același OmniRoute pe care îl rulezi deja, doar că poartă o pălărie. 🎩
Ce face
Cum
🟢 Monitorizează serverul
Pornește omniroute serve și preia o instanță deja pornită în loc să o dubleze
📊 Utilizare în timp real, dintr-o privire
Bare pentru cotele furnizorilor, limite Claude per sesiune/săptămânale cu numărătoare inversă până la resetare, defalcare a costurilor pe 30 de zile
🔄 Actualizări automate fără reinstalare
Instalare etapizată, înlocuire atomică, revenire în caz de eșec — mereu la cea mai nouă versiune
🚀 Pornire la autentificare
Pornire opțională la autentificare; doar în zona de notificare, fără pictogramă în dock
🩺 Diagnosticare și jurnale
Diagnosticare cu un singur clic și acces la jurnalele serverului
```sh
brew install --cask zoispag/tap/omniroute-tray
```
Preferați o descărcare? Luați cel mai recent fișier .dmg din
Versiuni. Codul sursă, problemele și documentația de compilare
se găsesc la zoispag/omniroute-tray.
💛 Un proiect al comunității realizat de @zoispag — nu este o versiune 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)
## 🗜️ Economisește 15–95% tokeni — automat
### 📖 Cum funcționează — pipeline, arhitectură și matematica economiilor
Combinația stivuită implicită rulează `RTK → Caveman`. Când ambele acționează asupra aceluiași payload de unealtă/context, economiile sunt:
```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 puțini tokeni fac treaba?** Fiecare cerere trece prin pipeline-ul de compresie OmniRoute **transparent** — fără modificări la client. Este acum un **stiv de 12 motoare combinabile** care rulează în ordine și se combină în funcție de combinația de rutare — construind pe idei din [RTK](https://github.com/rtk-ai/rtk), [Caveman](https://github.com/JuliusBrussee/caveman) (⭐ 90K+), [LLMLingua-2](https://github.com/microsoft/LLMLingua) și [Troglodita](https://github.com/leninejunior/troglodita) (PT-BR).
### 🧱 Stivul de 12 motoare
Motoarele rulează în ordinea pipeline-ului; fiecare poate fi activat/dezactivat independent și configurat pentru fiecare combinație:
#
Motor
Ce face
1
Session-Dedup
Elimină conținutul repetat între ture (adresat după conținut, între ture)
2
CCR
Arhivează blocurile mari în spatele unor markeri de recuperare, preluați la cerere
3
Lite
Trimmarea spațiilor albe + a URL-urilor de imagini (variantă de bază cu latență redusă)
4
RTK
Filtrare inteligentă a rezultatelor uneltelor, deduplicare și trunchiere (conștientă de comandă)
5
Responses Tool Output
JSON fără pierderi prioritar + compresie diagnostică mărginită pentru ieșirile shell/patch/search/build (Responses API)
6
Headroom
Compactare tabelară fără pierderi a array-urilor JSON (~30%) printr-un codec GCF vendorizat
7
Relevance
Punctare extractivă a propozițiilor față de ultima interogare a utilizatorului
8
Caveman
Compresie de proză bazată pe reguli (~65–75% la ieșire)
9
Aggressive
Rezumare + îmbătrânire progresivă a turelor vechi
10
LLMLingua-2
Eliminare semantică ML prin MobileBERT ONNX — sigur pentru cod, asincron
11
Ultra
Eliminare euristică de tokeni cu un nivel opțional de model mic (SLM)
12
OmniGlyph
Codare experimentală context-ca-imagine pentru Claude Fable 5 măsurat pe firul direct Anthropic; transformatoarele GPT 5.6 rămân fail-closed în așteptarea confirmărilor de la furnizor. Patru profiluri de compresie (aggressive implicit, balanced, coding-safe, passthrough) (cel mai agresiv; opt-in)
Blocurile de cod, URL-urile și datele structurate sunt **întotdeauna păstrate** perfect la nivel de byte. **Presetările cu un clic** combină motoarele:
Mod
Economii
Cel mai potrivit pentru
🪶 Lite
~15%
Implicit sigur, mereu activ
🪨 Standard (Caveman)
~30%
Cod zilnic
⚡ Aggressive
~50%
Sesiuni lungi, cu multe unelte
🔥 Ultra
~75%
Economii maxime
🧰 RTK
60–90%
Ieșiri shell/test/build/git
🔗 Stacked (RTK → Caveman)
78–95%
Prompturi mixte + loguri de unelte
**Exemplu real — modul Standard:**
> **Înainte (69 tokeni):** _"Motivul pentru care componenta ta React se re-randează este probabil că creezi o referință nouă de obiect la fiecare ciclu de randare. Când trimiți un obiect inline ca prop, comparația superficială a React îl vede ca pe un obiect diferit de fiecare dată, ceea ce declanșează o re-randare. Ți-aș recomanda să folosești useMemo pentru a memoiza obiectul."_
>
> **După (19 tokeni):** _"Referință nouă de obiect la fiecare randare. Prop de obiect inline = referință nouă = re-randare. Înfășoară în useMemo."_
>
> **Același răspuns. Cu 72% mai puțini tokeni. Zero pierdere de acuratețe.** ✅
**Exemplu PT-BR — modul [Troglodita](https://github.com/leninejunior/troglodita):**
> **Înainte (42 de tokenuri):** _"Problema este că componenta se re-randează pentru că o nouă referință de obiect este creată în fiecare ciclu de randare. Aș recomanda să folosești useMemo."_
>
> **După (12 tokenuri):** _"Re-render: ref nouă la fiecare ciclu (obiect inline recreat). Folosește `useMemo`."_
>
> **Același răspuns. ~70% mai puține tokenuri. Precizie tehnică intactă.** ✅
### 🎚️ Dincolo de motoare — stiluri de output, butonul adaptiv & control per-cerere
Cele 12 motoare de mai sus reduc ceea ce **intră**. Încă trei straturi modelează **cum**, **când** și ce **iese**:
- **🪄 Stiluri de output** _(direcționare pe axa output-ului)_ — injectează instrucțiuni deterministe, sigure pentru cache, de modelare a răspunsului; combinabile, fiecare la intensitatea `lite` / `full` / `ultra`. Adăugarea unui stil este o intrare de o singură linie în registru:
- **Proză concisă** — elimină umplutura / articolele / formulările ezitante; păstrează substanța tehnică exactă.
- **Mai puțin cod** — YAGNI „senior dev leneș”: cea mai mică modificare funcțională, fără schelet de cod nesolicitat.
- **Ponytail (senior dev leneș)** — urcă pe scara YAGNI, remediază cauza rădăcină, cel mai mic diff funcțional.
- **Am ADHD (acțiune întâi)** — următoarea acțiune conduce, pașii numerotați, un singur pas concret următor, fără preambul.
- **CJK concis (文言)** — stil ultra-concis în chineză clasică (condiționat de localizare la `zh`).
- **🎯 Buget de context adaptiv** _(butonul)_ — în loc de un singur prag on/off de tokenuri, escaladează cele mai ieftine și mai puțin pierdute motoare doar cât este necesar pentru a **încăpea în fereastra de context a modelului**. Politică: `reserve-output` (implicit, conștientă de model) · `percentage` · `absolute`. Mod: `floor` (garantează încadrarea) · `replace-autotrigger` (alegerea ta explicită câștigă) · `off` (prag legacy).
- **🎛️ Unde se decide compresia** _(precedență, de la mare la mică)_ — header per-cerere `x-omniroute-compression` › suprascriere routing-combo › profil numit activ › adaptiv / auto-trigger › implicit panel › oprit. Planul aplicat este reflectat în header-ul de răspuns `X-OmniRoute-Compression: ; source=`.
Auto-trigger după prag de tokenuri, activează butonul adaptiv, fixează un profil numit, setează o valoare unică per cerere sau atribuie un pipeline per routing combo — oricare se potrivește sarcinii. Un **eval harness** offline opt-in (`npm run eval:compression`) evaluează fidelitatea vs. economiile pe un corpus fixat înainte de a promova 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ă & rulează**
```bash
npm install -g omniroute
omniroute
```
> 💡 Vezi `npm warn ERESOLVE` sau avertismente peer-dep? [Sunt inofensive](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated).
> **Folosești npm 11 sau mai nou?** npm poate bloca scripturile de ciclu de viață ale pachetelor dacă nu sunt permise. `postinstall`-ul OmniRoute (`node scripts/build/postinstall.mjs`) este necesar pentru pregătirea fișierelor native de runtime. Permite pachetele menționate în avertismentul npm la instalarea globală. Pentru setul de pachete raportat de OmniRoute 3.8.53:
>
> ```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 dată, apoi instalează normal:
>
> ```bash
> npm config set allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild --location=user
> npm install -g omniroute
> ```
>
> Lista de dependențe se poate schimba între versiuni; dacă npm raportează o listă diferită, folosește numele de pachete din acel avertisment. Permiterea unui pachet permite rularea scripturilor sale de instalare.
> **Folosești Gemini Web sau alt furnizor cu cookie web?** Pachetul npm include
> Playwright, dar nu și binarul său Chromium. Vezi nota
> [Configurare Playwright Chromium](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium)
> înainte de a face prima cerere către un furnizor web.
Dashboard la `http://localhost:20128` · API la `http://localhost:20128/v1`.
**2) Conectează un furnizor eligibil folosind propriul cont**
Dashboard → **Providers** → alege un furnizor ale cărui termeni și cotă curente se potrivesc cazului tău de utilizare → adaugă cheia sa 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) Îndreaptă-ți 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. 🎉 Gata — începe să programezi, iar OmniRoute rutează automat & face fallback pentru tine.
Dacă clientul tău nu poate trimite header-e personalizate, OmniRoute expune și aliasuri de compatibilitate cu token:
```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 doar pentru clienții care nu pot atașa `Authorization: Bearer ...`. Autentificarea prin header 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) |
pino — jurnale JSON structurate cu contextul cererii
Testare
Node.js test runner + Vitest — peste 56.000 de declarații de test statice în peste 7.800 de fișiere de test urmărite (unitare, de integrare, E2E, de securitate, de ecosistem)
Strategia de acoperire a testelor pentru peste 56,000+ declarații statice de test în peste 7,800+ fișiere de test urmărite
# ⭐ Contribuitori de top
> OmniRoute este modelat de o comunitate open-source pasionată. Aceste persoane au adus contribuții excepționale care afectează direct calitatea, stabilitatea și amploarea proiectului. **Mulțumim.**
### Contribuitori externi după pull request-uri fuzionate
Recensământ efectuat la 2026-10-18 15:09:09 UTC cu vârful live al release/v3.8.52, 656f01cb43. Recensământul paginat GitHub GraphQL conține 9,191 PR-uri fuzionate: 3,834 ale proprietarului depozitului, 229 ale Dependabot, 6 ale altor boți/aplicații și 5,122 PR-uri externe de la 835 de contribuitori distincți. „Linii modificate” reprezintă adunările + ștergerile GitHub și include fișiere generate, lockfile-uri, cataloage, traduceri și documentație; este churn, nu LOC scris de autori. 49 de PR-uri raportează diferențe GitHub de peste 500,000 de linii (de exemplu #13399, o singură adăugare de furnizor, listează 2,347 fișiere modificate), ceea ce umflă mai multe totaluri de mai sus. Egalurile sunt clasate împreună.
### Commit-uri atribuite GitHub
Reverificat la 2026-10-18 14:44:45 UTC: commit-uri atribuite pe GitHub raportate de API-ul Contributors al depozitului pentru ramura implicită release/v3.8.52. API-ul a returnat 849 de identități (429 de utilizatori, 2 boți, 418 anonime); acest tabel exclude maintainerul, boții și identitățile anonime și păstrează egalitățile în clasament. Este distinct atât de clasamentul PR-urilor fuzionate de mai sus, cât și de recensământul metadatelor Git de mai jos.
> 🙏 Funcționalitățile, corecturile de erori și îmbunătățirile de infrastructură ale acestor contribuitori sunt o **parte esențială** din ceea ce face OmniRoute fiabil și bogat în funcționalități. Fiecare pull request, fiecare caz de test și fiecare fișier de traducere i18n contează. Open source 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 900 de contributori
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
Auditat la 2026-10-18, la cel mai recent commit ad160ab2d1 al ramurii release/v3.8.52 (6.826 de commituri): 993 de identități Git umane normalizate — 707 apar ca autori ai commiturilor (inclusiv responsabilul de întreținere), iar 286 apar doar în liniile explicite Co-authored-by. Recensământul aplică .mailmap, compară adresele de e-mail fără a ține cont de litere mari și mici, asociază adresele GitHub noreply numerice cu cele simple doar atunci când codifică același identificator, exclude 26 de identități de boți/agenți/servicii/substituenți și nu combină adresele de e-mail obișnuite doar pentru că numele lor afișate coincid. Auditul din 2026-08-24 a raportat 639; reaplicarea acestei metode pe baza auditului respectiv, ac02c5b42f, produce 619, astfel încât creșterea provine de la contributori noi, nu de la o metodă mai permisivă.
### Cum să contribuiți
1. Creați un fork al depozitului
2. Creați o ramură pornind de la cel mai recent commit al ramurii **active** `release/vX.Y.Z` (nu de la `main`) — consultați [Modelul de ramificare și lansare](docs/ops/BRANCHING_MODEL.md)
3. Creați ramura pentru funcționalitatea dvs. (`git checkout -b feat/amazing-feature`)
4. Salvați modificările într-un commit (`git commit -m 'feat: add amazing feature'`)
5. Trimiteți modificările în ramură (`git push origin feat/amazing-feature`)
6. Deschideți un Pull Request cu **baza = ramura `release/vX.Y.Z` respectivă**
Consultați [CONTRIBUTING.md](CONTRIBUTING.md) pentru instrucțiuni detaliate.
### Lansarea unei versiuni noi
```bash
# Creați o versiune — publicarea npm are loc 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 proiectului **[9router](https://github.com/decolua/9router)** și ca un port TypeScript al proiectului Go **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — iar de atunci, fiecare subsistem de mai jos a fost inspirat de un proiect open-source care a deschis drumul. Fiecare dintre ele a contribuit la conturarea unei componente concrete din OmniRoute. Acesta este modul nostru de a le mulțumi tuturor. 🙏
> ⭐ numărul de stele a fost verificat prin API-ul REST GitHub la 18 octombrie 2026 — acordați-le o stea acestor proiecte. Valorile reprezintă un instantaneu exact, datat, și se vor modifica în mod firesc.
### 🧬 Filiație și gateway
Gateway-ul AI al cărui set public de date privind prețurile alimentează sincronizarea noastră pentru urmărirea costurilor și al cărui model de normalizare a furnizorilor ne-a influențat rutarea.
Sursă MIT adaptată în puntea inclusă ChatGPT Web → Codex Responses, inclusiv adaptoare pentru sesiunea browserului, încadrarea răspunsurilor, utilizare și căutare web.
Modele portate pentru recuperarea fluxurilor, aliasuri fără raționament, căutare web de rezervă, limite cu fereastră glisantă, mascarea datelor din jurnale și fluxuri de lansare securizate.
Valorile implicite de transformare compatibile cu Claude Code și comportamentul antetelor de facturare, generalizate în puntea OmniRoute controlată prin configurație.
Mapările sale pentru modelele Grok, generatorul Statsig cu TypeError simulat, valorile implicite pentru cereri și dispozitive, precum și procesorul de răspunsuri NDJSON au fost adaptate în mod substanțial în executorul Grok Web al OmniRoute.
Principala sursă tranzitivă de cod din spatele grok2api-merged; implementările sale pentru modele, antete, sarcini utile, Statsig și procesoare sunt păstrate în filiația Grok Web.
Sursa MIT subiacentă pentru sarcinile utile Grok și valorile implicite ale dispozitivelor, generatorul Statsig și procesorul result.response, preluate prin TQZHR și grok2api-merged.
O sursă tranzitivă menționată de grok2api-merged pentru stratul său de pool-uri proxy; OmniRoute păstrează mențiunea acestei filiații, dar nu pretinde că a portat un pool de proxy-uri în executorul său Grok Web cu domeniu limitat.
Implementarea originală Grok Web a consultat arhitectura sa upstream HTTP/browser; calea sa HTTP directă derivă din GrokProxy, astfel că nu se revendică niciun port independent de cod.
### 🗜️ Comprimarea contextului și a tokenurilor — motoare
Proiectul viral „de ce folosi multe cuvinte când puține cuvinte rezolvă” — filosofia sa de vorbire rudimentară stă la baza modului nostru standard de compresie și a peste 30 de reguli de eliminare a umpluturilor și condensare.
Cercetare privind compresia prompturilor (LLMLingua / LLMLingua-2) — a inspirat motorul nostru asincron llmlingua, sigur pentru cod și cu funcționare neîntreruptă în caz de eroare.
Compresie de tokenuri pentru portugheza braziliană — stă la baza pachetului nostru lingvistic pt-BR: reducerea pleonasmelor și eliminarea umpluturilor, ajustate pentru gramatica portughezei braziliene.
Competența virală de programare YAGNI a „dezvoltatorului senior leneș” — a inspirat stilul nostru de ieșire less-code: orientarea către cea mai mică modificare funcțională, care reduce codul _generat_ (echivalentul pentru axa ieșirii al prozei concise din Caveman).
Stilul său de răspuns orientat mai întâi spre acțiune și adaptat persoanelor cu ADHD a fost transpus în stilul de ieșire concis al OmniRoute, disponibil în cinci limbi.
### 🧩 Formate compacte, cercetarea tokenurilor și instrumente care țin cont de cod
Formatul său compact pentru grafuri și concepția bazată pe profil generic au influențat compactarea tabelară din OmniRoute și formatul codecului Headroom.
Compresie a ieșirii în funcție de conținut și de tipul fișierului, cu renunțare în caz de eșec — a validat distribuirea noastră în funcție de tip și omiterea compresiei când câștigul este sub pragul minim.
JSON columnar în Rust + recuperare adresată după conținut + deduplicare între mesaje — a validat proiectarea 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 bazată pe parser, care păstrează literalii de tip șir, șablon și expresie regulată.
Interceptarea/analiza MITM a traficului dintre asistentul de programare ↔ LLM a stat la baza cerințelor inițiale pentru Inspectorul de trafic. Patru module derivate anterior — îmbinarea SSE, normalizarea conversațiilor, mascarea secretelor și igienizarea anteturilor — au fost înlocuite cu implementări independente de tip clean-room, bazate pe standarde publice de protocol. Cele două suprafețe de trecere directă către gazdă (passthrough.ts și _internal/bypass.cjs) rămân implementări interne OmniRoute, clasificate independent; acestea nu au fost rescrise ca parte a înlocuirii respective.
Rutarea transparentă prin proxy pentru fiecare proces — a inspirat oprirea noastră MITM sigură în caz de blocare, expirările de inactivitate pentru socketuri, atribuirea proceselor prin /proc și capturarea TPROXY.
### 📚 Date despre modele, observabilitate și interfață
Observabilitate pentru rețeaua de servicii Istio — a inspirat indicatoarele noastre pentru disjunctoare și reprezentările vizuale ale muchiilor cu erori din Routing/Combo Studio.
O listă atent selecționată de biblioteci securizate în mod implicit, care ne ghidează alegerile de securitate (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink).
A inspirat deduplicarea cererilor, soluția de rezervă de urgență fără costuri, strategiile Auto-Combo extensibile și clasificarea multilingvă a intențiilor.
Remaparea modelelor în funcție de cont, validarea căii executabilului și comportamentul etichetelor de plan au stat la baza mediului de execuție Antigravity din OmniRoute.