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

# 🚀 OmniRoute — Bezpłatna brama AI OmniRoute — Nigdy nie przestawaj programować. Każde narzędzie AI → 372 dostawców — ponad 150 bezpłatnych — przez jeden punkt końcowy. Claude Code, Codex, Cursor, Cline, Copilot i Antigravity z dostępem do BEZPŁATNYCH Claude / GPT / Gemini z automatycznym przełączaniem awaryjnym. Łączona kompresja RTK + Caveman oszczędza 15–95% tokenów (średnio ~89%) — bez przekraczania limitów. 372 dostawców AI · ponad 150 bezpłatnych planów · ~1,62 mld bezpłatnych tokenów/mies. · 19 strategii routingu · $0 na start.
## 💰 ~1,62 mld tokenów / miesiąc w bezpłatnych planach zewnętrznych dostawców
> **Korzystaj z własnych kont u dostawców.** Jest to szacunkowa łączna wartość osobno dostępnych bezpłatnych planów zewnętrznych dostawców, a nie pula tokenów przyznawana przez OmniRoute. Zarejestruj się, uzyskaj dane uwierzytelniające tam, gdzie są wymagane, i połącz dostawców, z których możesz korzystać; każdy dostawca samodzielnie określa swoje limity, dostępność i warunki. > > Ręczne łączenie bezpłatnych planów jest uciążliwe — dziesiątki SDK, dziesiątki limitów szybkości i brak wiedzy o tym, ile faktycznie masz do dyspozycji. OmniRoute kataloguje **489 pozycji bezpłatnych planów w ramach 35 cyklicznych kluczy pul** i oblicza podaną liczbę tokenów na podstawie **17 pul z opublikowanym dodatnim miesięcznym budżetem oraz pięciu limitów Groq dla poszczególnych modeli**, eliminując duplikaty wynikające ze współdzielonych pul. Limity dostępne dopiero po regionalnej weryfikacji tożsamości (obecnie: ModelScope) są prezentowane osobno — +~6 mln po regionalnej weryfikacji tożsamości — i nigdy nie są wliczane do wartości głównej. Wynik pozostaje widoczny w panelu (`/dashboard/free-tiers`). Karta budżetu bezpłatnych planów OmniRoute: stabilnie ~1,62 mld bezpłatnych tokenów miesięcznie, do ~2,22 mld w pierwszym miesiącu dzięki środkom za rejestrację, z 35 udokumentowanych cyklicznych kluczy pul obejmujących 489 skatalogowanych pozycji bezpłatnych planów dostępnych za pośrednictwem jednego punktu końcowego. Rzetelne obliczenia z deduplikacją pul — każda współdzielona pula liczona jest tylko raz, w tym 17 cyklicznych pul z opublikowanym dodatnim miesięcznym budżetem tokenów oraz pięć limitów Groq dla poszczególnych modeli; 13 dostawców oznaczono w katalogu ryzyka regulaminowego jako tych, których należy unikać, aby decyzja należała do Ciebie. Pasek budżetu uwzględnia Mistral 1 mld, Nara 210 mln, LLM7 150 mln, xKiro 150 mln, Groq 30 mln (pięć limitów dla poszczególnych modeli) oraz mniejsze pule, a także środki za rejestrację dostępne w pierwszym miesiącu i trwale bezpłatnych dostawców bez limitu tokenów, prezentowanych osobno, aby nigdy nie zawyżali wartości głównej. Bieżące wykorzystanie i pozostały limit na /dashboard/free-tiers. > Animowane podsumowanie strony `/dashboard/free-tiers` z danymi na żywo. Pełna metodologia (deduplikacja pul, poziomy środków, warunki dostawców): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**. > > Wartości te są ponownie audytowane co dwa tygodnie na podstawie aktualnego katalogu i **zmieniają się w obu kierunkach** — gdy dostawca kończy bezpłatny plan, liczba spada; gdy pojawia się nowy, rośnie. Publikujemy wartości faktycznie obliczane przez katalog, nigdy zaokrąglony w górę najlepszy możliwy wynik.

⭐ Dodaj gwiazdkę do repozytorium, jeśli OMNIROUTE pomógł Ci oszczędzić pieniądze i ułatwił pracę.

