> 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ă **489 de intrări de nivel gratuit în 35 de chei de pool recurente** și calculează totalul de jetoane pe baza celor **17 pool-uri cu un buget lunar pozitiv publicat, plus cinci limite Groq per model**, eliminând duplicatele asociate pool-urilor comune. Cotele care devin disponibile numai după o verificare regională a identității (în prezent: ModelScope) sunt afișate separat, +~6M după verificarea regională a identității, și nu sunt incluse niciodată în totalul principal. Rezultatul rămâne vizibil în panoul de control (`/dashboard/free-tiers`).
> Rezumat animat al paginii live `/dashboard/free-tiers`. Metodologia completă (eliminarea duplicatelor per pool, nivelurile de credit, termenii furnizorilor): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**.
>
> Aceste cifre sunt rea auditate la fiecare două săptămâni pe baza catalogului live și **se modifică în ambele direcții** — dacă un furnizor încheie un nivel gratuit, cifra scade; dacă apare unul nou, aceasta 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 ușurezi munca.
[](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 administratorul proiectului — află 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, recomandări despre furnizori, foaie de parcurs ș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) / [🇧🇷 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ă
| | v3.8.49 | **v3.8.50** | `v3.8.51+` |
| --------------------------------- | :-----: | :------------------------: | :----------------: |
| 🌐 Furnizori | 290 | **357** | mai mulți în coadă |
| 🧠 ID-uri unice de modele de chat | 1185 | **1312** | — |
| 🖼️ Punte de modalități | — | 🆕 viziune + audio + video | — |
| 📡 Catalog Radar gratuit | — | 🆕 participare opțională | — |
| ⚖️ Planificare în funcție de cotă | — | 🆕 Quota-Share | — |
| 📊 Telemetria cotelor | — | 🆕 live | — |
**→ [Foaia de parcurs](ROADMAP.md) — pe drumul către `v3.9.0 LTS`**
## 🆓 Funcționează imediat după instalare — fără chei, fără configurare
```bash
# Instalare proaspătă, zero credențiale — `auto` funcționează deja:
curl http://localhost:20128/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'
```
Preferi un backend gratuit specific? Apeleză `oc/…` (OpenCode Free) direct. Apoi treci la `auto` și lasă OmniRoute să aleagă.📦 Scripturi de pornire rapidă copy-paste 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.
## 🎯 Combinații — Funcționalitatea emblematică
> O **combinație** este un lanț de modele între care OmniRoute rutează **automat**. Dacă se epuizează cota, un furnizor eșuează sau costurile cresc brusc, combinația poate trece la următorul model eligibil și funcțional. 🛡️
### ⚡ Configurare zero — folosiți pur și simplu `auto`
Nu trebuie creată nicio combinație. Setați modelul la `auto` (sau la o variantă), iar OmniRoute construiește o combinație virtuală din furnizorii conectați, evaluată în timp real:
ID model
Pentru ce optimizează
auto
🎯 Opțiune implicită echilibrată (LKGP — rămâne la ultimul furnizor care a funcționat)
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/offline
🔋 Cea mai mare marjă de cotă / limită de rată mai întâi
auto/smart
🔭 Calitatea mai întâi + explorare de 10% pentru a descoperi modele mai bune
auto/lkgp
📌 Persistență explicită la ultimul furnizor cunoscut ca funcțional
auto/chaos
🧪 Ponderi de injectare a defecțiunilor pentru testarea rezilienței (ingineria haosului)
##
### 🔀 Sau creați-vă propria combinație — 19 strategii de rutare
Toate cele **19** strategii — combinați-le după preferință pentru fiecare pas al combinației:
#
Strategie
Ce face
1
priority
Listă ordonată începând cu prima țintă — epuizează fiecare țintă înainte de a trece la următoarea 🥇
2
fill-first
Utilizează complet cota fiecărei ținte înainte de a continua
3
weighted
Selectare aleatorie ponderată după ponderea fiecărei ținte
4
round-robin
Parcurge ciclic țintele în ordine
5
p2c
Echilibrare aleatorie a sarcinii prin alegerea dintre două opțiuni
6
least-used
Alege ținta cu cea mai mică sarcină curentă
7
random
Selectare aleatorie uniformă (cu eliminarea duplicatelor)
8
strict-random
Selectare 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
reset-window
Preferă ținta a cărei fereastră de cotă se resetează cel mai curând
12
reset-aware
Clasifică după momentul resetării cotei — ferestrele scurte mai întâi 📊
13
context-relay
Transferă contextul între ținte pentru conversații lungi 🧠
14
context-optimized
Alege cea mai potrivită țintă pentru dimensiunea actuală a contextului
15
cache-optimized
Fixează fiecare prefix reutilizabil al promptului la același cont — maximizează reutilizarea cache-ului pentru prompturi 🎯
16
lkgp
Ultima cale cunoscută ca funcțională — fixează ultimul furnizor utilizat cu succes, apoi recurge la reguli
17
auto
Evaluare în timp real pe baza a 16 factori pentru fiecare conexiune 🤖
18
fusion
Trimite solicitarea către un grup de modele + un arbitru sintetizează un singur răspuns 🧬
19
pipeline
Înlănțuiește pașii — rezultatul fiecărei ținte este transmis celei următoare 🔗
Motorul Auto-Combo evaluează fiecare candidat pe baza a **16 factori** (stare de funcționare, cotă, cost, latență, potrivire pentru sarcină, calitate, disponibilitatea sesiunii…) — consultați [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md).
##
### 🧱 Reziliența este încorporată (3 straturi independente)
📖 [Motorul de combinații automate](docs/routing/AUTO-COMBO.md) · [Ghid de reziliență](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 Ce diferențiază OmniRoute
📊 Metodologie completă & detalii per-caracteristică vs 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
> Cele mai recente îmbunătățiri din **v3.8.20 → v3.8.50**. Istoricul complet este disponibil în [`CHANGELOG.md`](CHANGELOG.md).
- **🎛️ OmniConductor** — delegare A2A de intrare către flota dvs. de agenți, abilități Conductor pe Agent Card și un panou de control cu chat vocal Faro de tip push-to-talk. → [Server A2A](docs/frameworks/A2A-SERVER.md)
- **🛂 Admitere adaptivă și protecție la supraîncărcare** — solicitările complexe de chat sunt puse în coadă în loc să returneze 503, cu lease-uri RPM glisante și atomice pentru fiecare conexiune. → [Ghid de reziliență](docs/architecture/RESILIENCE_GUIDE.md)
- **🗂️ Ordonare canonică pentru `/v1/models`** — câte un bloc contiguu, grupat după furnizor, pentru fiecare furnizor (combinațiile sunt fixate primele), stabil în toate sursele catalogului. → [Referință API](docs/reference/API_REFERENCE.md)
- **🗜️ Consolidarea compresiei** — protecție activată implicit împotriva inflației, pachete Caveman pentru DE / FR / JA + chineză (wényán), filtre RTK pentru Gradle și .NET. → [Compresie](docs/compression/COMPRESSION_ENGINES.md)
- **💸 Cost fix afișat corect** — furnizorii pe bază de abonament / plan de programare afișează **$0** în analiza costurilor; estimările pentru buget, cotă și rutare sunt păstrate. → [Referință API](docs/reference/API_REFERENCE.md)
- **⚖️ Rutare Quota-Share** — distribuie echitabil cota unui cont partajat între cheile grupate, păstrând utilizarea eficientă prin împrumutarea segmentelor inactive. → [Ghid de reziliență](docs/architecture/RESILIENCE_GUIDE.md)
- **🤖 Configurare CLI/agent printr-o singură comandă** — 13 comenzi `setup-*` înregistrate; `omniroute run` lansează 7 instrumente CLI (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` acceptă 10 destinații, cu un selector interactiv pentru furnizor și model și favorite pentru fiecare context. → [Integrări CLI](docs/guides/CLI-INTEGRATIONS.md)
- **🛰️ Mod la distanță** — controlați o instanță OmniRoute la distanță folosind tokenuri cu domeniu limitat (`connect` / `contexts` / `tokens`) și un instrument OAuth auxiliar `antigravity` pentru instalările pe VPS. → [Mod la distanță](docs/guides/REMOTE-MODE.md)
- **🧭 Rutare automată mai inteligentă** — combinații `auto/:`, **Fusion** (panou de modele + evaluator), rutare adaptată sarcinii, înlocuiri per solicitare pentru model / mod / buget în USD. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🗜️ Compresie extensibilă** — 12 motoare componibile + Compression Studios: LLMLingua-2, Ultra pe două niveluri, omniglyph, filtru de fidelitate pentru fiecare etapă, GCF v3.2, editor cu reordonare prin glisare. → [Compresie](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ Decriptare MITM transparentă (TPROXY)** — interceptează instrumentele CLI care ignoră variabilele de mediu pentru proxy, folosind o CA per SNI și un program de instalare în depozitul de încredere. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md)
- **💸 Telemetrie a costurilor pretutindeni** — anteturi `X-OmniRoute-*` pentru cost/utilizare la fiecare endpoint, antet pentru economiile obținute la cache-HIT, cote de cheltuieli în USD pentru fiecare 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` pentru fiecare solicitare. → [Memorie](docs/frameworks/MEMORY.md)
- **🛡️ Securitate** — protecție împotriva injectării de prompturi pe fiecare rută LLM (suită red-team), mecanism opțional de protecție pentru mascarea acreditărilor (elimină cheile API/secretele divulgate în ambele direcții), căutare web gratuită DuckDuckGo ca ultimă soluție și un filtru opțional de autentificare OIDC pentru panoul de control (autentificarea cu parolă rămâne întotdeauna disponibilă). → [Mecanisme de protecție](docs/security/GUARDRAILS.md)
- **🖼️ Endpointuri noi** — `/v1/ocr` (Mistral OCR) și `/v1/audio/translations` (în stil Whisper) completează suprafața media. → [Referință API](docs/reference/API_REFERENCE.md)
- **🎨 Generare de imagini / videoclipuri / conținut audio** — un singur API pentru conținut media: xAI Grok Imagine și videoclipuri Novita AI, ComfyUI, Magnific, Adobe Firefly, Segmind și furnizori de voce 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 pentru fiecare 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 browser + autentificare OAuth, card dedicat pentru Ollama, Claude Opus 5 și Sonnet 5, parteneriat oficial Kimi (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… și un **catalog actualizat cu 352 de furnizori**. → [Furnizori](docs/reference/PROVIDER_REFERENCE.md)
- **📡 Transparența rutării** — fiecare răspuns include un antet `X-OmniRoute-Decision` care indică strategia/furnizorul/latenta ce l-au deservit, o nouă strategie de combinație `cache-optimized` + factorul Auto-Combo `cacheAffinity` redirecționează solicitările repetate către conexiunea care deține prefixul memorat în cache, iar un endpoint doar în citire `/v1/auto-combo/{channel}/candidates` expune grupul actual de candidați al unui canal `auto/*`. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **⚡ Performanță și infrastructură locală** — Redis local cu un singur clic, instrumente de implementare pentru relee Cloudflare Workers / Deno Deploy, Bifrost și Mux ca servicii încorporate și supravegheate. → [Servicii încorporate](docs/frameworks/EMBEDDED-SERVICES.md)
- **🧩 Incluse, de asemenea** — cadru pentru pluginuri + marketplace, cadre pentru abilități Omni/Agent/GitHub, integrare cu seifurile Obsidian (22 de instrumente MCP), API-uri Batch și Files compatibile cu OpenAI, cache semantic pentru răspunsuri, gamificare cu clasamente, descoperire de agenți ACP (15 agenți integrați), export programat al jurnalelor în BigQuery, injectare de erori `auto/chaos`, o punte pentru boți Telegram, un manager de versiuni în aplicație și clasamente LMArena-ELO pentru furnizorii gratuiți. → [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 36 de instrumente (26 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,
cu credențialele injectate pentru fiecare proces și cu un director principal izolat, temporar, pentru Qwen/Gemini:
```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 # de asemenea: claude opencode qwen aider goose gemini cline continue kilo
```
Fiecare comandă respectă contextul remote activ (`omniroute connect `), `--dry-run`
previzualizează variabilele de mediu/argumentele exacte fără a le executa, iar `--api-key-env NAME` păstrează secretele în afara
istoricului shell-ului. → [Integrări CLI](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 357 de furnizori AI — 152 marcați în catalog ca fiind gratuiți
> **357 de furnizori înregistrați** în colecțiile canonice de chat, media, căutare, locale, de agenți cloud și de sistem, inclusiv **152 care conțin metadatele de descoperire `hasFree: true`**. Registrul modelelor de chat acoperă **229 de furnizori / 2.554 de perechi distincte furnizor-model / 1.283 de ID-uri brute de modele**; catalogul separat cu bugete gratuite are **491 de rânduri per model**, **35 de fonduri recurente** și **54 de furnizori cu acces gratuit permanent, recurent/fără cheie**. Acești numitori sunt diferiți în mod intenționat; definițiile și calculele cu fondurile deduplicate se găsesc în [Referința furnizorilor](docs/reference/PROVIDER_REFERENCE.md) și [Nivelurile gratuite](docs/reference/FREE_TIERS.md).
### 🏢 Fiecare laborator important — 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 330 — fiecare pictogramă este preluată î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 tokenuri
Kilo Code Rutare 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
### 🧩 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 de comandă complet î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 și tabloul de bord (portul 20128)
omniroute chat # client TUI interactiv pentru chat (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ă va viza instanța la distanță.
```bash
omniroute connect 192.168.0.15 # parolă → token cu domeniu limitat, salvat drept context
omniroute models list # ← rulează pe serverul LA DISTANȚĂ
omniroute configure codex # ← selectează un model la distanță și scrie un profil Codex local
omniroute tokens create --name ci --scope read # generează tokenuri cu permisiuni mai restrânse pentru alte dispozitive
omniroute contexts use default # ← comută înapoi la serverul local
```
Tokenurile au domeniile `read` / `write` / `admin`; rutele care lansează 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 dvs. cod) primește acces la întregul 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
Conectați-l la Claude Desktop, Cursor sau orice client MCP
🌊 MCP (HTTP)
/api/mcp/stream
MCP la distanță — 110 instrumente, 33 de domenii (aplicare opțională), jurnal 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, încorporări, 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
Controlați o instanță la distanță cu tokenuri de acces cu domeniu limitat
```bash
# Oferiți 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 automat 15–95% din tokenuri
### 📖 Cum funcționează — flux, arhitectură și calculul economiilor
Combinația suprapusă implicită rulează `RTK → Caveman`. Când ambele acționează asupra aceleiași încărcături 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 conservare.
> **De ce să folosiți multe tokenuri când câteva sunt suficiente?** Fiecare solicitare trece prin fluxul de compresie OmniRoute în mod **transparent** — fără modificări ale clientului. Acum este o **stivă de 12 motoare componabile**, care rulează în ordine și pot fi combinate în funcție de configurația de rutare — bazându-se 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).
### 🧱 Stiva cu 12 motoare
Motoarele rulează în ordinea fluxului; fiecare poate fi activat sau dezactivat și configurat independent pentru fiecare combinație:
#
Motor
Ce face
1
Session-Dedup
Elimină conținutul repetat între schimburile conversației (adresat după conținut, între schimburi)
2
CCR
Arhivează blocurile mari în spatele unor marcaje de recuperare, preluate la cerere
3
Lite
Eliminarea spațiilor albe + scurtarea URL-urilor imaginilor (nivel de bază cu latență redusă)
4
RTK
Filtrare inteligentă, deduplicare și trunchiere a rezultatelor instrumentelor (în funcție de comandă)
5
Responses Tool Output
JSON fără pierderi în mod prioritar + compresie limitată a diagnosticelor pentru ieșirile shell/patch/search/build (Responses API)
6
Headroom
Compactare tabelară fără pierderi a matricelor JSON (~30%) prin intermediul unui 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 ieșire)
9
Aggressive
Rezumare + învechire progresivă a schimburilor vechi
10
LLMLingua-2
Eliminare semantică prin ML folosind MobileBERT ONNX — sigură pentru cod, asincronă
11
Ultra
Eliminare euristică a tokenurilor, cu un nivel opțional bazat pe un model mic (SLM)
12
OmniGlyph
Codificare experimentală a contextului ca imagine pentru Claude Fable 5 evaluat pe conexiunea directă Anthropic; transformatoarele GPT 5.6 rămân închise în siguranță în așteptarea confirmărilor furnizorului. Patru profiluri de compresie (agresiv implicit, echilibrat, sigur pentru programare, transmitere nemodificată) (cel mai agresiv; necesită activare explicită)
Blocurile de cod, URL-urile și datele structurate sunt **întotdeauna păstrate** identic la nivel de octet. **Presetările cu un singur clic** combină motoarele:
Mod
Economii
Potrivit pentru
🪶 Lite
~15%
Opțiune implicită sigură, activă permanent
🪨 Standard (Caveman)
~30%
Programare zilnică
⚡ Aggressive
~50%
Sesiuni lungi care utilizează intensiv instrumente
🔥 Ultra
~75%
Economii maxime
🧰 RTK
60–90%
Ieșiri shell/test/build/git
🔗 Suprapus (RTK → Caveman)
78–95%
Prompturi mixte + jurnale ale instrumentelor
**Exemplu real — modul Standard:**
> **Înainte (69 de tokenuri):** _„Motivul pentru care componenta React este randată din nou este probabil faptul că creați o nouă referință de obiect la fiecare ciclu de randare. Când transmiteți un obiect inline ca prop, comparația superficială efectuată de React îl consideră de fiecare dată un obiect diferit, ceea ce declanșează o nouă randare. V-aș recomanda să folosiți useMemo pentru memorarea obiectului.”_
>
> **După (19 tokenuri):** _„Referință nouă la fiecare randare. Obiect inline ca prop = referință nouă = rerandare. Încapsulați în useMemo.”_
>
> **Același răspuns. Cu 72% mai puține tokenuri. Nicio pierdere de acuratețe.** ✅
**Exemplu PT-BR — modul [Troglodita](https://github.com/leninejunior/troglodita):**
> **Înainte (42 de tokenuri):** _„Problema este că această componentă se randează din nou deoarece la fiecare ciclu de randare este creată o nouă referință de obiect. Aș recomanda utilizarea useMemo.”_
>
> **După (12 tokenuri):** _„Re-randare: referință nouă la fiecare ciclu (obiect inline recreat). Folosește `useMemo`.”_
>
> **Același răspuns. Cu ~70% mai puține tokenuri. Precizie tehnică intactă.** ✅
### 🎚️ Dincolo de motoare — stiluri de ieșire, reglajul adaptiv și controlul per solicitare
Cele 12 motoare de mai sus reduc ceea ce **intră**. Alte trei niveluri modelează **cum**, **când** și ce **iese**:
- **🪄 Stiluri de ieșire** _(direcționare pe axa ieșirii)_ — injectează instrucțiuni deterministe și compatibile cu memorarea în cache pentru modelarea răspunsului; pot fi combinate, fiecare cu intensitate `lite` / `full` / `ultra`. Adăugarea unui stil necesită o singură linie în registru:
- **Proză concisă** — elimină umplutura / articolele / ezitările; păstrează exactă substanța tehnică.
- **Mai puțin cod** — YAGNI de „dezvoltator senior comod”: cea mai mică modificare funcțională, fără structură nesolicitată.
- **Coadă de cal (dezvoltator senior comod)** — urcă pe scara YAGNI, remediază cauza principală, cu cel mai mic diff funcțional.
- **Am ADHD (acțiunea prima)** — începe cu următoarea acțiune, numerotează pașii, oferă un singur pas următor concret, fără introducere.
- **CJK concis (文言)** — stil ultra-concis în chineză clasică (limitat la localizarea `zh`).
- **🎯 Buget de context adaptiv** _(reglajul)_ — în locul unui singur prag de tokenuri activat/dezactivat, escaladează cele mai ieftine motoare cu cele mai mici pierderi 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ă prevalează) · `off` (prag tradițional).
- **🎛️ Unde se decide compresia** _(precedență, de la mare la mică)_ — antetul per solicitare `x-omniroute-compression` › suprascrierea combinației de rutare › profilul denumit activ › adaptiv / declanșare automată › valoarea implicită din panou › dezactivat. Planul aplicat este reflectat în antetul de răspuns `X-OmniRoute-Compression: ; source=`.
Folosește declanșarea automată după pragul de tokenuri, activează reglajul adaptiv, fixează un profil denumit, setează o valoare unică per solicitare sau atribuie un pipeline fiecărei combinații de rutare — în funcție de volumul de lucru. Un **instrument de evaluare** offline opțional (`npm run eval:compression`) evaluează fidelitatea în raport cu economiile pe un corpus fixat înainte de promovarea unei modificări.
📖 [`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 privind dependențele peer? [Sunt inofensive](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated).
Panoul de control este la `http://localhost:20128` · API-ul este la `http://localhost:20128/v1`.
**2) Conectează un furnizor GRATUIT (fără înregistrare)**
Panou de control → **Furnizori** → conectează **Kiro AI** (Claude gratuit, ~50 de credite/lună per cont) sau **OpenCode Free** (fără autentificare) → gata.
**3) Configurează instrumentul de programare**
```txt
URL de bază: http://localhost:20128/v1
Cheie API: [copiază din Panou de control → Puncte finale]
Model: auto (rutare inteligentă fără configurare — sau orice furnizor/model)
```
**4) Verifică dacă funcționează**
```bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
```
Ar trebui să vezi listate modelele conectate. 🎉 Asta este tot — începe să programezi, iar OmniRoute va efectua automat rutarea și va folosi opțiuni de rezervă pentru tine.
Dacă aplicația client nu poate trimite antete personalizate, OmniRoute oferă și aliasuri de compatibilitate cu tokenuri:
```txt
Catalog OpenAI: http://localhost:20128/vscode/YOUR_KEY/
Modele OpenAI: http://localhost:20128/vscode/YOUR_KEY/models
Chat OpenAI: http://localhost:20128/vscode/YOUR_KEY/chat/completions
Răspunsuri OpenAI: http://localhost:20128/vscode/YOUR_KEY/responses
Chat Ollama: http://localhost:20128/vscode/YOUR_KEY/api/chat
Etichete Ollama: http://localhost:20128/vscode/YOUR_KEY/api/tags
```
Folosește-le numai pentru aplicațiile client 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.
Întrerupător de circuit, backoff exponențial, anti-thundering-herd, auto-combo auto-reparare
Jurnalizare
pino — Jurnale JSON structurate cu context de cerere
Testare
Node.js test runner + Vitest — Peste 39.000 de declarații de test statice în peste 5.100 de fișiere de test urmărite (unitare, de integrare, E2E, de securitate, de ecosistem)
Strategia de acoperire cu teste pentru peste 39.000 de declarații statice de teste din peste 5.100 de fișiere de testare urmărite
# ⭐ Contribuitori principali
> OmniRoute este modelat de o comunitate open-source pasionată. Aceste persoane au avut contribuții excepționale care influențează direct calitatea, stabilitatea și amploarea proiectului. **Vă mulțumim.**
### Contribuitori externi după numărul de pull request-uri fuzionate
Date fixate la cel mai recent commit activ din release/v3.8.50, dafb4ae808, incluzând fuziunile până la 2026-08-24 05:26:03 UTC. Recensământul paginat GitHub GraphQL conține 5.911 PR-uri fuzionate: 2.707 create de proprietarul depozitului, 179 de Dependabot și 3.025 de PR-uri externe de la 535 de contribuitori distincți. „Linii modificate” reprezintă suma adăugărilor și ștergerilor de pe GitHub și include fișiere generate, fișiere lock, cataloage, traduceri și documentație; măsoară volumul modificărilor, nu liniile de cod scrise. Egalitățile de la pragul de includere sunt păstrate.
### Commituri atribuite de GitHub
Bob.Hou 🏅 51 de commit-uri atribuite de GitHub · la egalitate pe locul 10
Xiangzhe 🏅 51 de commit-uri atribuite de GitHub · la egalitate pe locul 10
Reverificat la 2026-08-24 06:14:31 UTC: commit-uri atribuite de GitHub, raportate de API-ul Contributors al depozitului pentru ramura implicită release/v3.8.50. API-ul a returnat 525 de identități (415 utilizatori, 2 boți, 108 anonime); acest tabel exclude responsabilul de întreținere, boții și identitățile anonime și păstrează egalitățile din clasament. Acesta este distinct atât de clasamentul PR-urilor îmbinate de mai sus, cât și de recensământul de mai jos, bazat pe metadatele Git, care cuprinde 639 de persoane.
> 🙏 Funcționalitățile, remedierile erorilor și îmbunătățirile de infrastructură realizate de acești contribuitori reprezintă o **parte esențială** a ceea ce face ca OmniRoute să fie fiabil și bogat în funcționalități. Fiecare solicitare de integrare, fiecare caz de testare și fiecare fișier de traducere i18n contează. Proiectele open source sunt construite de oameni ca ei.
---
## 💖 Sponsori
Mulțumiri din suflet celor care finanțează OmniRoute din propriul buzunar — fiecare contribuție menține proiectul gratuit, independent și în continuă dezvoltare.
… și alții care preferă să rămână anonimi 💛Sponsorii GitHub publici au fost revalidați la 2026-08-24. Starea activeOnly din GitHub determină etichetele active de mai sus; susținătorilor publici cu contribuții unice declarați anterior li se mulțumește în continuare, iar sponsorii privați rămân anonimi.💖 Devino sponsor → — fiecare dolar menține OmniRoute gratuit și independent.
## 👥 Peste 600 de contribuitori
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
Auditat la 2026-08-24 pe baza înghețată ac02c5b42f și reverificat la vârful activ release/v3.8.50dafb4ae808: 639 de identități Git umane normalizate — 407 apar ca autori de commituri (inclusiv responsabilul de întreținere), iar 232 apar doar în câmpuri explicite Co-authored-by. Recensământul normalizează identificatorii GitHub noreply, 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.
### Cum să contribui
1. Creează un fork al depozitului
2. Creează ramura pornind de la vârful **activ** `release/vX.Y.Z` (nu de la `main`) — consultă [Modelul de ramificare și lansare](docs/ops/BRANCHING_MODEL.md)
3. Creează ramura pentru funcționalitatea ta (`git checkout -b feat/amazing-feature`)
4. Înregistrează modificările (`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 = ramura `release/vX.Y.Z` respectivă**
Consultă [CONTRIBUTING.md](CONTRIBUTING.md) pentru instrucțiuni detaliate.
### Lansarea unei versiuni noi
```bash
# Creează 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 o portare în TypeScript a 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 ajuns acolo primul. Fiecare dintre ele a modelat o componentă concretă a OmniRoute. Acesta este modul nostru de a le mulțumi tuturor. 🙏
> ⭐ numărul de stele a fost verificat prin API-ul REST al GitHub pe 24 august 2026 — acordați-le o stea acestor proiecte. Valorile reprezintă un instantaneu exact, datat, și se vor schimba în mod natural.
### 🧬 Origine și gateway
Gateway-ul AI al cărui set public de date despre prețuri alimentează sincronizarea noastră pentru urmărirea costurilor și al cărui model de normalizare a furnizorilor a stat la baza rutării noastre.
Sursă MIT adaptată în puntea inclusă în proiect ChatGPT Web → Codex Responses, inclusiv adaptoare pentru sesiunea browserului, încadrarea răspunsurilor, utilizare și căutarea pe web.
Modele portate pentru recuperarea fluxurilor, aliasuri fără raționament, căutare web de rezervă, limite cu fereastră glisantă, redactarea jurnalelor și fluxuri de lansare securizate.
Valorile implicite pentru transformări compatibile cu Claude Code și comportamentul antetelor de facturare, generalizate în puntea OmniRoute bazată pe configurare.
Mapările sale pentru modelele Grok, generatorul Statsig de 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 de bază pentru sarcinile utile Grok și valorile implicite ale dispozitivelor, generatorul Statsig și procesorul result.response, preluate prin TQZHR și grok2api-merged.
O sursă tranzitivă creditată de grok2api-merged pentru stratul său de fond comun de proxy-uri; OmniRoute păstrează această mențiune de filiație, dar nu revendică portarea unui fond comun de proxy-uri în executorul său Grok Web cu domeniu limitat.
Implementarea originală Grok Web a consultat designul său upstream HTTP/browser; calea sa HTTP directă derivă din GrokProxy, astfel că nu este revendicată nicio portare independentă de cod.
Schemele sale Rust ChatOptions și cele pentru anvelopa de răspuns au stat la baza tipurilor TypeScript pentru cererile Grok și răspunsurile în flux ale OmniRoute.
### 🗜️ Comprimarea contextului și a tokenurilor — motoare
Proiectul viral „de ce folosi multe tokenuri când puține tokenuri rezolvă” — filosofia sa de om al peșterilor stă la baza modului nostru standard de compresie și a peste 30 de reguli pentru eliminarea expresiilor de umplutură ș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 expresiilor 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: orientarea către cea mai mică modificare funcțională, care reduce codul _generat_ (echivalentul pentru axa ieșirii al prozei concise Caveman).
Formatul său compact pentru grafuri și arhitectura bazată pe profiluri generice au contribuit la compactarea tabelară și la formatul codecului Headroom din OmniRoute.
Compresie a ieșirii în funcție de conținut și de tipul fișierului, cu abandonare în caz de eșec — a validat distribuirea noastră în funcție de tip și omiterea compresiei când câștigul este insuficient.
„Găsește tokenurile-fantomă” — modelul său de externalizare și identificator recuperabil a contribuit la modul nostru de gândire privind externalizarea CCR.
Un model bazat pe grafuri de sesiune și deduplicarea liniilor între interacțiuni, care a contribuit la proiectarea sistemului nostru de deduplicare a sesiunilor.
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”.
Clasificarea hărților de depozite în stil Aider — a contribuit la explorarea noastră privind hărțile de depozite și clasificarea rezultatelor recuperării.
Set de instrumente pentru TypeScript Compiler API — a inspirat eliminarea comentariilor bazată pe parser, care păstrează literalii șir, șablon și expresie regulată.
Interceptarea/analiza MITM a traficului dintre asistentul de programare și LLM a contribuit la definirea cerințelor inițiale pentru Traffic Inspector. 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.
Rutare transparentă prin proxy pentru fiecare proces — a inspirat dezactivarea MITM sigură în caz de blocare, temporiză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 insignele pentru întrerupătoarele de circuit și reprezentările vizuale ale muchiilor cu erori din Routing/Combo Studio.
O listă atent selecționată de biblioteci securizate implicit, care ne ghidează alegerile privind securitatea (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink).
A inspirat deduplicarea solicitărilor, 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 planurilor au contribuit la definirea mediului de execuție Antigravity din OmniRoute.