[![Gwiazdki](https://img.shields.io/github/stars/diegosouzapw/OmniRoute?style=social)](https://github.com/diegosouzapw/OmniRoute) diegosouzapw%2FOmniRoute | Trendshift [![Pozycja w historii gwiazdek](https://api.star-history.com/badge?repo=diegosouzapw/OmniRoute&theme=dark)](https://www.star-history.com/diegosouzapw/omniroute) [![olud.ai](https://olud.ai/badge.php?tool=diegosouzapw-omniroute)](https://olud.ai/project/diegosouzapw-omniroute.html) ### 💬 Dołącz do społeczności **👋 Obserwuj opiekuna projektu — jako pierwszy otrzymuj informacje o nowych dostawcach, wydaniach i wskazówkach:** [![Obserwuj Diego na LinkedIn](https://img.shields.io/badge/Follow_Diego_on-LinkedIn-0A66C2?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/diegosouzapw/) [![Obserwuj @diegosouzapw na GitHubie](https://img.shields.io/github/followers/diegosouzapw?style=for-the-badge&logo=github&logoColor=white&label=Follow%20on%20GitHub&color=181717)](https://github.com/diegosouzapw) [![Discord](https://img.shields.io/badge/Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/U47eFqAXCn) [![Telegram](https://img.shields.io/badge/Telegram-26A5E4?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/omnirouteOficial) [![WhatsApp — globalnie](https://img.shields.io/badge/WhatsApp_Global-25D366?style=for-the-badge&logo=whatsapp&logoColor=white)](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) [![WhatsApp — Brazylia](https://img.shields.io/badge/WhatsApp_Brasil-25D366?style=for-the-badge&logo=whatsapp&logoColor=white)](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) [![Strona internetowa](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online) **Pytania, wskazówki dotyczące dostawców, plan rozwoju i wsparcie → [Discord](https://discord.gg/U47eFqAXCn) · [Telegram](https://t.me/omnirouteOficial) · WhatsApp [🌍 Globalnie](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) / [🇧🇷 Brazylia](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 stale się rozwija
| | v3.8.50 | **v3.8.51** | `v3.8.52+` | | --------------------------------------- | :-----------------------: | :---------: | :-------------------: | | 🌐 Dostawcy | 352 | **358** | 372 | | 🧠 Unikalne identyfikatory modeli czatu | 1320 | **1374** | 1443 | | 🖼️ Most modalności | 🆕 obraz + dźwięk + wideo | ✓ | ✓ | | 📡 Bezpłatny katalog Radar | 🆕 opcjonalnie | ✓ | ✓ | | ⚖️ Planowanie uwzględniające limity | 🆕 Quota-Share | ✓ | ✓ | | 📊 Telemetria limitów | 🆕 w czasie rzeczywistym | ✓ | ✓ | | 🧰 Tryb bez interfejsu | — | — | 🆕 `serve --headless` | | 🛤️ Infrastruktura ścieżki LTS | — | — | 🆕 kanały wydań | **→ [Plan rozwoju](ROADMAP.md) — na torach do `v3.9.0 LTS`**

## 🧩 Dostępne [![wersja npm](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute) ![Miesięczne pobrania NPM](https://img.shields.io/npm/dm/omniroute?label=npm/month&color=cb3837&logo=npm) [![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute) [![Licencja: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](LICENSE) ![Pobrania Dockera](https://img.shields.io/docker/pulls/diegosouzapw/omniroute?label=docker%20pulls&logo=docker&color=2496ED) ![Pobrania Electrona](https://img.shields.io/github/downloads/diegosouzapw/omniroute/total?style=flat&label=electron%20downloads&logo=electron&color=47848F)
🚀 Start 🚀 Szybki start 📦 Instalacja 🆓 Bez konfiguracji
💡 Informacje 💥 Obietnica 🤔 Dlaczego OmniRoute 🏆 Co nas wyróżnia
⚙️ Funkcje 🎯 Kombinacje 🌐 Dostawcy 🔌 CLI i MCP
🗜️ Kompresja 🖥️ Gdzie działa 🔒 Prywatność
👀 Zobacz 🎬 W działaniu ✨ Co nowego 🤖 Zgodne narzędzia CLI
💚 Wsparcie 💚 Wesprzyj / Przekaż darowiznę 💬 Społeczność 💖 Sponsorzy
📦 Projekt 🛠️ Stos technologiczny 📖 Dokumentacja 👥 Współtwórcy
🌐 W 67 językach

Angielski (en) Portugalski — Brazylia (pt-BR) Portugalski (pt) Hiszpański (es) Francuski (fr) Włoski (it) Niemiecki (de) Niderlandzki (nl) Rosyjski (ru) Ukraiński (uk-UA) Polski (pl) Czeski (cs) Słowacki (sk) Rumuński (ro) Węgierski (hu) Bułgarski (bg) Duński (da) Fiński (fi) Norweski (no) Szwedzki (sv) Chiński — uproszczony (zh-CN) Chiński — tradycyjny (zh-TW) Japoński (ja) Koreański (ko) Tajski (th) Wietnamski (vi) Indonezyjski (id) Malajski (ms) Filipiński (phi) Hindi (hi) Gudżarati (gu) Marathi (mr) Tamilski (ta) Telugu (te) Bengalski (bn) Urdu (ur) Perski (fa) Arabski (ar) Hebrajski (he) Turecki (tr) Azerbejdżański (az) Suahili (sw) Grecki (el) Chorwacki (hr) Serbski (sr) Litewski (lt) Estoński (et) Łotewski (lv) Słoweński (sl) Maltański (mt) Irlandzki (ga) Kannada (kn) Malajalam (ml) Orija (or) Pendżabski (pa) Nepalski (ne) Syngaleski (si) Birmański (my) Khmerski (km) Hausa (ha) Joruba (yo) Igbo (ig) Amharski (am) Uzbecki (uz) Gruziński (ka) Ormiański (hy) Bośniacki (bs)


## 🆓 Zainstaluj, połącz dostawcę, a następnie kieruj żądania przez jeden punkt końcowy
Trzy kroki: zainstaluj i uruchom OmniRoute, połącz kwalifikującego się dostawcę przy użyciu własnego konta lub klucza API, a następnie skieruj swoje narzędzie na localhost:20128/v1, używając klucza API OmniRoute i modelu auto. Trasowanie zależy od dostępnych kwalifikujących się połączeń oraz limitów dostawców. ```bash # Po połączeniu dostawcy skopiuj swój klucz OmniRoute z Dashboard → Endpoints: curl http://localhost:20128/v1/chat/completions \ -H "Authorization: Bearer YOUR_OMNIROUTE_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}' ``` `auto` wymaga kwalifikującej się trasy. Świeża instalacja może nie mieć żadnych kwalifikujących się miejsc docelowych niewymagających klucza, a dostawca niewymagający klucza może odrzucać klientów zewnętrznych. Dostawcy oznaczeni jako `tos: avoid`, w tym OpenCode Free i Kiro, są domyślnie wykluczeni z automatycznego trasowania; połączenie konta nie zmienia tego ustawienia. Przed wyborem dostawcy zapoznaj się z [Przewodnikiem po bezpłatnych planach](docs/getting-started/FREE-TIERS-GUIDE.md). 📦 Gotowe do skopiowania i wklejenia skrypty szybkiego startu dla **Python, Node.js, PHP i cURL** → [`examples/quickstart/`](examples/quickstart/)
# 💥 Obietnica
Obietnica — jeden punkt końcowy i 372 dostawców. Automatyczne przełączanie awaryjne utrzymuje trasowanie, dopóki dostępne jest inne sprawne miejsce docelowe. Sześć filarów: niezawodne przełączanie awaryjne między 372 dostawcami · do 95% oszczędności tokenów w kwalifikujących się obciążeniach · start za $0 dzięki ponad 150 bezpłatnym planom oraz 54 cyklicznym lub niewymagającym klucza dostawcom bezpłatnym na zawsze · 36 integracji CLI/agentów za pomocą jednej konfiguracji · zgodność z OpenAI, Claude, Gemini i Responses API pod adresem /v1 · mechanizmy klasy produkcyjnej, w tym wyłączniki obwodu, maskowanie TLS, MCP ze 110 narzędziami, A2A, pamięć, zabezpieczenia, ewaluacje oraz ponad 39 000 statycznych deklaracji testów w ponad 5 100 śledzonych plikach testowych.

# 🤔 Dlaczego OmniRoute?
Dlaczego OmniRoute — koniec z żonglowaniem 10 panelami, niedziałającymi kluczami API i niespodziewanymi rachunkami. Dziesięć codziennych problemów i ich rozwiązań: limit wygasa niewykorzystany → maksymalnie wykorzystuj subskrypcje; limity szybkości w trakcie programowania → 4-poziomowe automatyczne przełączanie awaryjne (Subskrypcja → API → Tanie → Bezpłatne); wyniki narzędzi pochłaniają tokeny → kompresja RTK + Caveman (15–95%); drogie interfejsy API → trasowanie zoptymalizowane pod kątem kosztów; każde narzędzie wymaga osobnej konfiguracji → jeden punkt końcowy, jeden panel; AI jest blokowana → 3-poziomowe proxy + maskowanie TLS; niedziałające klucze → 3-warstwowa odporność (wyłączniki obwodu, okres karencji kluczy, blokada modelu); zespół współdzieli jedną subskrypcję → pule kluczy ze sprawiedliwym podziałem limitów; prompty przechodzą przez cudzą chmurę → podejście local-first z kluczami szyfrowanymi przy użyciu AES-256-GCM; brak wglądu w wydatki → analityka na żywo (użycie, limit, oszczędności, opóźnienie p95).
Przepływ żądania OmniRoute: Twoje IDE lub CLI (Claude Code, Cursor, Cline…) wywołuje jeden lokalny punkt końcowy (http://localhost:20128/v1); OmniRoute Smart Router (kompresja RTK + Caveman, 19 strategii trasowania, wyłączniki obwodu, maskowanie TLS, MCP, A2A, zabezpieczenia) może przełączać się awaryjnie między 4 poziomami dostawców, dopóki dostępne jest kwalifikujące się i sprawne miejsce docelowe — Poziom 1: Subskrypcja, Poziom 2: Klucz API, Poziom 3: Tanie i Poziom 4: Bezpłatne.

## 🤝 Wspierane przez naszych Przyjaciół Open Source

Kimi K3 — Open Frontier Intelligence · 2.8T parameters · 1M-token context

> **Chcesz dołączyć jako Przyjaciel Open Source?** To są firmy, które wspierają open source i pomagają OmniRoute działać — a my publicznie informujemy, na co przeznaczany jest każdy token, który nam przekazują. Skontaktuj się: [diegosouza.pw@outlook.com](mailto:diegosouza.pw@outlook.com)
Kimi (Moonshot AI)
Kimi
Moonshot AI

Founding Open Source Friend
Dzięki **Kimi (Moonshot AI)**, naszemu założycielskiemu Przyjacielowi Open Source, za wsparcie tego projektu! Kimi to laboratorium AI stojące za rodzinami modeli K2 i K3 o otwartej wadze — **Kimi K3** oferuje okno kontekstowe 1M tokenów, natywną wizję i kodowanie na poziomie granicznym za ułamek cen modeli zamkniętych, i działa od razu po wyjęciu z pudełka z Claude Code, Codex i każdym narzędziem do kodowania, które obsługuje OmniRoute.

**Co umożliwia wsparcie Kimi:** Kredyty API Kimi zasilają potok wydawniczy OmniRoute walidowany przez AI — etap *walidacji scalania zasilany przez Kimi K3*, który przegląda każdy pull request przed jego wdrożeniem — a także codzienny rozwój funkcji. Wysokiej klasy wsparcie Kimi jest dostępne na obu torach: bezpośrednim API Kimi (kimi-k3) oraz planie kodowania Kimi Code (OAuth i klucz API). OmniRoute jest również pierwszym brazylijskim projektem open-source w programie wsparcia Kimi. Zdobądź klucz API Kimi z 15% dodatkowymi kredytami →
Cheaper Inference
Cheaper Inference
cheaperinference.com

Open Source Friend
Dzięki **Cheaper Inference**, Przyjacielowi Open Source OmniRoute, za wsparcie tego projektu! Cheaper Inference to bramka z rankingiem kosztów, która odsprzedaje 42 modele graniczne — Claude, GPT-5.x, Gemini, Kimi K3, GLM, DeepSeek, Grok i MiniMax — za jednym punktem końcowym kompatybilnym z OpenAI, kierując każde żądanie do najtańszego kwalifikującego się dostawcy, nigdy nie pobierając opłat powyżej ceny katalogowej twórcy modelu.

**Wysokiej klasy wsparcie w OmniRoute:** Uzupełnianie czatu, natywny punkt końcowy /v1/responses, wizja, wywoływanie narzędzi i 3 modele obrazów (grok-imagine, nano-banana-pro, nano-banana-2, dostępne jako cheaperinference/<model>). Zdobądź klucz API →
Linki oznaczone aff=omniroute to linki partnerskie. Finansują one projekt bez dodatkowych kosztów dla Ciebie.
🎟️ Promocja Afiliacyjna — darmowe kupony rejestracyjne od dostawców, których nie sponsorujemy (kliknij, aby rozwinąć) Ta sekcja jest przeznaczona wyłącznie na kody polecające/kupony. Sponsorowane partnerstwa znajdują się w sekcji 🤝 Wspierane przez naszych Przyjaciół Open Source powyżej. OmniRoute nie ma żadnego sponsoringu ani partnerstwa z wymienionymi tutaj dostawcami — są to publiczne kupony, z których każdy może skorzystać.
AgentRouter
AgentRouter
agentrouter.org
AgentRouter — rejestracja afiliacyjna · **$100 darmowych kredytów** przy rejestracji (darmowy serwer, spodziewaj się wyższego opóźnienia — najlepszy do testowania, nie do produkcji). Wysokiej klasy wsparcie w OmniRoute od **v3.8.50**: Uzupełnianie czatu, format danych kompatybilny z Anthropic i ścieżka kompatybilna z OpenAI. Dostępne modele to claude-opus-4-8, claude-opus-5, gpt-5.6-sol i inne. **Zdobądź swoje $100 →**

⚠️ *Link afiliacyjny — OmniRoute nie ma sponsoringu ani partnerstwa z tym dostawcą.*
Znasz innego dostawcę z hojnym darmowym kuponem rejestracyjnym, który przynosi korzyści użytkownikom OmniRoute? Otwórz zgłoszenie, a dodamy go tutaj.

## 🎯 Kombinacje — flagowa funkcja
Animacja wszystkich 19 strategii routingu kombinacji — po jednym kafelku na strategię: priority, fill-first, weighted, round-robin, p2c, least-used, random, strict-random, cost-optimized, headroom, reset-window, reset-aware, context-relay, context-optimized, cache-optimized, lkgp, auto, fusion, pipeline. Opis działania każdej z nich znajduje się w tabeli powyżej. > **Kombinacja** to łańcuch modeli, między którymi OmniRoute kieruje ruch **automatycznie**. Jeśli limit zostanie wyczerpany, dostawca ulegnie awarii lub koszty gwałtownie wzrosną, kombinacja może przejść do kolejnego kwalifikującego się, sprawnego modelu. 🛡️ ### ⚡ Bez konfiguracji — po prostu użyj `auto` Nie musisz tworzyć kombinacji. Ustaw model na `auto` (lub jeden z jego wariantów), a OmniRoute utworzy wirtualną kombinację na podstawie połączonych dostawców i będzie oceniać ich na bieżąco:
Identyfikator modeluCo optymalizuje
auto🎯 Zrównoważone ustawienie domyślne (LKGP — pozostaje przy ostatnim sprawdzonym dostawcy)
auto/coding🧑💻 Wagi stawiające jakość na pierwszym miejscu podczas generowania kodu
auto/fast⚡ Najpierw najniższe opóźnienie
auto/cheap💰 Najpierw najniższy koszt tokenu
auto/offline🔋 Najpierw największy zapas limitu / przepustowości
auto/smart🔭 Jakość na pierwszym miejscu + 10% eksploracji w celu odkrywania lepszych modeli
auto/lkgp📌 Jawne przywiązanie do ostatniego sprawdzonego dostawcy
auto/chaos🧪 Równoległe rozsyłanie do panelu modeli (po jednym na dostawcę, domyślnie 5), zwracające jedną odpowiedź; jedno wywołanie nadrzędne na każdy model w panelu, a nie wstrzykiwanie awarii
## ### 🔀 Lub utwórz własną kombinację — 19 strategii routingu Wszystkie **19** strategii — możesz je dowolnie łączyć na każdym etapie kombinacji:
# Strategia Działanie
1 priority Uporządkowana lista z pierwszym celem — wykorzystuje każdy przed przejściem do następnego 🥇
2 fill-first W pełni wykorzystuje limit każdego celu przed przejściem do następnego
3 weighted Losowy wybór ważony według wagi poszczególnych celów
4 round-robin Cyklicznie przechodzi przez cele w ustalonej kolejności
5 p2c Losowe równoważenie obciążenia metodą wyboru lepszego z dwóch
6 least-used Wybiera cel o najniższym bieżącym obciążeniu
7 random Jednostajny wybór losowy (bez duplikatów)
8 strict-random Losowy wybór bez usuwania powtórzeń 🎲
9 cost-optimized Minimalizuje koszt $ na żądanie na podstawie bieżących cen katalogowych 💸
10 headroom Wybiera cel z największym pozostałym limitem
11 reset-window Preferuje cel, którego okno limitu zostanie zresetowane najwcześniej
12 reset-aware Klasyfikuje według czasu resetowania limitu — najpierw krótkie okna 📊
13 context-relay Przekazuje kontekst między celami podczas długich rozmów 🧠
14 context-optimized Wybiera cel najlepiej dopasowany do bieżącego rozmiaru kontekstu
15 cache-optimized Przypisuje każdy prefiks monitu wielokrotnego użytku do tego samego konta — maksymalizuje trafienia w pamięci podręcznej monitów 🎯
16 lkgp Ostatnia znana dobra ścieżka — przypisuje do ostatniego dostawcy, który pomyślnie obsłużył żądanie, a następnie stosuje reguły przełączania awaryjnego
17 auto Bieżąca ocena wszystkich połączeń na podstawie 16 czynników 🤖
18 fusion Rozsyła żądanie do panelu modeli, a model oceniający tworzy jedną zbiorczą odpowiedź 🧬
19 pipeline Łączy etapy — wynik każdego celu jest przekazywany do następnego 🔗
Mechanizm Auto-Combo ocenia każdego kandydata na podstawie **16 czynników** (stan, limit, koszt, opóźnienie, dopasowanie do zadania, jakość, dostępność sesji…) — zobacz [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md). ## ### 🧱 Odporność jest wbudowana (3 niezależne warstwy) Odporność OmniRoute — 3 niezależne warstwy samonaprawcze, właściwa warstwa dla właściwej awarii. Warstwa 1: wyłącznik obwodu dostawcy (cały dostawca): uruchamia się tylko przy 408/5xx, progi OAuth 8× / klucz API 12× / lokalny 2×, resetuje się po 60s/30s/15s, przechodząc do próby HALF-OPEN; odzyskiwanie leniwe; w stanie OPEN kombinacja przekierowuje ruch do następnego dostawcy. Warstwa 2: okres wyciszenia połączenia (jeden klucz/konto): bazowo 5s dla OAuth / 3s dla klucza API, wykładnicze wycofanie ×2 z ochroną przed lawiną równoczesnych żądań, 429 respektuje Retry-After, powodzenie usuwa cały stan błędów; jeden wyciszony klucz jest pomijany, podczas gdy pozostałe klucze nadal obsługują żądania. Warstwa 3: blokada modelu (jeden model): 429 dla konkretnego modelu, lokalne 404 lub odmowy trybu blokują tylko ten model — nigdy całe połączenie. Stany końcowe (zablokowany, wygasły, wyczerpane środki) wymagają działania operatora, a nie okresu wyciszenia. 📖 [Silnik Auto-Combo](docs/routing/AUTO-COMBO.md) · [Przewodnik po odporności](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 Co wyróżnia OmniRoute
Co wyróżnia OmniRoute — aktualne na określony dzień porównanie funkcji z 9router, OpenRouter, CLIProxyAPI i LiteLLM obejmujące 13 możliwości. OmniRoute: 372 dostawców, ponad 150 wbudowanych darmowych planów, 19 strategii routingu, 12-silnikowa kompresja tokenów, wbudowany serwer MCP ze 110 narzędziami, protokół agentów A2A, pamięć trwała, mechanizmy ochronne, agenci chmurowi, maskowanie odcisku palca TLS, aplikacje Desktop/Termux/PWA oraz interfejs użytkownika w 42 wersjach językowych. OmniRoute jest dostępny na licencji MIT i może być hostowany samodzielnie. Możliwości i liczby dotyczące konkurencyjnych rozwiązań mogą ulec zmianie; zobacz podlinkowaną metodologię. 📊 Pełna metodologia i szczegółowe porównanie poszczególnych funkcji z 9router, OpenRouter, CLIProxyAPI i LiteLLM → [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md)
## 💚 Wesprzyj OmniRoute OmniRoute jest udostępniany na licencji MIT i rozwijany w sposób otwarty. Jeśli pozwala Ci oszczędzać czas lub pieniądze, oto jak możesz pomóc zachować jego niezależność — wybierz dowolną formę wsparcia. Sponsoring nigdy nie wpływa na priorytet routingu; zapewnia widoczność, a nie wyższą pozycję.
⭐ Dodaj gwiazdkę do repozytoriumBezpłatnie — naprawdę pomaga zwiększyć widocznośćDodaj gwiazdkę OmniRoute
🐙 GitHub SponsorsJednorazowo lub co miesiąc · bez opłat platformowychgithub.com/sponsors/diegosouzapw
☕ Ko-fiSzybki jednorazowy datek, bez konieczności rejestracji darczyńcyko-fi.com/diegosouzapw
🧋 Buy Me a CoffeeDrobny, nieformalny gestbuymeacoffee.com/diegosouzapw
🖐 LiberapayCyklicznie · organizacja non-profit · open sourceliberapay.com/diegosouzapw
🇧🇷 PIX (Brazylia)Natychmiastowo, bez opłatklucz i kod QR poniżej
₿ KryptowalutyBTC · ETH · USDT-TRC20 · USDC-Solanaadresy poniżej
**🇧🇷 PIX** — natychmiastowo, bez opłat (Brazylia) Kod QR PIX OmniRoute Klucz (losowy): `5d865059-bc44-483a-962d-43ceb80126eb` Kod PIX do skopiowania i wklejenia: ``` 00020101021126580014br.gov.bcb.pix01365d865059-bc44-483a-962d-43ceb80126eb5204000053039865802BR5922OMNIROUTE CONTRIBUICAO6006BRASIL62070503***630475DD ```
₿ Kryptowaluty — BTC · ETH · USDT-TRC20 · USDC-Solana (kliknij, aby rozwinąć)
₿ BTCBitcoin (SegWit)bc1qh00smz004sy85wyl28v77tenkt3ckl6eaep7fd
Ξ ETHEthereum (ERC20)0x64Cf6B68A6Ff34288e89172950a2d00102337a84
₮ USDTTron (TRC20)TKAF41JpuQrHbKTnsQa9svJE2T192Hvsc2
$ USDCSolana2emNNZzVVWQc3FQ2wk9M6qXUQmW8AKdjjL174fXR28Tu
⚠️ Każdą monetę wysyłaj wyłącznie w podanej sieci — wysłanie jej w niewłaściwej sieci może spowodować utratę środków.
🐛 Znalazłeś błąd lub masz uwagi? Otwórz [dyskusję](https://github.com/diegosouzapw/OmniRoute/discussions).

Uwagi dla deweloperów: Podczas npm install/postinstall projekt może dla wygody dewelopera wygenerować lokalny plik .env. Plik ten jest celowo ignorowany za pośrednictwem .gitignore (zobacz .gitignore) i nigdy nie może zostać zatwierdzony w repozytorium — jeśli zostanie zatwierdzony przypadkowo, zmień wszystkie ujawnione dane poufne i usuń plik z historii. Wskazówki dotyczące zarządzania lokalnymi plikami środowiskowymi i danymi poufnymi znajdziesz w dokumencie docs/DEVELOPER-ENVIRONMENT.md.

## 📡 OmniRoute Radar Główna wartość deklarowana dla bezpłatnego poziomu nadal wynosi **~1.62B tokenów/miesiąc** na podstawie udokumentowanego, pozbawionego duplikatów między pulami katalogu powyżej. Tymczasowe środki przyznawane przy rejestracji u dostawców mogą niezależnie zwiększyć limit w pierwszym miesiącu do **~2.22B**. Radar to opcjonalna, podpisana nakładka na katalog dla osób, które chcą mieć dostęp do bardziej aktualnych informacji o dostępności bezpłatnych modeli między wydaniami OmniRoute; katalog społecznościowy oraz wszystkie istniejące bezpłatne funkcje pozostają bezpłatne. Osoby wspierające projekt mogą otrzymywać aktualizowany na bieżąco katalog oraz informacje o dodatkowych możliwościach oferowanych przez dostawców. Jego oddzielny, zmienny pułap wynosi **maksymalnie około 3B tokenów/miesiąc**, zależnie od dostępności u dostawców. Pułap ten nie jest gwarantowany: dostawcy mogą w dowolnym momencie zmieniać limity, kryteria kwalifikacji, modele lub regiony. Radar jest opcjonalny i obsługuje wyłącznie żądania GET. Klient OmniRoute nie przesyła promptów, ruchu, konfiguracji dostawców, telemetrii użytkowania ani lokalnego stanu odrzucenia powiadomień. Informacje o kryteriach kwalifikacji oraz aktualnym katalogu znajdziesz na stronie **[radar.omniroute.online/planos](https://radar.omniroute.online/planos)**.
## ✨ Co nowego
> Najważniejsze nowości z wersji **v3.8.20 → v3.8.50**. Pełna historia znajduje się w pliku [`CHANGELOG.md`](CHANGELOG.md). - **🎛️ OmniConductor** — przychodzące delegowanie A2A do floty agentów, umiejętności Conductor na karcie agenta oraz panel pulpitu z czatem głosowym push-to-talk obsługiwanym przez Faro. → [Serwer A2A](docs/frameworks/A2A-SERVER.md) - **🛂 Adaptacyjne dopuszczanie i ochrona przed przeciążeniem** — wymagające żądania czatu trafiają do kolejki zamiast zwracać błąd 503, z atomowymi, kroczącymi dzierżawami RPM dla każdego połączenia. → [Przewodnik po odporności](docs/architecture/RESILIENCE_GUIDE.md) - **🗂️ Kanoniczna kolejność `/v1/models`** — jeden ciągły blok dla każdego dostawcy, pogrupowany według dostawców (z kombinacjami przypiętymi na początku), spójny we wszystkich źródłach katalogu. → [Dokumentacja API](docs/reference/API_REFERENCE.md) - **🗜️ Wzmocnienie kompresji** — domyślnie włączone zabezpieczenie przed nadmierną dekompresją, pakiety Caveman dla DE / FR / JA oraz chińskiego (wényán), filtry RTK dla Gradle i .NET. → [Kompresja](docs/compression/COMPRESSION_ENGINES.md) - **💸 Rzetelny koszt ryczałtowy** — dostawcy subskrypcji i planów programistycznych wykazują koszt **$0** w analizach kosztów; mechanizmy budżetu, limitów i routingu nadal korzystają z oszacowań. → [Dokumentacja API](docs/reference/API_REFERENCE.md) - **⚖️ Routing Quota-Share** — sprawiedliwie dzieli limit współdzielonego konta między klucze w puli, zachowując pełne wykorzystanie zasobów dzięki udostępnianiu niewykorzystanych przydziałów. → [Przewodnik po odporności](docs/architecture/RESILIENCE_GUIDE.md) - **🤖 Konfiguracja CLI/agenta jednym poleceniem** — 13 zarejestrowanych poleceń `setup-*`; `omniroute run` uruchamia 7 narzędzi CLI (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` obsługuje 10 miejsc docelowych z interaktywnym wyborem dostawcy i modelu oraz ulubionymi ustawieniami dla poszczególnych kontekstów. → [Integracje CLI](docs/guides/CLI-INTEGRATIONS.md) - **🛰️ Tryb zdalny** — sterowanie zdalną instancją OmniRoute za pomocą tokenów o ograniczonym zakresie (`connect` / `contexts` / `tokens`) oraz pomocnika OAuth `antigravity` dla instalacji na VPS. → [Tryb zdalny](docs/guides/REMOTE-MODE.md) - **🧭 Inteligentniejszy automatyczny routing** — kombinacje `auto/:`, **Fusion** (panel modeli + sędzia), routing uwzględniający zadanie oraz nadpisywanie modelu / trybu / budżetu w USD dla poszczególnych żądań. → [Auto-Combo](docs/routing/AUTO-COMBO.md) - **🗜️ Modułowa kompresja** — 12 komponowalnych silników + Compression Studios: LLMLingua-2, dwupoziomowy Ultra, omniglyph, bramka wierności dla każdego kroku, GCF v3.2 oraz edytor z możliwością zmiany kolejności przez przeciąganie. → [Kompresja](docs/compression/COMPRESSION_ENGINES.md) - **🕵️ Przezroczyste deszyfrowanie MITM (TPROXY)** — przechwytywanie narzędzi CLI ignorujących zmienne środowiskowe serwera proxy, z urzędem certyfikacji dla każdego SNI oraz instalatorem magazynu zaufanych certyfikatów. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md) - **💸 Telemetria kosztów wszędzie** — nagłówki kosztów i wykorzystania `X-OmniRoute-*` w każdym punkcie końcowym, nagłówek oszczędności wynikających z trafienia w pamięć podręczną oraz limity wydatków w USD dla poszczególnych kluczy. → [Dokumentacja API](docs/reference/API_REFERENCE.md) - **🧠 Pamięć pod Twoją kontrolą** — domyślnie wyłączona, opcjonalna kwantyzacja wektorowa int8 i typowany zanik oraz `x-omniroute-no-memory` dla poszczególnych żądań. → [Pamięć](docs/frameworks/MEMORY.md) - **🛡️ Bezpieczeństwo** — ochrona przed wstrzykiwaniem promptów na każdej trasie LLM (zestaw testów red-team), opcjonalne zabezpieczenie maskujące dane uwierzytelniające (redaguje ujawnione klucze API i sekrety w obu kierunkach), bezpłatne wyszukiwanie internetowe DuckDuckGo jako ostatnia deska ratunku oraz opcjonalna bramka logowania OIDC do pulpitu (logowanie hasłem pozostaje zawsze dostępne). → [Zabezpieczenia](docs/security/GUARDRAILS.md) - **🖼️ Nowe punkty końcowe** — `/v1/ocr` (Mistral OCR) i `/v1/audio/translations` (w stylu Whisper) uzupełniają obsługę multimediów. → [Dokumentacja API](docs/reference/API_REFERENCE.md) - **🎨 Generowanie obrazów / wideo / dźwięku** — jedno API dla multimediów: generowanie wideo za pomocą xAI Grok Imagine i Novita AI, ComfyUI, Magnific, Adobe Firefly, Segmind oraz dostawcy syntezy mowy, tacy jak ElevenLabs. → [Dokumentacja API](docs/reference/API_REFERENCE.md) - **🌍 Wdrażanie i eksploatacja** — `basePath` odwrotnego serwera proxy, automatyczne wykrywanie języka przeglądarki, śledzenie urządzeń dla poszczególnych kluczy, zaufanie MITM bez uprawnień roota oraz lokalizacja zh-TW. → [Środowisko](docs/reference/ENVIRONMENT.md) - **🤝 Więcej dostawców i agentów** — agenci chmurowi (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) z przeglądarką i logowaniem OAuth, pełnoprawna karta Ollama, Claude Opus 5 i Sonnet 5, oficjalne partnerstwo z Kimi (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… oraz odświeżony **katalog 352 dostawców**. → [Dostawcy](docs/reference/PROVIDER_REFERENCE.md) - **📡 Przejrzystość routingu** — każda odpowiedź zawiera nagłówek `X-OmniRoute-Decision` wskazujący strategię, dostawcę i opóźnienie obsługujące żądanie; nowa strategia kombinacji `cache-optimized` wraz z czynnikiem Auto-Combo `cacheAffinity` kieruje powtarzające się żądania z powrotem do połączenia przechowującego prefiks w pamięci podręcznej, a punkt końcowy tylko do odczytu `/v1/auto-combo/{channel}/candidates` udostępnia aktywną pulę kandydatów kanału `auto/*`. → [Auto-Combo](docs/routing/AUTO-COMBO.md) - **⚡ Lokalna wydajność i infrastruktura** — lokalny Redis uruchamiany jednym kliknięciem, narzędzia wdrożeniowe przekaźników dla Cloudflare Workers / Deno Deploy oraz Bifrost i Mux jako nadzorowane usługi wbudowane. → [Usługi wbudowane](docs/frameworks/EMBEDDED-SERVICES.md) - **🧩 Również w zestawie** — framework wtyczek i marketplace, frameworki umiejętności Omni/Agent/GitHub, integracja ze skarbcem Obsidian (22 narzędzia MCP), zgodne z OpenAI interfejsy API Batch i Files, semantyczna pamięć podręczna odpowiedzi, grywalizacja z tabelami wyników, wykrywanie agentów ACP (15 wbudowanych agentów), zaplanowany eksport dzienników do BigQuery, równoległe rozsyłanie do wielu modeli `auto/chaos`, most do bota Telegram, wbudowany menedżer wersji oraz rankingi bezpłatnych dostawców LMArena-ELO. → [Dokumentacja](docs/README.md)
## 🤖 Zgodne interfejsy CLI i agenci programistyczni > Jedna konfiguracja — `http://localhost:20128/v1` — i **każde** IDE lub CLI oparte na AI działa z darmowymi i niedrogimi modelami.
Claude Code
Claude Code
                           
Codex CLI
Codex CLI
                           
Cline
Cline
                           
Kilo Code
Kilo Code
Zoo Code
Zoo Code
Continue
Continue
                           
Aider
Aider
                           
ForgeCode
ForgeCode
                           
jcode
jcode
                           
DeepSeek TUI
DeepSeek TUI
                           
CodeWhale
CodeWhale
                           
OpenCode
OpenCode
                           
Factory Droid
Factory Droid
                           
GitHub Copilot CLI
Copilot CLI
                           
Cursor CLI
Cursor CLI
                           
Smelt
Smelt
                           
Pi (pi-coding-agent)
Pi
                           
Grok Build (xAI)
Grok Build
                           
Hermes Agent (Nous Research)
Hermes Agent
                           
OpenClaw
OpenClaw
                           
Goose
Goose
                           
Open Interpreter
Open Interpreter
                           
Warp AI
Warp AI
                           
deyin.ai
deyin.ai
                           
+ działa również z · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · dowolnym narzędziem zgodnym z OpenAI
📖 Konfiguracja poszczególnych narzędzi dla wszystkich 36 narzędzi (26 narzędzi CLI do kodowania + 10 agentów CLI) → [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 Wtyczka OpenCode → [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)

**Uruchom dowolne obsługiwane narzędzie CLI przez OmniRoute jednym poleceniem** — bez zapisywania plików konfiguracyjnych, z danymi uwierzytelniającymi wstrzykiwanymi dla każdego procesu oraz jednorazowym, izolowanym katalogiem domowym dla 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" # Lub wybierz interaktywnie dostawcę i model oraz zapisz własną konfigurację narzędzia: omniroute configure codex # także: claude opencode qwen aider goose gemini cline continue kilo ``` Każde polecenie uwzględnia aktywny kontekst zdalny (`omniroute connect `), opcja `--dry-run` wyświetla dokładny podgląd zmiennych środowiskowych i argumentów bez wykonywania polecenia, a `--api-key-env NAME` zapobiega zapisywaniu sekretów w historii powłoki. → [Integracje CLI](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 372 dostawców AI — 154 oznaczonych w katalogu jako bezpłatni
> **372 zarejestrowanych dostawców** w kanonicznych kolekcjach czatu, multimediów, wyszukiwania, rozwiązań lokalnych, agentów chmurowych i systemowych, w tym **154 z metadanymi wykrywania `hasFree: true`**. Rejestr modeli czatu obejmuje **237 dostawców / 3 009 unikalnych par dostawca–model / 1 443 nieprzetworzone identyfikatory modeli**; osobny katalog bezpłatnych limitów zawiera **491 wierszy dla poszczególnych modeli**, **35 odnawialnych pul** oraz **54 dostawców oferujących odnawialny lub niewymagający klucza bezpłatny dostęp bezterminowy**. Są to celowo różne podstawy obliczeń; definicje i obliczenia z deduplikacją pul znajdują się w dokumentach [Dokumentacja dostawców](docs/reference/PROVIDER_REFERENCE.md) i [Bezpłatne poziomy](docs/reference/FREE_TIERS.md).
### 🏢 Każde duże laboratorium — przez jeden punkt końcowy
OpenAI
OpenAI
                           
Anthropic
Anthropic
                           
Gemini
Gemini
                           
xAI Grok
xAI Grok
                           
DeepSeek
DeepSeek
                           
Mistral
Mistral
                           
Qwen
Qwen
                           
Meta Llama
Meta Llama
                           
Groq
Groq
                           
NVIDIA
NVIDIA
                           
MiniMax
MiniMax
                           
Cohere
Cohere
                           
Perplexity
Perplexity
                           
Hugging Face
HuggingFace
                           
Together
Together
                           
Fireworks
Fireworks
                           
Cloudflare
Cloudflare
                           
Baidu
Baidu
                           
…i ponad 330 innych — każda ikona jest pobierana na żywo z katalogu dostawców panelu. 📖 [Dokumentacja dostawców](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 Bezpłatnie bezterminowo — $0, bez karty
OpenCode Zen
OpenCode Zen
DeepSeek V4, Nemotron 3
Bez limitu tokenów
Kilo Code
Kilo Code
Automatyczny router, Tencent Hy3
Bezpłatnie na zawsze
Requesty
Requesty
GPT-OSS 120B, Nemotron
Bezpłatnie na zawsze
SiliconFlow
SiliconFlow
DeepSeek V3.2 / R1
Bezpłatny plan
Z.AI GLM
Z.AI GLM
GLM-4.7 / 4.5-Flash
Bezpłatnie na zawsze
Baidu ERNIE
Baidu ERNIE
ERNIE 4.0
Bezpłatnie na zawsze
Qoder AI
Qoder AI
Qwen3-Max, Kimi-K2
BEZPŁATNIE bez ograniczeń
Pollinations
Pollinations
GPT, Llama, Claude
Klucz nie jest wymagany
Cloudflare AI
Cloudflare AI
Ponad 50 modeli
10 tys. neuronów/dzień
NVIDIA NIM
NVIDIA NIM
GLM, MiniMax
~40 RPM bezpłatnie
Cerebras
Cerebras
GLM 4.7, GPT-OSS
Jednorazowy kredyt $5; wymagana karta
OpenRouter
OpenRouter
Modele :free
+$10 → wyższy limit RPM
📖 Pełny katalog w formacie do odczytu maszynowego → [`docs/reference/PROVIDER_REFERENCE.md`](docs/reference/PROVIDER_REFERENCE.md)
## 🖥️ Gdzie działa OmniRoute — wszędzie
> Ta sama aplikacja, Twój sprzęt, Twoje zasady. Od globalnej instalacji npm aż po **Twój telefon** za pośrednictwem Termux.
PlatformaInstalacjaNajważniejsze cechy
📦 npm (globalnie)npm install -g omnirouteJedno polecenie, dowolny system operacyjny
🐳 Dockerdocker run … diegosouzapw/omnirouteWiele architektur: AMD64 + ARM64
🖥️ Aplikacja desktopowa (Electron)npm run electron:buildNatywne okno + zasobnik systemowy — Windows / macOS / Linux
🎩 Pasek menu (OmniRouteTray)brew install --cask zoispag/tap/omniroute-trayNadzoruje i automatycznie aktualizuje serwer — macOS
💪 ARMnatywne arm64Raspberry Pi, serwery ARM, Apple Silicon
📱 Android (Termux)pkg install nodejs && npx -y omnirouteDziała na Twoim telefonie, 24/7, bez roota
📲 PWA„Dodaj do ekranu głównego”Pełny ekran, działanie offline, instalacja z przeglądarki
🧩 Wtyczka OpenCode@omniroute/opencode-providerNatywna integracja z OpenCode
🤖 VS Code Copilot Chatzainstaluj rozszerzenie OmniCopilotKażdy model OmniRoute w natywnym selektorze Copilot Chat — wersje stabilne i Insiders
🛠️ Ze źródełnpm install && npm run devModyfikuj i współtwórz
📖 [Przewodnik po Dockerze](docs/guides/DOCKER_GUIDE.md) · [Aplikacja desktopowa](electron/README.md) · [Zasobnik na pasku menu](https://github.com/zoispag/omniroute-tray) · [Termux](docs/guides/TERMUX_GUIDE.md) · [PWA](docs/guides/PWA_GUIDE.md) · [OpenCode](docs/frameworks/OPENCODE.md)
### 🧩 Nowość: OmniRoute wewnątrz natywnego Copilot Chat w VS Code
> Bez nowego paska bocznego i bez nowego interfejsu czatu — każdy model udostępniany przez OmniRoute pojawia się bezpośrednio w > **selektorze modeli Copilot Chat, którego już używasz**. Od VS Code 1.122 modele dostawców działają > bez logowania do GitHub ani subskrypcji Copilot — tryb agenta, wywoływanie narzędzi i obsługa obrazów, > za darmo. Zainstaluj rozszerzenie **[OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)**, wskaż mu swój serwer OmniRoute (domyślnie `localhost:20128`), a następnie otwórz Copilot Chat → selektor modeli → **Zarządzaj modelami…** → **OmniRoute**.
SklepŁączeDziała z
🧩 VS Code MarketplaceZainstaluj →VS Code — wersje stabilne i Insiders
🔓 Open VSX RegistryZainstaluj →Cursor, Windsurf, VSCodium, Theia, code-server, Gitpod, Antigravity, Kiro…
W edytorze otwórz widok **Rozszerzenia**, wyszukaj **„OmniRoute”** i kliknij **Zainstaluj** — działa tak samo w obu sklepach. Kod źródłowy, zgłoszenia problemów i instrukcja publikowania znajdują się w [diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot). 📖 [Przewodnik po VS Code Copilot Chat](docs/guides/VSCODE-COPILOT.md) — konfiguracja, zawartość selektora, panel w karcie, rozwiązywanie problemów
### 🎩 Nowość: OmniRouteTray — Twoja brama dostępna z paska menu
> `omniroute serve` działa najlepiej, gdy jest stale uruchomione. **[OmniRouteTray](https://github.com/zoispag/omniroute-tray)** > zmienia je w bezobsługową aplikację paska menu dla macOS: uruchamia serwer, utrzymuje go przy życiu > po ponownym uruchomieniu systemu, aktualizuje go w miejscu i zapewnia dostęp do bieżącego budżetu tokenów jednym kliknięciem — **bez > pozostawiania otwartego okna terminala i bez konieczności pilnowania `npm install -g omniroute`.** Aplikacja została zbudowana przy użyciu [Tauri v2](https://v2.tauri.app/) (rdzeń w Rust tak mały, że mieści się w granicy błędu zaokrąglenia), zawiera własne podpisane środowisko uruchomieniowe Node 24 i zarządza należącą do aplikacji instalacją OmniRoute, dzięki czemu nigdy nie koliduje z Twoim globalnym `node`/`bun`. **Korzysta z Twojej istniejącej konfiguracji i bazy danych w `~/.omniroute/`** — jest to więc ten sam OmniRoute, którego już używasz, tylko w kapeluszu. 🎩
Co robiJak
🟢 Nadzoruje serwerUruchamia omniroute serve i przejmuje już działającą instancję zamiast ją duplikować
📊 Bieżące użycie w skróciePaski limitów dostawców, limity sesji i tygodniowe Claude z odliczaniem do ich zresetowania oraz zestawienie kosztów za 30 dni
🔄 Automatycznie aktualizuje w miejscuInstalacja etapowa, atomowa podmiana i wycofanie zmian w razie błędu — zawsze najnowsza wersja
🚀 Uruchamia przy logowaniuOpcjonalne uruchamianie przy logowaniu; tylko zasobnik, bez ikony w Docku
🩺 Diagnostyka i dziennikiDiagnostyka jednym kliknięciem i dostęp do dzienników serwera
```sh brew install --cask zoispag/tap/omniroute-tray ``` Wolisz pobrać plik? Pobierz najnowszy plik .dmg z sekcji Wydania. Kod źródłowy, zgłoszenia problemów i dokumentacja kompilacji znajdują się w repozytorium zoispag/omniroute-tray.
💛 Projekt społecznościowy autorstwa @zoispag — nie jest to oficjalne wydanie OmniRoute.

## 🔒 Prywatność i podejście local-first
Prywatność i podejście local-first — brama oraz warstwa sterowania OmniRoute działają na Twoim komputerze. Prompty są wysyłane do dostawcy nadrzędnego wybranego dla każdego żądania; OmniRoute nie dodaje żadnego hostowanego etapu przetwarzania promptów, a telemetria jest domyślnie wyłączona. Dane uwierzytelniające są szyfrowane w spoczynku za pomocą AES-256-GCM; mechanizmy kontroli obejmują zakresy kluczy API, filtrowanie adresów IP, limity szybkości, zabezpieczenia przed wstrzykiwaniem promptów, usuwanie nagłówków dostawców nadrzędnych, opcjonalną redakcję danych osobowych, oczyszczone komunikaty o błędach oraz lokalny dziennik audytowy SQLite. OmniRoute jest udostępniany na licencji MIT i może być hostowany samodzielnie. 📖 [Autoryzacja](docs/architecture/AUTHZ_GUIDE.md) · [Mechanizmy ochronne](docs/security/GUARDRAILS.md) · [Zgodność](docs/security/COMPLIANCE.md)
## 🔌 Pełny interfejs CLI + A2A i MCP
> Poza serwerem OmniRoute jest **pełnoprawnym centrum sterowania z wiersza poleceń**, oferującym **ponad 80 poleceń**, a także otwarte protokoły agentowe, dzięki którym agent AI może obsługiwać go **samodzielnie**. ### ⌨️ Prawdziwy interfejs CLI (nie tylko `start`) ```bash omniroute # uruchom bramę i panel (port 20128) omniroute chat # interaktywny klient czatu TUI (polecenia z ukośnikiem: /model /combo /skill /memory) omniroute setup # kreator pierwszej konfiguracji omniroute doctor # diagnozuj dostawców, porty i natywne zależności ``` ### 🛰️ Tryb zdalny — uruchom CLI tutaj, a OmniRoute na VPS-ie OmniRoute działa na serwerze? Steruj nim z laptopa za pomocą **tego samego CLI**. Zaloguj się raz przy użyciu tokena dostępu z określonym zakresem; od tej chwili każde polecenie będzie kierowane do zdalnej instancji. ```bash omniroute connect 192.168.0.15 # hasło → token z określonym zakresem, zapisany jako kontekst omniroute models list # ← wykonuje się na ZDALNYM serwerze omniroute configure codex # ← wybiera zdalny model i zapisuje lokalny profil Codex omniroute tokens create --name ci --scope read # utwórz tokeny o węższym zakresie dla innych maszyn omniroute contexts use default # ← przełącz z powrotem na lokalny serwer ``` Tokeny mają zakres `read` / `write` / `admin`; trasy uruchamiające procesy pozostają dostępne wyłącznie przez interfejs pętli zwrotnej. 📖 [Tryb zdalny](docs/guides/REMOTE-MODE.md)
Animowana prezentacja terminala demonstrująca CLI OmniRoute — omniroute providers list, omniroute combo list oraz omniroute health — przełączająca się między 86 poleceniami najwyższego poziomu: providers · oauth · keys · combo · nodes · models · cache · compression · cost · usage · quota · health · resilience · telemetry · logs · audit · mcp · a2a · cloud · memory · skills · eval · tunnel · backup · sync · webhooks · policy · pricing · translator · simulate …
### 🤝 Połącz agenta — a będzie samodzielnie sterować OmniRoute Udostępnij OmniRoute przez **MCP**, **A2A**, **REST API**, **webhooki** lub **zdalny CLI** — każdy odpowiednio wyposażony agent (lub Twój własny kod) uzyska dostęp do całej bramy: routingu, dostawców, kombinacji, pamięci podręcznej, kompresji i pamięci — autonomicznie. Poniższe punkty końcowe HTTP są dostępne pod adresem `http://localhost:20128`.
InterfejsPunkt końcowy / polecenieZastosowanie
🧰 MCP (stdio)omniroute --mcpIntegracja z Claude Desktop, Cursor lub dowolnym klientem MCP
🌊 MCP (HTTP)/api/mcp/streamZdalny MCP — 110 narzędzi, 33 zakresy (egzekwowanie opcjonalne), pełny dziennik audytowy
📡 MCP (SSE)/api/mcp/sseStrumieniowy transport MCP
🤝 A2A/.well-known/agent.jsonKomunikacja między agentami, JSON-RPC 2.0 + SSE, 6 umiejętności
🌐 REST API/v1/*Zgodność z OpenAI — czat, osadzenia, obrazy, dźwięk, OCR
🔔 Webhooki/api/webhooksWysyłanie zdarzeń żądań / limitów do Slacka, Discorda, Telegrama lub dowolnego adresu URL
🛰️ Zdalny CLIomniroute connect Sterowanie zdalną instancją za pomocą tokenów dostępu z określonym zakresem
```bash # Udostępnij Claude Code pełny zestaw narzędzi OmniRoute przez MCP: claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream ``` 📖 [Serwer MCP](docs/frameworks/MCP-SERVER.md) · [Serwer A2A](docs/frameworks/A2A-SERVER.md) · [Protokoły agentowe](docs/frameworks/AGENT_PROTOCOLS_GUIDE.md)
## 🗜️ Oszczędzaj 15–95% tokenów — automatycznie
### 📖 Jak to działa — potok, architektura i obliczanie oszczędności Potok kompresji OmniRoute: przykładowe żądanie klienta zawierające 10 000 tokenów przechodzi przez 12 komponowalnych silników — Session-Dedup, CCR, Lite, RTK, Responses Tool Output, Headroom, Relevance, Caveman, Aggressive, LLMLingua-2, Ultra i OmniGlyph — i w udokumentowanym przykładzie połączenia może dotrzeć do dostawcy z około 1080 tokenami. Zawartość strukturalna jest chroniona przez mechanizmy zachowania danych oraz bramki wierności na każdym etapie; jawnie włączone tryby stratne lub eksperymentalne mogą przekształcać kwalifikującą się zawartość. Domyślne połączenie uruchamia `RTK → Caveman`. Gdy oba mechanizmy przetwarzają ten sam ładunek narzędziowy lub kontekstowy, oszczędności się kumulują: ```txt combined = 1 − (1 − RTK) × (1 − Caveman_input) average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2% range = 78.4 – 94.6% ``` Bloki kodu, adresy URL, JSON i dane strukturalne są **zawsze chronione** przez silnik zachowania danych. > **Po co używać wielu tokenów, skoro wystarczy ich mniej?** Każde żądanie przechodzi przez potok kompresji OmniRoute **w sposób przezroczysty** — bez zmian po stronie klienta. Jest to obecnie **zestaw 12 komponowalnych silników**, które działają kolejno i można je dowolnie łączyć w poszczególnych kombinacjach routingu — bazując na pomysłach z projektów [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). ### 🧱 Zestaw 12 silników Silniki działają zgodnie z kolejnością w potoku; każdy można niezależnie włączać, wyłączać i konfigurować dla poszczególnych kombinacji:
#SilnikDziałanie
1Session-DedupUsuwa zawartość powtarzającą się między turami (adresowanie według zawartości, między turami)
2CCRArchiwizuje duże bloki za znacznikami pobierania, umożliwiając dostęp do nich na żądanie
3LiteUsuwa nadmiarowe białe znaki i adresy URL obrazów (lekki pod względem opóźnień wariant bazowy)
4RTKInteligentne filtrowanie, deduplikacja i skracanie wyników narzędzi (z uwzględnieniem poleceń)
5Responses Tool OutputKompresja JSON z priorytetem bezstratności oraz ograniczona kompresja danych diagnostycznych dla wyników powłoki, poprawek, wyszukiwania i kompilacji (Responses API)
6HeadroomBezstratne, tabelaryczne upakowanie tablic JSON (~30%) przy użyciu dołączonego kodeka GCF
7RelevanceEkstrakcyjna ocena zdań względem ostatniego zapytania użytkownika
8CavemanKompresja prozy oparta na regułach (~65–75% w danych wyjściowych)
9AggressivePodsumowywanie i stopniowe ograniczanie starszych tur
10LLMLingua-2Semantyczne przycinanie oparte na uczeniu maszynowym za pomocą MobileBERT ONNX — bezpieczne dla kodu, asynchroniczne
11UltraHeurystyczne przycinanie tokenów z opcjonalną warstwą małego modelu (SLM)
12OmniGlyphEksperymentalne kodowanie kontekstu jako obrazu dla zmierzonego Claude Fable 5 przy bezpośrednim połączeniu z Anthropic; transformatory GPT 5.6 pozostają domyślnie zablokowane do czasu otrzymania potwierdzeń od dostawcy. Cztery profile kompresji (domyślny agresywny, zrównoważony, bezpieczny dla kodu, bez przetwarzania) (najbardziej agresywny; wymaga jawnego włączenia)
Bloki kodu, adresy URL i dane strukturalne są **zawsze zachowywane** z dokładnością co do bajtu. **Ustawienia wstępne uruchamiane jednym kliknięciem** łączą silniki:
TrybOszczędnościNajlepsze zastosowanie
🪶 Lite~15%Bezpieślny domyślny tryb do stałego użycia
🪨 Standard (Caveman)~30%Codzienne programowanie
⚡ Aggressive~50%Długie sesje intensywnie korzystające z narzędzi
🔥 Ultra~75%Maksymalne oszczędności
🧰 RTK60–90%Dane wyjściowe powłoki, testów, kompilacji i git
🔗 Połączony (RTK → Caveman)78–95%Mieszane prompty i dzienniki narzędzi
**Rzeczywisty przykład — tryb Standard:** > **Przed (69 tokenów):** _„Powodem ponownego renderowania komponentu React jest prawdopodobnie tworzenie nowej referencji do obiektu w każdym cyklu renderowania. Gdy przekazujesz obiekt zapisany bezpośrednio w kodzie jako właściwość, płytkie porównanie React traktuje go za każdym razem jako inny obiekt, co wywołuje ponowne renderowanie. Zalecam użycie useMemo do zapamiętania obiektu.”_ > > **Po (19 tokenów):** _„Nowa referencja obiektu przy każdym renderowaniu. Obiekt zapisany bezpośrednio jako właściwość = nowa referencja = ponowne renderowanie. Użyj useMemo.”_ > > **Ta sama odpowiedź. O 72% mniej tokenów. Bez utraty dokładności.** ✅ **Przykład PT-BR — tryb [Troglodita](https://github.com/leninejunior/troglodita):** > **Przed (42 tokeny):** _„Problem polega na tym, że komponent renderuje się ponownie, ponieważ w każdym cyklu renderowania tworzona jest nowa referencja do obiektu. Zalecam użycie useMemo.”_ > > **Po (12 tokenów):** _„Ponowne renderowanie: nowa referencja w każdym cyklu (ponownie tworzony obiekt inline). Użyj `useMemo`.”_ > > **Ta sama odpowiedź. ~70% mniej tokenów. Precyzja techniczna zachowana.** ✅
### 🎚️ Więcej niż silniki — style wyjścia, adaptacyjne pokrętło i kontrola dla poszczególnych żądań 12 powyższych silników zmniejsza to, co trafia **na wejście**. Trzy kolejne warstwy określają **jak**, **kiedy** i co trafia **na wyjście**: - **🪄 Style wyjścia** _(sterowanie osią wyjścia)_ — wstrzykują deterministyczne, bezpieczne dla pamięci podręcznej instrukcje kształtowania odpowiedzi; można je łączyć, każdy z intensywnością `lite` / `full` / `ultra`. Dodanie stylu wymaga jednego wpisu w rejestrze: - **Zwięzła proza** — usuwa wypełniacze / rodzajniki / asekuracyjne sformułowania; zachowuje dokładność treści technicznej. - **Mniej kodu** — YAGNI w stylu „leniwego starszego programisty”: najmniejsza działająca zmiana, bez niezamawianej otoczki. - **Kucyk (leniwy starszy programista)** — wspina się po drabinie YAGNI, usuwa główną przyczynę, tworzy najmniejszy działający diff. - **Mam ADHD (najpierw działanie)** — zaczyna od następnego działania, numeruje kroki, podaje jeden konkretny kolejny krok, bez wstępu. - **Zwięzły CJK (文言)** — ultrazwięzły styl klasycznego języka chińskiego (ograniczony do ustawień regionalnych `zh`). - **🎯 Adaptacyjny budżet kontekstu** _(pokrętło)_ — zamiast pojedynczego progu tokenów typu włącz/wyłącz uruchamia najtańsze silniki o najmniejszych stratach tylko w zakresie niezbędnym, aby **zmieścić się w oknie kontekstowym modelu**. Zasada: `reserve-output` (domyślna, uwzględniająca model) · `percentage` · `absolute`. Tryb: `floor` (gwarantuje dopasowanie) · `replace-autotrigger` (Twój jawny wybór ma pierwszeństwo) · `off` (starszy próg). - **🎛️ Gdzie podejmowana jest decyzja o kompresji** _(kolejność pierwszeństwa, od najwyższego do najniższego)_ — nagłówek `x-omniroute-compression` dla żądania › nadpisanie kombinacji routingu › aktywny nazwany profil › adaptacja / automatyczne wyzwalanie › domyślne ustawienie panelu › wyłączone. Zastosowany plan jest zwracany w nagłówku odpowiedzi `X-OmniRoute-Compression: ; source=`. Ustaw automatyczne wyzwalanie według progu tokenów, włącz adaptacyjne pokrętło, przypnij nazwany profil, skonfiguruj jednorazowo dla konkretnego żądania albo przypisz potok do kombinacji routingu — wybierz rozwiązanie najlepiej pasujące do obciążenia. Opcjonalny, działający offline **zestaw ewaluacyjny** (`npm run eval:compression`) ocenia zgodność względem oszczędności na ustalonym korpusie, zanim wdrożysz zmianę. 📖 [`COMPRESSION_GUIDE.md`](docs/compression/COMPRESSION_GUIDE.md) · [`RTK_COMPRESSION.md`](docs/compression/RTK_COMPRESSION.md) · [`COMPRESSION_ENGINES.md`](docs/compression/COMPRESSION_ENGINES.md)
# ⚡ Szybki start
**1) Zainstaluj i uruchom** ```bash npm install -g omniroute omniroute ``` > 💡 Widzisz ostrzeżenia `npm warn ERESOLVE` lub dotyczące zależności równorzędnych? [Są nieszkodliwe](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated). > **Używasz npm 11 lub nowszego?** npm może blokować skrypty cyklu życia pakietów, jeśli nie zostały dozwolone. Skrypt `postinstall` OmniRoute (`node scripts/build/postinstall.mjs`) jest wymagany do przygotowania natywnych plików środowiska uruchomieniowego. Podczas instalacji globalnej zezwól na pakiety wymienione w ostrzeżeniu npm. Dla zestawu pakietów zgłaszanego przez OmniRoute 3.8.51: > > ```bash > npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute > ``` > > Aby ponownie używać tej listy dozwolonych pakietów podczas przyszłych instalacji globalnych, skonfiguruj ją jednorazowo, a następnie instaluj w zwykły sposób: > > ```bash > npm config set allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild --location=user > npm install -g omniroute > ``` > > Lista zależności może zmieniać się między wydaniami; jeśli npm zgłosi inną listę, użyj nazw pakietów z tego ostrzeżenia. Zezwolenie pakietowi umożliwia uruchamianie jego skryptów instalacyjnych. > **Używasz Gemini Web lub innego dostawcy korzystającego z plików cookie przeglądarki?** Pakiet npm zawiera > Playwright, ale nie zawiera jego pliku binarnego Chromium. Przed wysłaniem pierwszego żądania do dostawcy internetowego zapoznaj się z uwagą > [dotyczącą konfiguracji Chromium dla Playwright](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium). Panel pod adresem `http://localhost:20128` · API pod adresem `http://localhost:20128/v1`. **2) Połącz kwalifikującego się dostawcę przy użyciu własnego konta** Panel → **Dostawcy** → wybierz dostawcę, którego aktualne warunki i limit odpowiadają Twojemu zastosowaniu → dodaj jego klucz API lub ukończ proces logowania na konto. Bezpłatne plany mogą wymagać rejestracji, zatwierdzenia lub podania metody płatności. Zapoznaj się z [przewodnikiem po bezpłatnych planach](docs/getting-started/FREE-TIERS-GUIDE.md); dostępność bez klucza nie jest gwarantowana, a dostawcy oznaczeni jako `tos: avoid` są domyślnie wykluczeni z `auto`. **3) Skonfiguruj swoje narzędzie programistyczne** ```txt Bazowy URL: http://localhost:20128/v1 Klucz API: [skopiuj z Panel → Punkty końcowe] Model: auto (kieruje między kwalifikującymi się połączeniami — lub wybierz dostawcę/model) ``` **4) Sprawdź, czy działa** ```bash curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY" ``` Powinna zostać wyświetlona lista połączonych modeli. 🎉 To wszystko — zacznij programować, a OmniRoute będzie automatycznie kierować żądania i przełączać się na rozwiązania zapasowe. Jeśli klient nie może wysyłać niestandardowych nagłówków, OmniRoute udostępnia również tokenizowane aliasy zgodności: ```txt Katalog OpenAI: http://localhost:20128/vscode/YOUR_KEY/ Modele OpenAI: http://localhost:20128/vscode/YOUR_KEY/models Czat OpenAI: http://localhost:20128/vscode/YOUR_KEY/chat/completions Odpowiedzi OpenAI: http://localhost:20128/vscode/YOUR_KEY/responses Czat Ollama: http://localhost:20128/vscode/YOUR_KEY/api/chat Tagi Ollama: http://localhost:20128/vscode/YOUR_KEY/api/tags ``` Używaj ich tylko w przypadku klientów, którzy nie mogą dołączyć nagłówka `Authorization: Bearer ...`. Uwierzytelnianie za pomocą nagłówka pozostaje preferowanym trybem.
## 📦 Więcej metod instalacji — Docker, kod źródłowy, 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` wskazuje najwyższą **opublikowaną** stabilną wersję SemVer. Nie śledzi gałęzi git `main`. W przypadku GitOps przypnij `:X.Y.Z`. Zobacz [Kanały wydań Docker](docs/guides/DOCKER_GUIDE.md#release-channels).Obraz ustawia na stałe **`OMNIROUTE_MEMORY_MB=1024`**. To wystarcza dla panelu i lekkiego czatu. **Agenci programistyczni** (`POST /v1/responses` z Claude Code, Codex, Grok, …) wymagają znacznie większej sterty V8, w przeciwnym razie proces kończy się błędem `FATAL ERROR` przy około 12 GiB w przypadku dwóch nakładających się długich kontekstów. Przydziel kontenerowi więcej pamięci niż rozmiar sterty (bufory natywne znajdują się poza V8): | Obciążenie | Sterta (`-e OMNIROUTE_MEMORY_MB`) | Kontener (`--memory`) | | -------------------------------------- | --------------------------------- | --------------------- | | Panel / lekki czat | `1024` (domyślna wartość obrazu) | ≥2 g | | Jeden agent programistyczny | `8192` | ≥10 g | | Dwa równoczesne długie `/v1/responses` | `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 ``` Pełna tabela: [Przewodnik po Dockerze — pamięć RAM środowiska uruchomieniowego](docs/guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents). > **Kanał przedpremierowy Dockera:** `diegosouzapw/omniroute:next` oraz > `diegosouzapw/omniroute:next-web` śledzą bieżącą domyślną gałąź `release/v*`. > Te zmienne tagi są przeznaczone wyłącznie do testowania niewydanych poprawek i > **nie są obsługiwane w środowisku produkcyjnym**. Zobacz > [Kanały wydań Docker](docs/guides/DOCKER_GUIDE.md#release-channels). **🥟 Bun** Standardowe polecenie `bun install` oraz instalacja globalna (`bun install -g omniroute`) są obsługiwane dzięki wykrywaniu środowiska uruchomieniowego Bun: - **Wbudowany `bun:sqlite`**: podczas działania w środowisku Bun OmniRoute używa wbudowanego sterownika `bun:sqlite`, a w środowisku Node.js korzysta awaryjnie z `better-sqlite3` lub `sql.js`. - **Automatyczny wybór narzędzia pakującego Webpack w środowisku deweloperskim**: tryb deweloperski (`bun run dev`) automatycznie wykrywa Bun i wyłącza Turbopack na rzecz Webpack, aby zapobiec niezgodnościom natywnych powiązań V8. Kompilacje produkcyjne (`bun run build`) stosują `OMNIROUTE_USE_TURBOPACK` dokładnie tak samo jak w Node: domyślnie Turbopack, a `OMNIROUTE_USE_TURBOPACK=0` pozwala budować za pomocą Webpack (`Dockerfile.bun` udostępnia tę opcję jako `--build-arg`). - **Dedykowany plik Dockerfile dla Bun**: wieloetapowy `Dockerfile.bun` do natywnych wdrożeń produkcyjnych Bun (`docker build -f Dockerfile.bun -t omniroute:bun .`). ```bash # Zainstaluj i uruchom za pomocą Bun bun install bun run dev ``` **🛠️ Z kodu źródłowego** ```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 # Korzystanie z płatków Nix nix develop npm run dev # Lub korzystanie z devbox devbox run npm run dev ``` 📖 [Przewodnik po Dockerze](docs/guides/DOCKER_GUIDE.md) — profile Compose, HTTPS z Caddy, tunele Cloudflare. **🦭 Podman** ```bash # 1. Przygotuj katalog danych montowany przez dowiązanie mkdir -p data # 2. Tylko Linux + lokalny Podman bez roota (nigdy zdalny klient Podman Machine): podman unshare chown 1000:1000 ./data # 3. Ustaw wskazówkę dotyczącą środowiska uruchomieniowego, zbuduj lokalny obraz Compose i uruchom echo "CONTAINER_HOST=podman" >> .env podman compose --profile base up -d --build ``` W systemie macOS lub Windows Podman korzysta ze zdalnej maszyny Podman Machine: pomiń `podman unshare` i postępuj zgodnie z [instrukcjami dotyczącymi katalogu danych właściwymi dla danej topologii](contrib/podman/README.md#data-directory-permissions-by-topology). 📖 [Przewodnik po Podmanie](contrib/podman/README.md) — kompilacje Compose, Podman Machine oraz konfiguracja Quadlet dla Linux/systemd. **⚡ Szybsza / lżejsza instalacja (pominięcie kompilacji natywnej)** Natywny silnik SQLite (`better-sqlite3`) jest zależnością **opcjonalną**, dlatego instalacja globalna nigdy nie jest blokowana przez kompilację z kodu źródłowego: używa wstępnie skompilowanego pliku binarnego, gdy jest on zgodny z Twoją platformą/Node, a w przeciwnym razie w sposób przezroczysty przełącza się na silnik oparty wyłącznie na JS (`node:sqlite` w Node 22+, w innym przypadku dołączony `sql.js` WASM) — narzędzia kompilacyjne nie są wymagane. Aby całkowicie pominąć natywne przygotowanie po instalacji (CI, środowiska bez interfejsu graficznego lub wolne maszyny): ```bash OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # CI=1 również je pomija ``` Aby uzyskać najszybszą instalację, wybierz **pnpm** (magazyn adresowany zawartością + dowiązania twarde — patrz wyżej). Aby korzystać ze środowiska bez panelu i interfejsu graficznego, użyj profilu Docker `base` (powyżej) lub [przewodnika po Termux](docs/guides/TERMUX_GUIDE.md). Interfejs CLI i panel internetowy są obsługiwane przez ten sam proces na jednym porcie, dlatego obecnie nie istnieje osobny pakiet zawierający wyłącznie CLI.
# 🎬 OmniRoute w działaniu
## 📹 Poradniki wideo
Stan panelu na 2026-08-24 · Surowy katalog: YT 809 | TT 137 | IG 124 · Aktualność (dni): YT 1 | TT 21 | IG 22
Rolka na Instagramie
🎬 #1 — Instagram
nick_saraev — 3,042,474 wyświetlenia
Rolka na Instagramie — theopenstack
🎬 #2 — Instagram
theopenstack — 692,419 wyświetleń
TikTok — milesreevesai
🎬 #3 — TikTok
milesreevesai — 620,400 wyświetleń
YouTube — Vaibhav Sisinty
🎬 #4 — YouTube
Vaibhav Sisinty — 391,109 wyświetleń
Rolka na Instagramie — buildwithai.club
🎬 #5 — Instagram
buildwithai.club — 347,652 wyświetlenia
**Pełny ranking (zdeduplikowane kanoniczne adresy URL, `v > 0`, największy zasięg):** | #1 | #2 | #3 | #4 | #5 | | -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | | [nick_saraev — Instagram](https://www.instagram.com/reel/Da8ZthUPK98/) — **3,042,474** | [theopenstack — Instagram](https://www.instagram.com/reel/DaSs65mMrHk/) — **692,419** | [milesreevesai — TikTok](https://www.tiktok.com/@milesreevesai/video/7667980059189366019) — **620,400** | [Vaibhav Sisinty — YouTube](https://www.youtube.com/watch?v=QucgvbO5gsM) — **391,109** | [buildwithai.club — Instagram](https://www.instagram.com/reel/DbIt9AjK7-U/) — **347,652** | | #6 | #7 | #8 | #9 | #10 | | ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | | [nivedan.ai — Instagram](https://www.instagram.com/reel/DbIrCksJiqq/) — **331,973** | [vaibhavsisinty — Instagram](https://www.instagram.com/reel/Dae05TSAK1l/) — **263,744** | [Nick Automates — YouTube Shorts](https://www.youtube.com/shorts/fZIBK_4fKq8) — **218,174** | [theroshankrishna — Instagram](https://www.instagram.com/reel/Dapjs58z0P0/) — **186,786** | [midudev — TikTok](https://www.tiktok.com/@midudev/video/7664636453544152342) — **177,800** | Metryki kanoniczne na dzień 2026-08-24: **1.029 unikalnych filmów** · **11.132.922 znane wyświetlenia** (`v > 0`) · **639 kanałów/profili w poszczególnych sieciach**. Surowy panel zawiera 1.070 wierszy; 41 duplikatów z Instagrama znormalizowano na podstawie kanonicznego adresu URL, zachowując najwyższą liczbę dla każdego filmu. > 🎬 **Nagrałeś film o OmniRoute?** Otwórz [zgłoszenie](https://github.com/diegosouzapw/OmniRoute/issues/new) lub [dyskusję](https://github.com/diegosouzapw/OmniRoute/discussions) i dodaj link — umieścimy go tutaj.
# 📧 Społeczność i pomoc > Wszystko w jednym miejscu — obserwuj opiekuna projektu, rozmawiaj ze społecznością lub otwórz zgłoszenie. | Kanał | Gdzie / jak | | --------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | | 💼 **LinkedIn** — obserwuj opiekuna projektu | [linkedin.com/in/diegosouzapw](https://www.linkedin.com/in/diegosouzapw/) | | 🐙 **GitHub** — obserwuj, aby otrzymywać informacje o wydaniach i wskazówki | [@diegosouzapw](https://github.com/diegosouzapw) | | 💬 **Discord** | [discord.gg/U47eFqAXCn](https://discord.gg/U47eFqAXCn) | | ✈️ **Telegram** | [t.me/omnirouteOficial](https://t.me/omnirouteOficial) | | 🟢 **WhatsApp — 🌍 globalny** | [dołącz do grupy](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) | | 🟢 **WhatsApp — 🇧🇷 Brazylia** | [dołącz do grupy](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) | | 🌍 **Strona internetowa** | [omniroute.online](https://omniroute.online) | | 🌍 **🌍Społeczność StHub OmniRoute (bezpłatna)** | [portal StHub](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK) | | 📦 **Kod źródłowy** | [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) | | 🐛 **Zgłoś błąd** | [utwórz zgłoszenie](https://github.com/diegosouzapw/OmniRoute/issues) — dołącz dane wyjściowe polecenia `npm run system-info` | | 🤝 **Współtwórz projekt** | [CONTRIBUTING.md](CONTRIBUTING.md) · [Model gałęzi i wydań](docs/ops/BRANCHING_MODEL.md) · wybierz zgłoszenie z etykietą `good first issue` | | 💚 **Wesprzyj projekt** | [Sposoby wsparcia ↑](#-support-omniroute) · [GitHub Sponsors](https://github.com/sponsors/diegosouzapw) |
---
## 🛠️ Stos technologiczny
WarstwaTechnologia
Środowisko uruchomienioweNode.js 22.x / 24.x LTS — >=22.22.2 <23 || >=24.0.0 <27
JęzykTypeScript 6.0 — 100% TypeScript w src/ i open-sse/ (brak any w rdzeniu od v2.0)
FrameworkNext.js 16 + React 19 + Tailwind CSS 4
Baza danychbetter-sqlite3 (SQLite, rejestrowanie WAL) + LowDB (starszy format JSON) — 137 modułów domenowych, 202 migracje
PamięćWyszukiwanie pełnotekstowe SQLite FTS5 + 8-bitowo kwantyzowane osadzenia wektorowe, typowany zanik
SchematyZod 4 — walidacja wejścia/wyjścia narzędzi MCP + kontrakty API
ProtokołyMCP (stdio / HTTP / SSE) + A2A v0.3 (JSON-RPC 2.0 + SSE)
StrumieniowanieServer-Sent Events (SSE) + most WebSocket (/v1/ws)
KompresjaPotok obejmujący 12 silników — RTK, Caveman, LLMLingua-2 (MobileBERT ONNX), GCF, OmniGlyph
Uwierzytelnianie i bezpieczeństwoOAuth 2.0 (PKCE) + JWT + klucze API + uwierzytelnianie MCP z zakresami · AES-256-GCM dla danych w spoczynku · DOMPurify
Maskowaniewreq-js — podszywanie się pod odciski palca TLS JA3 / JA4, 3-poziomowe proxy
OdpornośćWyłącznik obwodu, wykładnicze ponawianie z opóźnieniem, ochrona przed efektem „thundering herd”, samonaprawiający się mechanizm auto-combo
Rejestrowaniepino — ustrukturyzowane logi JSON z kontekstem żądania
TestowanieModuł uruchamiający testy Node.js + Vitest — ponad 39 000 statycznych deklaracji testów w ponad 5100 śledzonych plikach testowych (testy jednostkowe, integracyjne, E2E, bezpieczeństwa i ekosystemu)
PlatformyKomputery stacjonarne (Electron) · Android (Termux) · PWA (dowolna przeglądarka)
CI/CDGitHub Actions — automatyczne publikowanie w npm i Docker Hub przy wydaniu
ŁączaWitryna internetowa · npm · Docker Hub

## 📖 Dokumentacja
### 📘 Pierwsze kroki
DokumentOpis
Podręcznik użytkownikaDostawcy, kombinacje, integracja z CLI, wdrażanie
Przewodnik konfiguracjiWszystkie metody instalacji, konfiguracje narzędzi CLI, konfiguracja protokołów, dostrajanie limitów czasu
Przewodnik po narzędziach CLIKonfiguracja poszczególnych narzędzi: Claude Code, Codex, Cursor, Cline, OpenClaw, Kilo i Copilot
Tryb zdalnySterowanie zdalnym OmniRoute (VPS) z poziomu CLI na laptopie za pomocą tokenów dostępu o ograniczonym zakresie
Konfiguracja Claude CodePołączenie Claude Code z OmniRoute (lokalnie/zdalnie) za pomocą launch i profili dla poszczególnych modeli
Szybki start3 kroki: instalacja → połączenie → konfiguracja
### 🔧 Obsługa i wdrażanie
DokumentOpis
Przewodnik po DockerzeDocker run, profile Compose, Caddy HTTPS, tunele, tagi obrazów
Przewodnik po PodmanieIntegracja Quadlet z systemd, podman-compose, SELinux
Wdrażanie na maszynie wirtualnejKompletny przewodnik: konfiguracja maszyny wirtualnej, nginx i Cloudflare
Wdrażanie na Fly.ioWdrażanie na Fly.io z trwałą pamięcią masową
Przewodnik po TermuxieUruchamianie OmniRoute na Androidzie za pomocą Termuxa
Przewodnik po PWAInstalacja progresywnej aplikacji internetowej, buforowanie, architektura
Przewodnik deinstalacjiPełne usuwanie dla wszystkich metod instalacji
Konfiguracja środowiskaKompletny opis zmiennych .env i odwołań
### 🧠 Funkcje i architektura
DokumentOpis
ArchitekturaArchitektura systemu, przepływ danych i mechanizmy wewnętrzne
Przewodnik po kompresjiProces z 7 opcjami: wyłączona / lekka / standardowa / agresywna / ultra / RTK / warstwowa
Kompresja RTKKompresja danych wyjściowych poleceń, filtry, zaufanie, weryfikacja, odzyskiwanie surowych danych wyjściowych
Mechanizmy kompresjiCaveman, RTK, procesy warstwowe, interfejsy panelu, API i MCP
Format reguł kompresjiSchematy pakietów reguł JSON dla filtrów Caveman i RTK
Pakiety językowe kompresjiWykrywanie języka i tworzenie pakietów reguł Caveman
Przewodnik po odpornościWyłączniki obwodu, okresy oczekiwania, kolejka, ochrona przed efektem „thundering herd”, podszywanie się pod TLS
Silnik Auto-ComboOcena na podstawie 16 czynników, pakiety trybów, samonaprawianie
Przewodnik po proxy3-poziomowy system proxy, platforma 1proxy, operacje CRUD rejestru
Darmowe poziomySkonsolidowany katalog: 35 udokumentowanych cyklicznych pul / 489 skatalogowanych pozycji bezpłatnego poziomu
Galeria funkcjiWizualna prezentacja panelu ze zrzutami ekranu
Dokumentacja bazy koduPrzystępne dla początkujących omówienie bazy kodu
### 🤖 Protokoły i API
DokumentOpis
Dokumentacja APIWszystkie punkty końcowe wraz z przykładami
Specyfikacja OpenAPISpecyfikacja OpenAPI 3.0
Serwer MCP110 narzędzi MCP, konfiguracje IDE, klienty Python/TS/Go
Przewodnik po serwerze MCPInstalacja MCP, mechanizmy transportu i dokumentacja narzędzi
Serwer A2AProtokół JSON-RPC 2.0, umiejętności, przesyłanie strumieniowe, zarządzanie zadaniami
Przewodnik po serwerze A2AKarta agenta A2A, zadania, umiejętności i przesyłanie strumieniowe
### 📋 Projekt i jakość
DokumentOpis
WspółtworzenieKonfiguracja środowiska programistycznego i wytyczne
Model gałęzi i wydańDo których gałęzi kierowane są PR-y (release/*) oraz co oznaczają main i tagi
Dziennik zmianPełna historia wydań dla każdej wersji
Polityka bezpieczeństwaZgłaszanie luk w zabezpieczeniach i praktyki w zakresie bezpieczeństwa
Przewodnik po i18nObsługa 42 języków, proces tłumaczenia, RTL
Lista kontrolna wydaniaEtapy weryfikacji przed wydaniem
Plan pokrycia testamiStrategia pokrycia testami dla ponad 39 000 statycznych deklaracji testów w ponad 5 100 śledzonych plikach testowych

# ⭐ Najważniejsi współtwórcy > OmniRoute jest kształtowany przez pełną pasji społeczność open source. Osoby te wniosły wyjątkowy wkład, który bezpośrednio wpływa na jakość, stabilność i zasięg projektu. **Dziękujemy.** ### Zewnętrzni współtwórcy według liczby scalonych pull requestów
MiejsceWspółtwórcaScalone PR-y~Zmienione wiersze
1backryun190227,977
2oyi77180407,678
3rdself14580,663
4JxnLexn128387,049
5KooshaPari101125,747
6herjarsa88230,872
7RaviTharuma7955,106
8maxmad64bis69394,715
9artickc5933,260
10HouMinXi5147,334
10chirag127515,153
12xz-dev50245,976
13hartmark4752,185
14rqzbeh39143,181
15dhaern3419,559
16Dingding-leo331,986
17NomenAK3213,854
18MumuTW3016,953
19benzntech2911,641
20pacocartones249,331
20Prudhvivuda246,312
Stan zamrożony na najnowszym zatwierdzeniu dafb4ae808 aktywnej gałęzi release/v3.8.50, z uwzględnieniem scaleń do 2026-08-24 05:26:03 UTC. Stronicowany spis GitHub GraphQL obejmuje 5 911 scalonych PR-ów: 2 707 autorstwa właściciela repozytorium, 179 autorstwa Dependabot oraz 3 025 zewnętrznych PR-ów od 535 różnych współtwórców. „Zmienione wiersze” to suma wierszy dodanych i usuniętych według GitHub, obejmująca wygenerowane pliki, pliki blokad, katalogi, tłumaczenia i dokumentację; jest to miara skali zmian, a nie liczba wierszy kodu autorstwa danej osoby. Remisy na granicy zestawienia zostały zachowane. ### Commity przypisane przez GitHub
backryun
backryun

🥇 220 commitów przypisanych przez GitHub
Paijo
Paijo

🥈 219 commitów przypisanych przez GitHub
Randi
Randi

🥉 108 commitów przypisanych przez GitHub
Ravi Tharuma
Ravi Tharuma

🏅 81 commitów przypisanych przez GitHub
Chris
Chris

🏅 70 commitów przypisanych przez GitHub
Markus Hartung
Markus Hartung

🏅 69 commitów przypisanych przez GitHub · ex aequo na 6. miejscu
Dizzle
Dizzle

🏅 69 commitów przypisanych przez GitHub · ex aequo na 6. miejscu
Jan Leon
Jan Leon

🏅 64 commity przypisane przez GitHub
zenobit
zenobit

🏅 62 commity przypisane przez GitHub
Bob.Hou
Bob.Hou

🏅 51 commitów przypisanych przez GitHub · ex aequo na 10. miejscu
Xiangzhe
Xiangzhe

🏅 51 commitów przypisanych przez GitHub · ex aequo na 10. miejscu
Sprawdzono ponownie 2026-08-24 06:14:31 UTC: commity przypisane przez GitHub, zgłoszone przez interfejs Contributors API repozytorium dla domyślnej gałęzi release/v3.8.50. API zwróciło 525 tożsamości (415 użytkowników, 2 boty, 108 anonimowych); ta tabela nie uwzględnia opiekuna projektu, botów ani anonimowych tożsamości i zachowuje miejsca ex aequo. Różni się zarówno od powyższego rankingu scalonych PR-ów, jak i poniższego spisu 639 osób opartego na metadanych Git. > 🙏 Funkcje, poprawki błędów i ulepszenia infrastruktury wprowadzone przez tych współtwórców stanowią **kluczową część** tego, co czyni OmniRoute niezawodnym i bogatym w funkcje. Każdy pull request, każdy przypadek testowy i każdy plik tłumaczenia i18n ma znaczenie. Otwarte oprogramowanie jest tworzone przez ludzi takich jak oni.
---
## 💖 Sponsorzy
Serdeczne podziękowania dla osób, które finansują OmniRoute z własnej kieszeni — każda wpłata pomaga utrzymać projekt bezpłatnym, niezależnym i stale rozwijanym.
Andrew
Andrew

💛 Aktywny comiesięczny sponsor
Vlad I
Vlad I

💛 Aktywny comiesięczny sponsor
Paco Cartones
Paco Cartones

💛 Aktywny jednorazowy sponsor
Professor Igor Morais Vasconcelos
Prof. Igor Morais

💛 Były jednorazowy darczyńca
longtao
longtao

💛 Były jednorazowy darczyńca
… oraz inni, którzy wolą zachować anonimowość 💛 Publiczni sponsorzy w GitHub Sponsors zostali ponownie zweryfikowani 2026-08-24. Status activeOnly w serwisie GitHub określa powyższe oznaczenia aktywności; wcześniej ujawnieni publiczni jednorazowi darczyńcy nadal są uwzględniani w podziękowaniach, a prywatni sponsorzy pozostają anonimowi. 💖 Zostań sponsorem → — każdy dolar pomaga utrzymać OmniRoute bezpłatnym i niezależnym.

## 👥 Ponad 600 współtwórców
[![Współtwórcy](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=639&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) Audyt przeprowadzono 2026-08-24 na zamrożonej bazie ac02c5b42f, a następnie ponownie sprawdzono na bieżącym wierzchołku release/v3.8.50 dafb4ae808: 639 znormalizowanych tożsamości osób w Git — 407 występuje jako autorzy commitów (w tym opiekun projektu), a 232 wyłącznie w jawnych stopkach Co-authored-by. Spis normalizuje nazwy użytkowników GitHub noreply, wyklucza 26 tożsamości botów, agentów, usług i symboli zastępczych oraz nie scala zwykłych adresów e-mail wyłącznie dlatego, że powiązane z nimi nazwy wyświetlane są identyczne. ### Jak wnieść wkład 1. Utwórz fork repozytorium 2. Utwórz gałąź na podstawie **aktywnego** wierzchołka `release/vX.Y.Z` (nie `main`) — zobacz [Model gałęzi i wydań](docs/ops/BRANCHING_MODEL.md) 3. Utwórz swoją gałąź funkcji (`git checkout -b feat/amazing-feature`) 4. Zatwierdź zmiany (`git commit -m 'feat: add amazing feature'`) 5. Wypchnij zmiany do gałęzi (`git push origin feat/amazing-feature`) 6. Otwórz Pull Request, ustawiając **base = tę gałąź `release/vX.Y.Z`** Szczegółowe wytyczne znajdziesz w pliku [CONTRIBUTING.md](CONTRIBUTING.md). ### Wydawanie nowej wersji ```bash # Utwórz wydanie — publikacja npm nastąpi automatycznie VERSION=x.y.z gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes ```
## 📊 Gwiazdki Wykres historii gwiazdek
## 🌍 StarMapper StarMapper

## 🙏 Podziękowania
OmniRoute stoi na ramionach gigantów. Projekt powstał jako fork **[9router](https://github.com/decolua/9router)** oraz port napisanego w Go projektu **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** do TypeScriptu — a od tego momentu każdy z poniższych podsystemów był inspirowany projektem open source, który przecierał szlaki. Każdy z nich ukształtował konkretną część OmniRoute. W ten sposób pragniemy podziękować im wszystkim. 🙏 > ⭐ liczba gwiazdek została zweryfikowana za pomocą interfejsu REST API GitHuba 24 sierpnia 2026 r. — przyznaj gwiazdkę tym projektom. Podane wartości stanowią dokładny obraz z tego dnia i z czasem będą się oczywiście zmieniać. ### 🧬 Pochodzenie i brama
Projekt⭐Jak zainspirował OmniRoute
9router26,161Oryginalny projekt, na którym oparto ten fork — rozszerzony tutaj o wielomodalne interfejsy API i w pełni przepisany w TypeScript.
CLIProxyAPI48,497Implementacja w Go, która zainspirowała ten port do JavaScript / TypeScript.
LiteLLM57,100Brama AI, której publiczny zbiór danych cenowych zasila naszą synchronizację śledzenia kosztów i której model normalizacji dostawców wpłynął na nasz mechanizm routingu.
codex-chatgpt-web1,410Źródła na licencji MIT zaadaptowane we wbudowany most ChatGPT Web → Codex Responses, obejmujący adaptery sesji przeglądarki, ramkowania odpowiedzi, użycia i wyszukiwania w sieci.
free-claude-code48,112Wzorce przeniesione do odzyskiwania strumieni, aliasów bez myślenia, awaryjnego wyszukiwania w sieci, limitów opartych na oknie przesuwnym, redagowania dzienników i wzmocnionych mechanizmów uruchamiania.
composer-api322Wzorce wyboru narzędzi, ograniczeń danych wyjściowych i zatwierdzania narzędzi z Cursor Composer, zaadaptowane do natywnego modułu wykonawczego Cursor.
codex-multi-auth457Wzorce ponownego logowania i rotacji tokenów odświeżania przeniesione do ponownego uwierzytelniania Codex OAuth.
opencode-anthropic-auth510Domyślne transformacje zgodne z Claude Code oraz obsługa nagłówków rozliczeniowych, uogólnione w sterowanym konfiguracją moście OmniRoute.
grok2api-merged2Mapowania modeli Grok, generator Statsig imitujący TypeError, domyślne ustawienia żądań i urządzeń oraz procesor odpowiedzi NDJSON zostały w znacznym stopniu zaadaptowane do modułu wykonawczego Grok Web w OmniRoute.
TQZHR/grok2api705Główne pośrednie źródło kodu stojące za grok2api-merged; jego implementacje modeli, nagłówków, ładunków, Statsig i procesorów zostały zachowane w linii pochodzenia Grok Web.
chenyme/grok2api7,520Bazowe źródło na licencji MIT dla domyślnych ustawień ładunków i urządzeń Grok, generatora Statsig oraz procesora result.response, przeniesionego za pośrednictwem TQZHR i grok2api-merged.
grok2api-pro27Pośrednie źródło wskazane przez grok2api-merged jako podstawa warstwy puli serwerów proxy; OmniRoute zachowuje informację o tym pochodzeniu, ale nie deklaruje przeniesienia puli proxy do swojego modułu wykonawczego Grok Web o ograniczonym zakresie.
GrokProxy50Jego serwer proxy Grok uwierzytelniany za pomocą plików cookie oraz wzorzec strumieniowania result.response.token wpłynęły na warstwę transportową Grok Web w OmniRoute.
GrokBridge5Pierwotna implementacja Grok Web opierała się na jego projekcie komunikacji nadrzędnej HTTP/przeglądarka; bezpośrednia ścieżka HTTP wywodzi się z GrokProxy, dlatego nie deklaruje się niezależnego przeniesienia kodu.
grok-web-api14Schematy Rust ChatOptions i obwiedni odpowiedzi wpłynęły na typy żądań Grok i odpowiedzi strumieniowych w TypeScript w OmniRoute.
### 🗜️ Kompresja kontekstu i tokenów — silniki
Projekt⭐Jak zainspirował OmniRoute
Caveman100,538Popularny projekt „po co używać wielu tokenów, gdy kilka tokenów wystarczy” — jego filozofia jaskiniowej mowy stanowi podstawę naszego standardowego trybu kompresji oraz ponad 30 reguł usuwania wypełniaczy i kondensacji treści.
RTK – Rust Token Killer77,185Wydajna kompresja danych wyjściowych poleceń — zainspirowała nasz silnik RTK, język DSL filtrów JSON, odzyskiwanie surowych danych wyjściowych oraz połączony potok RTK → Caveman.
headroom67,310Odwracalna kompresja kontekstu (SmartCrusher) — zainspirowała nasz silnik headroom oraz wzorzec znaczników pobierania ccr.
LLMLingua6,598Badania nad kompresją promptów (LLMLingua / LLMLingua-2) — zainspirowały nasz asynchroniczny, bezpieczny dla kodu silnik llmlingua, który w razie błędu przepuszcza dane bez zmian.
llmlingua-2-js31Port JS/ONNX (MobileBERT / XLM-RoBERTa) używany jako zaplecze wątku roboczego naszego silnika LLMLingua.
Troglodita40Kompresja tokenów dla pt-BR — napędza nasz pakiet językowy pt-BR: redukcję pleonazmów i usuwanie wypełniaczy dostrojone do gramatyki brazylijskiej odmiany języka portugalskiego.
ponytail108,957Popularna umiejętność kodowania YAGNI „leniwego starszego programisty” — zainspirowała nasz styl wynikowy less-code: ukierunkowanie na najmniejszą działającą zmianę, które ogranicza ilość _generowanego_ kodu (odpowiednik zwięzłej prozy Cavemana po stronie danych wyjściowych).
i-have-adhd23,526Jego zorientowany na działanie, przyjazny osobom z ADHD styl odpowiedzi został zaadaptowany jako zwięzły styl wynikowy OmniRoute w pięciu językach.
### 🧩 Kompaktowe formaty, badania nad tokenami i narzędzia uwzględniające kod
Projekt⭐Jak zainspirował OmniRoute
TOON25,233Token-Oriented Object Notation — jego kolumnowy model z nagłówkiem i wierszami ukształtował nasz etap kompakcji tabelarycznej.
GCF – Graph Compact Format41Jego kompaktowy format grafów i projekt profilu ogólnego wpłynęły na kompakcję tabelaryczną OmniRoute oraz format kodeka Headroom.
gcf-typescript4Implementacja w TypeScript na licencji MIT, bezpośrednio dołączona do kodu źródłowego i rozszerzona jako kodek profilu ogólnego Headroom.
token-optimizer-mcp494Pamięć podręczna Brotli/SQLite oraz różnicowy kontekst dla każdej sesji — zainspirowały nasz silnik session-dedup.
token-savior1,122Kompakcja danych wyjściowych Bash i profile MCP — zainspirowały naszą zasadę rezygnacji z kompresji oraz redukcję manifestów narzędzi MCP.
token-saver138Kompresja danych wyjściowych zależna od zawartości i typu pliku, z rezygnacją uwzględniającą błędy — potwierdziła trafność naszego kierowania według typu i pomijania kompresji przy zbyt małym zysku.
token-optimizer1,951„Znajdź tokeny-widma” — zastosowany wzorzec przenoszenia danych poza kontekst i odzyskiwalnych uchwytów wpłynął na naszą koncepcję odciążania CCR.
TokenMizer28Schemat grafu sesji i deduplikacji wierszy między turami, który wpłynął na projekt naszego mechanizmu session-dedup.
OmniCompress3Kolumnowy JSON w Rust, pobieranie adresowane zawartością oraz deduplikacja między wiadomościami — potwierdziły trafność projektu naszych silników headroom/ccr/session-dedup oraz niezmiennika stabilności pamięci podręcznej „skompresowana postać jest niezależna od położenia”.
mcp-compressor113Kompresja schematów i opisów narzędzi MCP — wpłynęła na naszą redukcję liczności manifestów narzędzi MCP.
RepoMapper197Ranking map repozytoriów w stylu Aider — wpłynął na nasze badania nad mapami repozytoriów i rankingiem wyszukiwania.
quiet-shell-mcp4Deklaratywna redukcja danych wyjściowych powłoki za pośrednictwem MCP — potwierdziła trafność naszej deklaratywnej kompakcji danych wyjściowych Bash.
ts-morph6,162Zestaw narzędzi TypeScript Compiler API — zainspirował nasze oparte na parserze usuwanie komentarzy, które zachowuje literały łańcuchowe, szablonowe i wyrażeń regularnych.
### 🧠 Pamięć i RAG
Projekt⭐Jak zainspirował OmniRoute
Mem063,902Uniwersalna warstwa pamięci — jej model proxy jako granicy zapisu i odczytu ukształtował naszą architekturę pamięci.
Letta (MemGPT)24,382Agenci stanowi z pamięcią warstwową — zainspirowali nasz warstwowy model kontroli i odzyskiwania kontekstu (CCR).
WFGY1,781Taksonomia ProblemMap obejmująca 16 powtarzających się trybów awarii RAG/LLM — wspólne słownictwo używane w naszym przewodniku rozwiązywania problemów.
### 🛰️ Inspekcja ruchu, MITM i transparentne proxy
Projekt⭐Jak zainspirował OmniRoute
llm-interceptor66Przechwytywanie i analiza MITM ruchu między asystentem programistycznym a LLM wpłynęły na wczesne wymagania dotyczące Inspektora ruchu. Cztery wcześniej opracowane moduły — scalanie SSE, normalizacja konwersacji, maskowanie sekretów i oczyszczanie nagłówków — zostały zastąpione niezależnymi implementacjami typu clean-room, opartymi na publicznych standardach protokołów. Dwa mechanizmy przekazywania ruchu hosta (passthrough.ts i _internal/bypass.cjs) pozostają wewnętrznymi implementacjami OmniRoute, sklasyfikowanymi niezależnie; nie zostały przepisane w ramach tej wymiany.
ProxyBridge5,995Transparentne kierowanie ruchu proxy dla poszczególnych procesów — zainspirowało nasz odporny na awarie mechanizm zamykania MITM, limity czasu bezczynności gniazd, przypisywanie procesów za pomocą /proc oraz przechwytywanie TPROXY.
### 📚 Dane modeli, obserwowalność i interfejs użytkownika
Projekt⭐Jak zainspirował OmniRoute
models.dev6,555Otwarta baza specyfikacji, cen i możliwości modeli AI — synchronizowana natywnie z naszym katalogiem modeli.
React Flow / xyflow38,108Biblioteka grafów opartych na węzłach, która obsługuje nasze działające w czasie rzeczywistym Compression Studio i Combo/Routing Studio.
LangGraph40,314Wizualizacja grafu przepływu pracy na żywo w LangGraph Studio zainspirowała widok kaskady w czasie rzeczywistym w naszych Studiach.
Langfuse33,592Model obserwowalności „ślad → zakres → generowanie” ukształtował wykres kaskadowy w naszym Compression Studio.
Kiali3,631Obserwowalność siatki usług Istio — zainspirowała nasze oznaczenia wyłączników obwodu i wizualizacje krawędzi błędów w Routing/Combo Studio.
lobe-icons2,428Logotypy marek AI/LLM używane do wyświetlania ikon dostawców w całym naszym panelu.
flag-icons12,354Dostarcza flagi SVG na licencji MIT używane przez selektor języka w pliku README.
### 🛡️ Bezpieczeństwo
Projekt⭐Jak zainspirował OmniRoute
awesome-secure-defaults721Starannie dobrana lista bibliotek domyślnie zapewniających bezpieczeństwo, która ukierunkowuje nasze wybory w zakresie zabezpieczeń (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink).
### 🧭 Narzędzia uzupełniające
Projekt⭐Jak zainspirował OmniRoute
ClawRouter6,564Zainspirował deduplikację żądań, awaryjny bezkosztowy mechanizm zastępczy, wymienne strategie Auto-Combo i wielojęzyczną klasyfikację intencji.
Antigravity-Manager30,652Mechanizm ponownego mapowania modeli z uwzględnieniem kont, walidacja ścieżek plików wykonywalnych oraz sposób działania etykiet planów wpłynęły na środowisko wykonawcze Antigravity w OmniRoute.
vscode-antigravity-cockpit4,817Jego kompaktowy format odliczania do wyzerowania limitu zainspirował odpowiedni sposób wyświetlania limitów dostawców w OmniRoute.
AionUi32,230Jego integracje ACP zainspirowały automatyczne wykrywanie zainstalowanych agentów CLI w OmniRoute.
CodexBar20,507Zidentyfikował mechanizm limitów Grok Build; następnie OmniRoute niezależnie zweryfikował i skorygował bieżący format danych przesyłanych przez sieć.
## 📄 Licencja Licencja MIT — szczegółowe informacje znajdziesz w pliku [LICENSE](LICENSE). ---
**[⬆ Powrót na górę](#-omniroute)** · Stworzone z ❤️ dla społeczności open source zajmującej się AI. OmniRoute v3.8.52 · Node ≥22.22.2 · Licencja MIT · omniroute.online