# 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 — darmowa brama AI OmniRoute — Nigdy nie przestawaj programować. Każde narzędzie AI → 375 dostawców — ponad 150 bezpłatnych — za pośrednictwem jednego punktu końcowego. Claude Code, Codex, Cursor, Cline, Copilot i Antigravity z dostępem do DARMOWYCH modeli Claude / GPT / Gemini oraz automatycznym przełączaniem awaryjnym. Łączona kompresja RTK + Caveman pozwala zaoszczędzić 15–95% tokenów (średnio ~89%) — nigdy nie przekraczaj limitów. 375 dostawców AI · ponad 150 bezpłatnych planów · ~1,62 mld darmowych tokenów/mies. · 20 strategii routingu · 0 USD na start.
## 💰 ~1,62 mld tokenów / miesiąc z darmowych planów zewnętrznych dostawców
> **Używaj własnych kont dostawców.** To szacunkowa suma łączna z osobno kwalifikujących się darmowych planów zewnętrznych dostawców, a nie przydział tokenów od OmniRoute. Zarejestruj się, uzyskaj dane uwierzytelniające, jeśli są wymagane, i podłącz dostawców, których możesz używać; każdy dostawca sam kontroluje swoje limity, dostępność i warunki. > > Ręczne łączenie darmowych planów jest uciążliwe — dziesiątki SDK, dziesiątki limitów szybkości i brak pojęcia, ile faktycznie masz. OmniRoute kataloguje **467 wpisów darmowych planów w 34 powtarzających się kluczach pul** i oblicza nagłówek tokenów na podstawie **17 pul z opublikowanym dodatnim miesięcznym budżetem oraz pięciu limitów Groq na model**, z deduplikacją według wspólnej puli. Limity, które otwierają się dopiero po regionalnej weryfikacji tożsamości (obecnie: ModelScope), są pokazywane osobno, +~6M po regionalnej weryfikacji tożsamości, i nigdy nie są wliczane do nagłówka. Wynik pozostaje widoczny na pulpicie (`/dashboard/free-tiers`). OmniRoute free-tier budget card: ~1.62B free tokens per month steady, up to ~2.22B in the first month with signup credits, from 34 documented recurring pool keys covering 467 cataloged free-tier entries behind one endpoint. Honest pool-deduped math — each shared pool counted once, including 17 recurring pools with a published positive monthly token budget plus five per-model Groq caps; 12 providers are marked avoid in the terms-risk catalog so you decide. Budget bar includes Mistral 1B, Nara 210M, LLM7 150M, xKiro 150M, Groq 30M (five per-model caps) and smaller pools, plus first-month signup credits and permanently-free no-token-cap providers surfaced separately so they never inflate the headline. Live used/remaining on /dashboard/free-tiers. > Animowane podsumowanie bieżącej strony `/dashboard/free-tiers`. Pełna metodologia (deduplikacja pul, progi kredytów, warunki dostawców): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**. > > Te liczby są ponownie audytowane co dwa tygodnie względem bieżącego katalogu i **zmieniają się w obie strony** — dostawca kończy darmowy plan i liczba spada; pojawia się nowy i rośnie. Publikujemy to, co katalog faktycznie wylicza, nigdy zaokrąglony w górę najlepszy scenariusz.

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

[![Stars](https://img.shields.io/github/stars/diegosouzapw/OmniRoute?style=social)](https://github.com/diegosouzapw/OmniRoute) diegosouzapw%2FOmniRoute | Trendshift [![Star History Rank](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 maintainera — poznaj nowych dostawców, wydania i wskazówki jako pierwszy:** [![Follow Diego on 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/) [![Follow @diegosouzapw on GitHub](https://img.shields.io/github/followers/diegosouzapw?style=for-the-badge&logo=github&logoColor=white&label=Follow%20on%20GitHub&color=181717)](https://github.com/diegosouzapw) [![Discord](https://img.shields.io/badge/Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/U47eFqAXCn) [![Telegram](https://img.shields.io/badge/Telegram-26A5E4?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/omnirouteOficial) [![WhatsApp Global](https://img.shields.io/badge/WhatsApp_Global-25D366?style=for-the-badge&logo=whatsapp&logoColor=white)](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) [![WhatsApp Brasil](https://img.shields.io/badge/WhatsApp_Brasil-25D366?style=for-the-badge&logo=whatsapp&logoColor=white)](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) [![Website](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 działania i wsparcie → [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)**
## 📈 Brama stale się rozwija
| | v3.8.50 | **v3.8.51** | `v3.8.53+` | | --------------------------------------- | :-----------------------: | :---------: | :-------------------: | | 🌐 Dostawcy | 352 | **358** | 375 | | 🧠 Unikalne identyfikatory modeli czatu | 1320 | **1374** | 1475 | | 🖼️ Most modalności | 🆕 obraz + dźwięk + wideo | ✓ | ✓ | | 📡 Bezpłatny katalog Radar | 🆕 opcjonalny | ✓ | ✓ | | ⚖️ Planowanie z uwzględnieniem limitów | 🆕 Współdzielenie limitów | ✓ | ✓ | | 📊 Telemetria limitów | 🆕 na żywo | ✓ | ✓ | | 🧰 Tryb headless | — | — | 🆕 `serve --headless` | | 🛤️ Infrastruktura toru LTS | — | — | 🆕 kanały wydań | | 🔎 API wykrywania modeli | — | — | 🆕 `/v1/models/query` | **→ [Plan rozwoju](ROADMAP.md) — podążając torem 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 z Dockera](https://img.shields.io/docker/pulls/diegosouzapw/omniroute?label=docker%20pulls&logo=docker&color=2496ED) ![Pobrania Electron](https://img.shields.io/github/downloads/diegosouzapw/omniroute/total?style=flat&label=electron%20downloads&logo=electron&color=47848F)
🚀 Start 🚀 Szybki start 📦 Instalacja 🆓 Podłącz dostawcę
💡 Poznaj 💥 Obietnica 🤔 Dlaczego OmniRoute 🏆 Co wyróżnia OmniRoute
⚙️ Funkcje 🎯 Kombinacje 🌐 Dostawcy 🔌 CLI i MCP
🗜️ Kompresja 🖥️ Gdzie działa 🔒 Prywatność
👀 Zobacz 🎬 W działaniu ✨ Co nowego 🤖 Zgodne narzędzia CLI
💚 Wsparcie 💚 Wsparcie / darowizna 💬 Społeczność 💖 Sponsorzy
📦 Projekt 🛠️ Stos technologiczny 📖 Dokumentacja 👥 Współtwórcy
🌐 W 67 językach

Angielski (en) Português — Brasil (pt-BR) Português (pt) Español (es) Français (fr) Italiano (it) Deutsch (de) Nederlands (nl) Русский (ru) Українська (uk-UA) Polski (pl) Čeština (cs) Slovenčina (sk) Română (ro) Magyar (hu) Български (bg) Dansk (da) Suomi (fi) Norsk (no) Svenska (sv) 中文 — 简体 (zh-CN) 中文 — 繁體 (zh-TW) 日本語 (ja) 한국어 (ko) ไทย (th) Tiếng Việt (vi) Bahasa Indonesia (id) Bahasa Melayu (ms) Filipino (phi) हिन्दी (hi) ગુજરાતી (gu) मराठी (mr) தமிழ் (ta) తెలుగు (te) বাংলা (bn) اردو (ur) فارسی (fa) العربية (ar) עברית (he) Türkçe (tr) Azərbaycan (az) Kiswahili (sw) Ελληνικά (el) Hrvatski (hr) Српски (sr) Lietuvių (lt) Eesti (et) Latviešu (lv) Slovenščina (sl) Malti (mt) Gaeilge (ga) ಕನ್ನಡ (kn) മലയാളം (ml) ଓଡ଼ିଆ (or) ਪੰਜਾਬੀ (pa) नेपाली (ne) සිංහල (si) မြန်မာ (my) ខ្មែរ (km) Hausa (ha) Yorùbá (yo) Igbo (ig) አማርኛ (am) Oʻzbekcha (uz) ქართული (ka) Հայերեն (hy) Bosanski (bs)


## 🆓 Zainstaluj, podłącz dostawcę, a następnie kieruj ruch przez jeden endpoint
Trzy kroki: zainstaluj i uruchom OmniRoute, podłącz kwalifikującego się dostawcę z własnym kontem lub kluczem API, a następnie skieruj swoje narzędzie na localhost:20128/v1, używając klucza API OmniRoute i modelu auto. Routing zależy od dostępnych kwalifikujących się połączeń i limitów dostawcy. ```bash # Po podłą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ę celów bezkluczowych, a dostawca bezkluczowy może odrzucać klientów zewnętrznych. Dostawcy oznaczeni `tos: avoid`, w tym Kiro, są domyślnie wykluczeni z automatycznego routingu; podłączenie konta nie zmienia tego ustawienia. Zajrzyj do [Free Tiers Guide](docs/getting-started/FREE-TIERS-GUIDE.md) przed wyborem dostawcy. 📦 Gotowe do skopiowania skrypty quickstart dla **Python, Node.js, PHP i cURL** → [`examples/quickstart/`](examples/quickstart/)
# 💥 Obietnica
Obietnica — jeden endpoint i 375 dostawców. Automatyczny fallback utrzymuje routing, dopóki dostępny jest inny zdrowy cel. Sześć filarów: odporny fallback na 375 dostawcach · do 95% oszczędności tokenów w kwalifikujących się obciążeniach · start za $0 z ponad 150 darmowymi planami i 51 dostawcami z cyklicznym/bezkluczowym darmowym dostępem na zawsze · 37 integracji CLI/agentów przez jedną konfigurację · zgodność z OpenAI, Claude, Gemini i Responses API na /v1 · mechanizmy produkcyjne, w tym circuit breakery, TLS stealth, MCP 110 narzędzi, A2A, pamięć, guardrails, ewaluacje i ponad 56 000 statycznych deklaracji testowych w ponad 7800 śledzonych plikach testowych.

# 🤔 Dlaczego OmniRoute?
Dlaczego OmniRoute — przestań żonglować 10 pulpitami, martwymi kluczami API i niespodziewanymi rachunkami. Dziesięć codziennych bolączek kontra rozwiązania: limit wygasa niewykorzystany → maksymalne wykorzystanie subskrypcji; limity zapytań w trakcie kodowania → 4-poziomowy auto-fallback (Subskrypcja → API → Tanie → Darmowe); wyniki narzędzi palące tokeny → kompresja RTK + Caveman (15–95%); drogie API → routing zoptymalizowany kosztowo; każde narzędzie z własną konfiguracją → jeden endpoint, jeden pulpit; AI zablokowane → 3-poziomowe proxy + TLS stealth; martwe klucze → 3-warstwowa odporność (circuit breakery, cooldown kluczy, blokada modelu); zespół dzielący jedną subskrypcję → pule kluczy z kwotami fair-share; prompty przechodzące przez czyjąś chmurę → podejście local-first z kluczami szyfrowanymi AES-256-GCM; brak widoczności wydatków → analityka na żywo (użycie, limity, oszczędności, opóźnienie p95).
Przepływ żądania w OmniRoute: Twoje IDE lub CLI (Claude Code, Cursor, Cline…) wywołuje jeden lokalny endpoint (http://localhost:20128/v1); OmniRoute Smart Router (kompresja RTK + Caveman, 20 strategii routingu, circuit breakery, TLS stealth, MCP, A2A, guardrails) może przełączać się między 4 poziomami dostawców, dopóki pozostaje kwalifikujący się zdrowy cel — Poziom 1 Subskrypcja, Poziom 2 Klucz API, Poziom 3 Tanie i Poziom 4 Darmowe.

## 🤝 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
Animowane przykłady 18 z 20 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, lkgp, auto, fusion, pipeline. Strategie cache-optimized i quota-weighted nie są animowane; poniższa tabela opisuje wszystkie 20. > **Kombinacja** to łańcuch modeli, między którymi OmniRoute routuje **automatycznie**. Jeśli limit zostanie wyczerpany, dostawca ulegnie awarii lub koszty gwałtownie wzrosną, kombinacja może przejść do następnego kwalifikującego się, sprawnego modelu. 🛡️ ### ⚡ Bez konfiguracji — po prostu użyj `auto` Nie musisz tworzyć kombinacji. Ustaw model na `auto` (lub jeden z wariantów), a OmniRoute utworzy wirtualną kombinację z połączonych dostawców, oceniając ich na bieżąco:
Identyfikator modeluCo optymalizuje
auto🎯 Zrównoważone ustawienie domyślne (LKGP — pozostaje przy ostatnim sprawdzonym dostawcy)
auto/coding🧑💻 Wagi ukierunkowane przede wszystkim na jakość generowania kodu
auto/fast⚡ Najpierw najniższe opóźnienie
auto/cheap💰 Najpierw najniższy koszt za token
auto/subscription🎟️ Tylko limit subskrypcji, za którą już płacisz — w razie niepowodzenia kończy działanie, nigdy nie przełącza się na płatną opcję zapasową (przewodnik)
auto/thrifty🪜 Najpierw limit planu, a następnie stopniowe przechodzenie do najtańszych płatnych opcji — powrót do planu po odnowieniu limitu (przewodnik)
auto/offline🔋 Najpierw największy zapas limitu / ograniczenia szybkości
auto/smart🔭 Najpierw jakość + 10% eksploracji w celu odkrywania lepszych modeli
auto/lkgp📌 Jawne trzymanie się 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, bez wstrzykiwania awarii
## ### 🔀 Lub utwórz własną — 20 strategii routingu Wszystkie **20** strategii — łącz je dowolnie na poszczególnych etapach kombinacji:
# Strategia Jak działa
1 priority Uporządkowana lista z pierwszym celem — wyczerpuje każdy przed przejściem do następnego 🥇
2 fill-first W pełni wykorzystuje limit każdego celu przed przejściem dalej
3 weighted Losowy wybór ważony wagą każdego celu
4 round-robin Cyklicznie przechodzi przez cele w ustalonej kolejności
5 p2c Losowe równoważenie obciążenia metodą wyboru spośród dwóch opcji
6 least-used Wybiera cel o aktualnie najniższym obciążeniu
7 random Jednostajny wybór losowy (z usuwaniem duplikatów)
8 strict-random Wybór losowy bez usuwania powtórzeń 🎲
9 cost-optimized Minimalizuje koszt $ na żądanie na podstawie aktualnych cen katalogowych 💸
10 headroom Wybiera cel z największym pozostałym limitem
11 quota-weighted Pomija konta z wyczerpanym limitem, a następnie losuje proporcjonalnie do pozostałego limitu ÷ bieżącego obciążenia — istniejące konwersacje pozostają przypięte ⚖️
12 reset-window Preferuje cel, którego okres limitu odnowi się najwcześniej
13 reset-aware Klasyfikuje według czasu odnowienia limitu — najpierw krótkie okresy 📊
14 context-relay Przekazuje kontekst między celami podczas długich konwersacji 🧠
15 context-optimized Wybiera opcję najlepiej dopasowaną do bieżącego rozmiaru kontekstu
16 cache-optimized Przypina każdy prefiks promptu wielokrotnego użytku do tego samego konta — maksymalizuje trafienia w pamięci podręcznej promptów 🎯
17 lkgp Ostatnia sprawdzona ścieżka — przypina do ostatniego dostawcy, który pomyślnie obsłużył żądanie, a następnie przełącza się na reguły awaryjne
18 auto Bieżąca ocena 16 czynników dla każdego połączenia 🤖
19 fusion Rozsyła żądanie do panelu modeli, a model oceniający syntetyzuje jedną odpowiedź 🧬
20 pipeline Łączy etapy — dane wyjściowe każdego celu są przekazywane do następnego 🔗
Silnik Auto-Combo ocenia każdego kandydata na podstawie **16 czynników** (stan, limity, 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ę wyłącznie przy błędach 408/5xx, progi: OAuth 8× / klucz API 12× / lokalnie 2×, resetuje się po 60s/30s/15s, przechodząc do próby w stanie HALF-OPEN, odzyskiwanie na żądanie; 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 zabezpieczeniem przed efektem „thundering herd”, kod 429 respektuje Retry-After, sukces usuwa cały stan błędu; klucz w okresie wyciszenia jest pomijany, podczas gdy pozostałe klucze nadal obsługują żądania. Warstwa 3: blokada modelu (jeden model): kod 429 dla modelu, lokalny kod 404 lub odmowy trybu blokują tylko ten model — nigdy całe połączenie. Stany końcowe (zablokowany, wygasły, wyczerpane środki) wymagają interwencji 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 — datowane zestawienie funkcji w porównaniu z 9router, OpenRouter, CLIProxyAPI i LiteLLM w 13 obszarach. OmniRoute: 375 dostawców, ponad 150 wbudowanych bezpłatnych planów, 20 strategii routingu, kompresja tokenów oparta na 12 silnikach, wbudowany serwer MCP ze 110 narzędziami, protokół agentów A2A, trwała pamięć, mechanizmy ochronne, agenci chmurowi, ukrywanie odcisku palca TLS, aplikacje Desktop/Termux/PWA oraz interfejs użytkownika w 67 wersjach językowych. OmniRoute jest udostępniany na licencji MIT i może być hostowany samodzielnie. Funkcje i ich liczba u konkurencji mogą się zmieniać; 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
> Najnowsze najważniejsze zmiany z **v3.8.20 → v3.8.53**. Pełna historia w [`CHANGELOG.md`](CHANGELOG.md). - **⚖️ Routing `quota-weighted`** — dwudziesta strategia combo pomija wyczerpane konta, a następnie losuje spośród pozostałych proporcjonalnie do pozostałego limitu ÷ obciążenia w toku, utrzymując przypięcie istniejących rozmów. → [Auto-Combo](docs/routing/AUTO-COMBO.md) - **🧰 Tryb headless** — `omniroute serve --headless` (lub `OMNIROUTE_HEADLESS=1`) uruchamia wyłącznie silnik proxy `/v1/*`, z wyłączonym dashboardem i podsystemami dostępnymi tylko dla dashboardu. → [Tryb headless](docs/guides/HEADLESS.md) - **🔎 Odkrywanie modeli** — `/v1/models` filtruje według możliwości, kontekstu, rodzaju i tekstu, a `POST /v1/models/query` zwraca krótką, deterministyczną listę z tą samą widocznością na poziomie klucza. → [Dokumentacja API](docs/reference/API_REFERENCE.md) - **🔑 Kontrola routingu na poziomie klucza** — przypnij klucz API do jednego modelu lub combo za pomocą `forcedModel` i dodawaj lub usuwaj modele oraz combo klucza atomowo (`/api/keys/{id}/access`). → [Dokumentacja API](docs/reference/API_REFERENCE.md) · [OpenAPI](docs/openapi.yaml) - **🛡️ Dokładniejsza kontrola PII** — wybór według typu, do 20 zweryfikowanych niestandardowych wzorców maskowania i liczniki wykryć według typu; samo maskowanie nadal wymaga włączenia. → [Guardrails](docs/security/GUARDRAILS.md) - **🌍 67 języków** — dashboard, lustra dokumentacji i CLI, a `npm run i18n:add-locale` dodaje język wszędzie jedną komendą. → [Przewodnik i18n](docs/guides/I18N.md) - **🎛️ OmniConductor** — przychodzące delegowanie A2A do Twojej floty agentów, umiejętności Conductor na karcie Agent Card oraz panel dashboardu z głosowym czatem push-to-talk Faro. → [Serwer A2A](docs/frameworks/A2A-SERVER.md) - **🛂 Adaptacyjne przyjmowanie żądań i ochrona przed przeciążeniem** — ciężkie żądania czatu trafiają do kolejki zamiast zwracać 503, z atomowymi kroczącymi dzierżawami RPM na połączenie. → [Przewodnik po odporności](docs/architecture/RESILIENCE_GUIDE.md) - **🗂️ Kanoniczna kolejność `/v1/models`** — jeden ciągły blok pogrupowany według dostawcy dla każdego dostawcy (combo przypięte na początku), stabilny we wszystkich źródłach katalogu. → [Dokumentacja API](docs/reference/API_REFERENCE.md) - **🗜️ Wzmocnienie kompresji** — domyślnie włączona ochrona przed inflacją, pakiety Caveman dla DE / FR / JA + chińskiego (wényán), filtry RTK dla Gradle i .NET. → [Kompresja](docs/compression/COMPRESSION_ENGINES.md) - **💸 Uczciwy koszt ryczałtowy** — dostawcy subskrypcji / planów kodowania wykazują **$0** w analityce kosztów; budżet, limity i routing nadal dokonują szacunków. → [Dokumentacja API](docs/reference/API_REFERENCE.md) - **⚖️ Routing Quota-Share** — sprawiedliwy podział limitu współdzielonego konta między klucze w puli, w trybie work-conserving, dzięki czemu bezczynne udziały są pożyczane. → [Przewodnik po odporności](docs/architecture/RESILIENCE_GUIDE.md) - **🤖 Konfiguracja CLI/agentów jedną komendą** — 15 zarejestrowanych komend `setup-*`; `omniroute run` uruchamia 7 CLI (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` obsługuje 11 celów z interaktywnym wyborem dostawcy i modelu oraz ulubionymi w podziale na konteksty. → [Integracje CLI](docs/guides/CLI-INTEGRATIONS.md) - **🛰️ Tryb zdalny** — steruj zdalnym OmniRoute za pomocą tokenów z ograniczonym zakresem (`connect` / `contexts` / `tokens`) + pomocnik OAuth `antigravity` dla instalacji na VPS. → [Tryb zdalny](docs/guides/REMOTE-MODE.md) - **🧭 Inteligentniejszy automatyczny routing** — combo `auto/:`, **Fusion** (panel modeli + sędzia), routing świadomy zadania, nadpisywanie modelu / trybu / budżetu USD na żądanie. → [Auto-Combo](docs/routing/AUTO-COMBO.md) - **🗜️ Wtykowa kompresja** — 12 komponowalnych silników + Compression Studios: LLMLingua-2, dwupoziomowy Ultra, omniglyph, kontrola wierności na każdym kroku, GCF v3.2, edytor kolejności metodą przeciągnij i upuść. → [Kompresja](docs/compression/COMPRESSION_ENGINES.md) - **🕵️ Przezroczyste odszyfrowywanie MITM (TPROXY)** — przechwytuj CLI ignorujące zmienne środowiskowe proxy, z certyfikatem CA per SNI + instalatorem magazynu zaufania. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md) - **💸 Telemetria kosztów wszędzie** — nagłówki kosztów/użycia `X-OmniRoute-*` w każdym punkcie końcowym, nagłówek oszczędności przy trafieniu w cache, limity wydatków w USD na klucz. → [Dokumentacja API](docs/reference/API_REFERENCE.md) - **🧠 Pamięć pod Twoją kontrolą** — domyślnie wyłączona, opcjonalna kwantyzacja wektorowa int8 + typizowany zanik (typed decay), `x-omniroute-no-memory` na żądanie. → [Pamięć](docs/frameworks/MEMORY.md) - **🛡️ Bezpieczeństwo** — ochrona przed prompt injection w każdym routingu LLM (zestaw testów red-team), opcjonalna bariera maskowania poświadczeń (redaguje ujawnione klucze API/sekrety w obu kierunkach), darmowe wyszukiwanie w sieci DuckDuckGo jako ostatnia deska ratunku oraz opcjonalna brama logowania OIDC dla dashboardu (logowanie hasłem zawsze pozostaje dostępne). → [Guardrails](docs/security/GUARDRAILS.md) - **🖼️ Nowe punkty końcowe** — `/v1/ocr` (Mistral OCR) i `/v1/audio/translations` (w stylu Whisper) dopełniają powierzchnię mediów. → [Dokumentacja API](docs/reference/API_REFERENCE.md) - **🎨 Generowanie obrazów / wideo / dźwięku** — jedno API dla mediów: wideo xAI Grok Imagine i Novita AI, ComfyUI, Magnific, Adobe Firefly, Segmind oraz dostawcy mowy, tacy jak ElevenLabs. → [Dokumentacja API](docs/reference/API_REFERENCE.md) - **🌍 Wdrożenia i operacje** — `basePath` reverse proxy, automatyczne wykrywanie języka przeglądarki, śledzenie urządzeń per klucz, zaufanie MITM bez roota, 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 logowaniem przez przeglądarkę + OAuth, karta Ollama jako pełnoprawna, Claude Opus 5 i Sonnet 5, oficjalne partnerstwo Kimi (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… oraz odświeżony **katalog 375 dostawców**. → [Dostawcy](docs/reference/PROVIDER_REFERENCE.md) - **📡 Przejrzystość routingu** — każda odpowiedź zawiera nagłówek `X-OmniRoute-Decision` wskazujący strategię/dostawcę/opóźnienie, które ją obsłużyły, nowa strategia combo `cache-optimized` + czynnik `cacheAffinity` Auto-Combo kierują powtarzane żądania z powrotem do połączenia przechowującego buforowany prefiks, a punkt końcowy `/v1/auto-combo/{channel}/candidates` tylko do odczytu udostępnia bieżącą pulę kandydatów kanału `auto/*`. → [Auto-Combo](docs/routing/AUTO-COMBO.md) - **⚡ Lokalna wydajność i infrastruktura** — lokalny Redis jednym kliknięciem, deployery relay Cloudflare Workers / Deno Deploy, Bifrost i Mux jako nadzorowane usługi wbudowane. → [Usługi wbudowane](docs/frameworks/EMBEDDED-SERVICES.md) - **🧩 W pakiecie również** — framework wtyczek + marketplace, frameworki umiejętności Omni/Agent/GitHub, integracja z vaultem Obsidian (22 narzędzia MCP), API Batch i Files zgodne z OpenAI, semantyczna pamięć podręczna odpowiedzi, grywalizacja z rankingami, wykrywanie agentów ACP (15 wbudowanych agentów), zaplanowany eksport logów do BigQuery, `auto/chaos` równoległe rozsyłanie do wielu modeli, most do bota Telegram, menedżer wersji w aplikacji i rankingi darmowych dostawców LMArena-ELO. → [Dokumentacja](docs/README.md)
## 🤖 Kompatybilne interfejsy CLI i agenci programistyczni > Jedna konfiguracja — `http://localhost:20128/v1` — i **każde** środowisko IDE lub narzędzie 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 każdego z 37 narzędzi (27 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 za pomocą jednego polecenia** — bez zapisywania plików konfiguracyjnych, z danymi uwierzytelniającymi wstrzykiwanymi osobno dla każdego procesu oraz tymczasowym, 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" # Możesz też interaktywnie wybrać dostawcę i model oraz zapisać konfigurację danego narzędzia: omniroute configure codex # także: claude opencode qwen aider goose gemini cline continue kilo 5dive ``` Każde polecenie uwzględnia aktywny zdalny kontekst (`omniroute connect `), opcja `--dry-run` umożliwia podgląd dokładnych 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)
## 🌐 375 dostawców AI — 153 oznaczone w katalogu jako darmowe
> **375 zarejestrowanych dostawców** w kanonicznych kolekcjach czatu, mediów, wyszukiwania, lokalnych, agentów chmurowych i systemowych, w tym **153 z metadanymi odkrywania `hasFree: true`**. Rejestr modeli czatu obejmuje **239 dostawców / 3059 unikalnych par dostawca-model / 1475 surowych identyfikatorów modeli**; oddzielny katalog darmowych budżetów zawiera **467 wierszy dla poszczególnych modeli**, **34 cykliczne pule** i **51 dostawców z cyklicznym/bezkluczowym darmowym dostępem na zawsze**. To celowo różne mianowniki; definicje i obliczenia z deduplikacją pul znajdują się w [Dokumentacji dostawców](docs/reference/PROVIDER_REFERENCE.md) i [Darmowych planach](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 350 kolejnych — każda ikona jest ładowana na żywo z katalogu dostawców panelu. 📖 [Dokumentacja dostawców](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 Darmowe na zawsze — 0 USD, 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
Bez limitów i BEZPŁATNIE
Pollinations
Pollinations
GPT, Llama, Claude
Klucz nie jest wymagany
Cloudflare AI
Cloudflare AI
Ponad 50 modeli
10 tys. neuronów dziennie
NVIDIA NIM
NVIDIA NIM
GLM, MiniMax
Bezpłatnie około 40 RPM
Cerebras
Cerebras
GLM 4.7, GPT-OSS
Jednorazowy kredyt 5 USD; wymagana karta
OpenRouter
OpenRouter
Modele :free
+10 USD → 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ń** z **ponad 80 poleceniami**, a także obsługuje otwarte protokoły agentowe, dzięki czemu agent AI może zarządzać nim **samodzielnie**. ### ⌨️ Prawdziwy interfejs CLI (nie tylko `start`) ```bash omniroute # uruchamia bramę i panel (port 20128) omniroute chat # interaktywny klient czatu TUI (polecenia z ukośnikiem: /model /combo /skill /memory) omniroute setup # kreator pierwszego uruchomienia z instrukcjami omniroute doctor # diagnozuje dostawców, porty i zależności natywne ``` ### 🛰️ Tryb zdalny — uruchom CLI tutaj, a OmniRoute na VPS-ie Masz OmniRoute na serwerze? Steruj nim z laptopa za pomocą **tego samego CLI**. Zaloguj się raz przy użyciu tokenu dostępu o określonym zakresie; każde kolejne polecenie będzie kierowane do zdalnej instancji. ```bash omniroute connect 192.168.0.15 # hasło → token o określonym zakresie, zapisany jako kontekst omniroute models # ← działa na ZDALNYM serwerze omniroute configure codex # ← wybiera zdalny model i zapisuje lokalny profil Codex omniroute tokens create --name ci --scope read # tworzy tokeny o węższym zakresie dla innych maszyn omniroute contexts use default # ← przełącza 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 demonstracja terminala z interfejsem CLI OmniRoute — omniroute providers list, omniroute combo list i omniroute health — prezentująca 89 poleceń 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 …
### 🤝 Podłącz agenta — a będzie samodzielnie sterować OmniRoute Udostępnij OmniRoute przez **MCP**, **A2A**, **REST API**, **webhooki** lub **zdalny interfejs CLI** — każdy odpowiednio wyposażony agent (lub Twój własny kod) otrzyma 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 i dowolnym klientem MCP
🌊 MCP (HTTP)/api/mcp/streamZdalny MCP — 110 narzędzi, 33 zakresy (egzekwowanie opcjonalne), pełna ścieżka audytu
📡 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ń i limitów do Slacka, Discorda, Telegrama lub pod dowolny adres URL
🛰️ Zdalny CLIomniroute connect Sterowanie zdalną instancją za pomocą tokenów dostępu o określonym zakresie
```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 stosu może dotrzeć do dostawcy w postaci około 1080 tokenów. Zawartość strukturalna jest chroniona przez mechanizmy zachowywania i bramki wierności na każdym etapie; jawnie włączone tryby stratne lub eksperymentalne mogą przekształcać kwalifikującą się zawartość. Domyślna kombinacja stosu uruchamia `RTK → Caveman`. Gdy oba silniki przetwarzają ten sam ładunek narzędzia lub kontekstu, 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, dane JSON i dane strukturalne są **zawsze chronione** przez silnik zachowywania zawartości. > **Po co używać wielu tokenów, skoro wystarczy ich niewiele?** Każde żądanie przechodzi przez potok kompresji OmniRoute **w sposób przezroczysty** — bez zmian po stronie klienta. Jest to teraz **stos 12 komponowalnych silników**, które działają kolejno i mogą być dowolnie łączone w poszczególnych kombinacjach routingu — w oparciu o rozwiązania z [RTK](https://github.com/rtk-ai/rtk), [Caveman](https://github.com/JuliusBrussee/caveman) (⭐ ponad 90 tys.), [LLMLingua-2](https://github.com/microsoft/LLMLingua) oraz [Troglodita](https://github.com/leninejunior/troglodita) (PT-BR). ### 🧱 Stos 12 silników Silniki działają zgodnie z kolejnością w potoku; każdy z nich 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 (adresowana zawartością, między turami)
2CCRArchiwizuje duże bloki za znacznikami pobierania, umożliwiając ich wczytanie na żądanie
3LiteUsuwa nadmiarowe białe znaki i skraca adresy URL obrazów (wariant bazowy o niskich opóźnieniach)
4RTKInteligentne filtrowanie, deduplikacja i skracanie wyników narzędzi (z uwzględnieniem poleceń)
5Responses Tool OutputBezstratne w pierwszej kolejności przetwarzanie JSON oraz ograniczona kompresja diagnostyczna danych wyjściowych powłoki, poprawek, wyszukiwania i kompilacji (Responses API)
6HeadroomBezstratna kompresja tabelaryczna tablic JSON (~30%) przy użyciu dołączonego kodeka GCF
7RelevanceEkstrakcyjne ocenianie zdań względem ostatniego zapytania użytkownika
8CavemanKompresja prozy oparta na regułach (~65–75% na wyjściu)
9AggressivePodsumowywanie i stopniowe postarzanie starych tur
10LLMLingua-2Semantyczne przycinanie z użyciem uczenia maszynowego za pośrednictwem MobileBERT ONNX — bezpieczne dla kodu, asynchroniczne
11UltraHeurystyczne przycinanie tokenów z opcjonalną warstwą małego modelu (SLM)
12OmniGlyphEksperymentalne kodowanie kontekstu jako obrazu dla przetestowanego modelu 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ą do pojedynczego bajtu. **Ustawienia wstępne dostępne jednym kliknięciem** łączą silniki:
TrybOszczędnośćNajlepsze zastosowanie
🪶 Lite~15%Bezpieślny tryb domyślny, który może być zawsze włączony
🪨 Standardowy (Caveman)~30%Codzienne programowanie
⚡ Agresywny~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 poleceń git
🔗 Stos (RTK → Caveman)78–95%Mieszane prompty i dzienniki narzędzi
**Rzeczywisty przykład — tryb standardowy:** > **Przed (69 tokenów):** _„Przyczyną ponownego renderowania komponentu React jest prawdopodobnie tworzenie nowej referencji do obiektu w każdym cyklu renderowania. Gdy przekazujesz obiekt wbudowany jako właściwość, płytkie porównanie Reacta za każdym razem rozpoznaje go jako inny obiekt, co uruchamia ponowne renderowanie. Zalecam użycie useMemo do zapamiętania obiektu”._ > > **Po (19 tokenów):** _„Nowa referencja obiektu przy każdym renderowaniu. Wbudowany obiekt jako właściwość = nowa referencja = ponowne renderowanie. Opakuj w 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 obiektu. Zaleciłbym użycie `useMemo`."_ > > **Po (12 tokenów):** _"Re-render: nowa ref w każdym cyklu (obiekt inline tworzony od nowa). Użyć `useMemo`."_ > > **Ta sama odpowiedź. ~70% mniej tokenów. Precyzja techniczna nietknięta.** ✅
### 🎚️ Poza silnikami — style wyjścia, adaptacyjne pokrętło i kontrola per żądanie Powyższe 12 silników zmniejsza to, co trafia **do środka**. Trzy kolejne warstwy kształtują **jak**, **kiedy** i co wychodzi **na zewnątrz**: - **🪄 Output Styles** _(sterowanie osią wyjścia)_ — wstrzykują deterministyczne, bezpieczne dla cache'u instrukcje kształtujące odpowiedź; można je łączyć, każda w intensywności `lite` / `full` / `ultra`. Dodanie stylu to jeden wiersz w rejestrze: - **Terse prose** — usuwa wodę / rodzajniki / asekuranctwo; treść techniczna pozostaje dokładna. - **Less code** — „leniwy senior dev" YAGNI: najmniejsza działająca zmiana, bez niechcianego rusztowania. - **Ponytail (lazy senior dev)** — wspina się po drabinie YAGNI, naprawia przyczynę źródłową, najmniejszy działający diff. - **I have ADHD (action-first)** — najpierw następna akcja, kroki numerowane, jeden konkretny następny krok, bez wstępu. - **Terse CJK (文言)** — klasyczny chiński, ultra-zwięzły styl (ograniczony lokalizacją do `zh`). - **🎯 Adaptive context-budget** _(pokrętło)_ — zamiast jednego progu tokenów włącz/wyłącz, eskaluje najtańsze i najbardziej bezstratne silniki tylko tak daleko, jak trzeba, by **zmieścić się w oknie kontekstu modelu**. Polityka: `reserve-output` (domyślna, świadoma modelu) · `percentage` · `absolute`. Tryb: `floor` (gwarantuje dopasowanie) · `replace-autotrigger` (Twój jawny wybór wygrywa) · `off` (stary próg). - **🎛️ Gdzie decyduje się kompresja** _(priorytet, od wysokiego do niskiego)_ — nagłówek `x-omniroute-compression` per żądanie › nadpisanie w combie routingu › aktywny profil nazwany › adaptive / auto-trigger › domyślne panelu › wyłączone. Zastosowany plan jest zwracany w nagłówku odpowiedzi `X-OmniRoute-Compression: ; source=`. Auto-trigger po progu tokenów, włączenie adaptacyjnego pokrętła, przypięcie nazwanego profilu, jednorazowe ustawienie per żądanie albo przypisanie pipeline'u do comba routingu — cokolwiek pasuje do obciążenia. Opcjonalny, offline'owy **eval harness** (`npm run eval:compression`) ocenia wierność względem oszczędności na przypiętym 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 `npm warn ERESOLVE` lub ostrzeżenia o peer-deps? [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 pakietu, jeśli nie zostaną dozwolone. `postinstall` OmniRoute (`node scripts/build/postinstall.mjs`) jest wymagany do przygotowania jego natywnych plików runtime. Podczas instalacji globalnej zezwól na pakiety wymienione w ostrzeżeniu npm. Dla zestawu pakietów zgłoszonego przez OmniRoute 3.8.53: > > ```bash > npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute > ``` > > Aby ponownie wykorzystać tę listę dozwolonych w przyszłych instalacjach globalnych, skonfiguruj ją raz, a potem instaluj normalnie: > > ```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 się zmieniać między wydaniami; jeśli npm zgłosi inną listę, użyj nazw pakietów z tego ostrzeżenia. Zezwolenie na pakiet umożliwia uruchamianie jego skryptów instalacyjnych. > **Używasz Gemini Web lub innego providera opartego na ciasteczkach webowych?** Pakiet npm zawiera Playwright, ale nie zawiera jego binarki Chromium. Przed wykonaniem pierwszego żądania do providera webowego zapoznaj się z notatką o [konfiguracji Chromium dla Playwright](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium). Panel pod `http://localhost:20128` · API pod `http://localhost:20128/v1`. **2) Podłącz kwalifikującego się providera, używając własnego konta** Panel → **Providers** → wybierz providera, którego aktualne warunki i limity pasują do Twojego przypadku użycia → dodaj jego klucz API lub dokończ flow konta. Darmowe plany mogą wymagać rejestracji, zatwierdzenia lub metody płatności. Przejrzyj [Przewodnik po darmowych planach](docs/getting-started/FREE-TIERS-GUIDE.md); dostępność bez klucza nie jest gwarantowana, a providerzy oznaczeni jako `tos: avoid` są domyślnie wykluczeni z `auto`. **3) Wskaż swoje narzędzie do kodowania** ```txt Base URL: http://localhost:20128/v1 API Key: [copy from Dashboard → Endpoints] Model: auto (routes among eligible connections — or choose provider/model) ``` **4) Sprawdź, czy działa** ```bash curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY" ``` Powinieneś zobaczyć listę podłączonych modeli. 🎉 To wszystko — zaczynaj kodować, a OmniRoute sam routuje i wykonuje fallback za Ciebie. Jeśli Twój klient nie potrafi wysyłać niestandardowych nagłówków, OmniRoute udostępnia także tokenizowane aliasy zgodności: ```txt OpenAI catalog: http://localhost:20128/vscode/YOUR_KEY/ OpenAI models: http://localhost:20128/vscode/YOUR_KEY/models OpenAI chat: http://localhost:20128/vscode/YOUR_KEY/chat/completions OpenAI responses: http://localhost:20128/vscode/YOUR_KEY/responses Ollama chat: http://localhost:20128/vscode/YOUR_KEY/api/chat Ollama tags: http://localhost:20128/vscode/YOUR_KEY/api/tags ``` Używaj ich tylko w klientach, które nie potrafią dołączyć `Authorization: Bearer ...`. Uwierzytelnianie nagłówkiem 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
## 📹 Przewodniki wideo
Stan panelu na 2026-10-18 · Surowy katalog: YT 1.352 | TT 334 | IG 290 · Aktualność (dni): YT 5 | TT 48 | IG 49
Instagram Reel — nick_saraev
🎬 #1 — Instagram
nick_saraev — 3,042,474 wyświetlenia
Instagram Reel — nnapier7
🎬 #2 — Instagram
nnapier7 — 1,454,535 wyświetleń
YouTube — Amidia AI & Tech
🎬 #3 — YouTube
Amidia AI & Tech — 794,974 wyświetlenia
Instagram Reel — theopenstack
🎬 #4 — Instagram
theopenstack — 692,419 wyświetleń
TikTok — migue.baena
🎬 #5 — TikTok
migue.baena — 685,788 wyświetleń
**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** | [nnapier7 — Instagram](https://www.instagram.com/reel/Dbp7wv_CIO0/) — **1,454,535** | [Amidia AI & Tech — YouTube](https://www.youtube.com/watch?v=NJ0TQ-pyMDY) — **794,974** | [theopenstack — Instagram](https://www.instagram.com/reel/DaSs65mMrHk/) — **692,419** | [migue.baena — TikTok](https://www.tiktok.com/@migue.baena/video/7670919268216622358) — **685,788** | | #6 | #7 | #8 | #9 | #10 | | ------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | | [milesreevesai — TikTok](https://www.tiktok.com/@milesreevesai/video/7667980059189366019) — **620,400** | [nikothetech — TikTok](https://www.tiktok.com/@nikothetech/video/7671890769665477918) — **610,803** | [Vaibhav Sisinty — YouTube](https://www.youtube.com/watch?v=QucgvbO5gsM) — **509,281** | [buildwithai.club — Instagram](https://www.instagram.com/reel/DbIt9AjK7-U/) — **347,652** | [nivedan.ai — Instagram](https://www.instagram.com/reel/DbIrCksJiqq/) — **331,973** | Dane kanoniczne na 2026-10-18: **1.976 unikalnych filmów** · **20.220.289 znanych wyświetleń** (`v > 0`) · **1.210 kanałów/profili w poszczególnych sieciach**. Surowy panel zawiera 1.976 wierszy (YouTube 1.352 = 740 długich filmów + 612 Shorts · TikTok 334 · Instagram 290); po normalizacji według kanonicznego adresu URL, która zachowuje najwyższą liczbę wyświetleń danego filmu, nie pozostały żadne duplikaty. Zbieranie danych z YouTube zostało wstrzymane 2026-10-13 (limit API wyczerpany od 14 do 18/10), a z TikTok/Instagram od 2026-09-02 (brak środków na zbieranie danych); 76 filmów nadal nie ma danych o liczbie wyświetleń. > 🎬 **Masz film o OmniRoute?** Utwórz [zgłoszenie](https://github.com/diegosouzapw/OmniRoute/issues/new) lub rozpocznij [dyskusję](https://github.com/diegosouzapw/OmniRoute/discussions), podając link — zamieścimy go tutaj.
# 📧 Społeczność i pomoc > Wszystko w jednym miejscu — obserwuj opiekuna projektu, rozmawiaj ze społecznością lub utwórz zgłoszenie. | Kanał | Gdzie / jak | | ------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------- | | 💼 **LinkedIn** — obserwuj opiekuna projektu | [linkedin.com/in/diegosouzapw](https://www.linkedin.com/in/diegosouzapw/) | | 🐙 **GitHub** — obserwuj wydania i porady | [@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 wynik polecenia `npm run system-info` | | 🤝 **Współtwórz projekt** | [CONTRIBUTING.md](CONTRIBUTING.md) · [Model gałęzi i wydań](docs/ops/BRANCHING_MODEL.md) · wybierz `good first issue` | | 💚 **Wesprzyj projekt** | [Sposoby wsparcia ↑](#-support-omniroute) · [Sponsorzy GitHub](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/ (zero any w rdzeniu od v2.0)
FrameworkNext.js 16 + React 19 + Tailwind CSS 4
Baza danychbetter-sqlite3 (SQLite, journaling WAL) + LowDB (starsze dane JSON) — 147 modułów domenowych, 209 migracji
PamięćSQLite FTS5 pełnotekstowe + wektorowe osadzenia kwantyzowane do int8, typowane wygaszanie
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) + mostek WebSocket (/v1/ws)
Kompresjapotok 12 silników — RTK, Caveman, LLMLingua-2 (MobileBERT ONNX), GCF, OmniGlyph
Uwierzytelnianie i bezpieczeństwoOAuth 2.0 (PKCE) + JWT + klucze API + uwierzytelnianie z zakresami MCP · AES-256-GCM w spoczynku · DOMPurify
Stealthwreq-js — imitacja odcisku TLS JA3 / JA4, trójpoziomowe proxy
Odpornośćbezpiecznik (circuit breaker), wykładniczy backoff, ochrona przed thundering herd, samonaprawiający się auto-combo
Logowaniepino — strukturalne logi JSON z kontekstem żądania
TestowanieNode.js test runner + Vitest — ponad 56 000 statycznych deklaracji testów w ponad 7 800 śledzonych plikach testowych (jednostkowe, integracyjne, E2E, bezpieczeństwo, ekosystem)
PlatformyDesktop (Electron) · Android (Termux) · PWA (dowolna przeglądarka)
CI/CDGitHub Actions — automatyczna publikacja w npm + Docker Hub przy wydaniu
LinkiStrona internetowa · npm · Docker Hub

## 📖 Dokumentacja
### 📘 Pierwsze kroki
DokumentOpis
Przewodnik użytkownikaProvidery, kombinacje, integracja z CLI, wdrożenie
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, Copilot
Tryb zdalnySterowanie zdalnym OmniRoute (VPS) z CLI na laptopie za pomocą tokenów dostępu o ograniczonym zakresie
Konfiguracja Claude CodeWskazywanie Claude Code na OmniRoute (lokalny/zdalny) za pomocą launch + profili dla poszczególnych modeli
Szybki startInstalacja w 3 krokach → połączenie → konfiguracja
### 🔧 Operacje i wdrożenia
DokumentOpis
Przewodnik po DockerzeDocker run, profile Compose, Caddy HTTPS, tunele, tagi obrazów
Przewodnik po PodmanieIntegracja Quadlet z systemd, podman-compose, SELinux
Wdrożenie na VMKompletny przewodnik: konfiguracja VM + nginx + Cloudflare
Wdrożenie na Fly.ioWdrażanie na Fly.io z trwałym magazynem danych
Przewodnik po TermuxieUruchamianie OmniRoute na Androidzie przez Termux
Przewodnik po PWAInstalacja Progressive Web App, buforowanie, architektura
Przewodnik po odinstalowaniuCzyste usunięcie dla wszystkich metod instalacji
Konfiguracja środowiskaWszystkie zmienne .env i odnośniki
### 🧠 Funkcje i architektura
DokumentOpis
ArchitekturaArchitektura systemu, przepływ danych i wnętrze
Przewodnik po kompresjiPotok z 7 opcjami: off / lite / standard / aggressive / ultra / RTK / stacked
Kompresja RTKKompresja wyjścia poleceń, filtry, zaufanie, weryfikacja, odzyskiwanie surowego wyjścia
Silniki kompresjiCaveman, RTK, potoki stacked, powierzchnie dashboard/API/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 obwodów, cooldowny, kolejka, ochrona przed thundering herd, fałszowanie TLS
Silnik Auto-ComboOcena 16 czynników, pakiety trybów, samonaprawianie
Przewodnik po proxyTrójpoziomowy system proxy, marketplace 1proxy, CRUD rejestru
Darmowe planyZbiorczy katalog: 34 udokumentowane pule cykliczne / 467 skatalogowanych wpisów darmowych planów
Galeria funkcjiWizualna prezentacja dashboardu ze zrzutami ekranu
Dokumentacja kodu źródłowegoPrzystępne wprowadzenie do kodu źródłowego
### 🤖 Protokoły i API
DokumentOpis
Dokumentacja APIWszystkie endpointy z przykładami
Specyfikacja OpenAPISpecyfikacja OpenAPI 3.0
Serwer MCP110 narzędzi MCP, konfiguracje IDE, klienty Python/TS/Go
Przewodnik po serwerze MCPInstalacja MCP, transporty i dokumentacja narzędzi
Serwer A2AProtokół JSON-RPC 2.0, umiejętności, strumieniowanie, zarządzanie zadaniami
Przewodnik po serwerze A2AKarta agenta A2A, zadania, umiejętności i strumieniowanie
### 📋 Projekt i jakość
DokumentOpis
WspółtworzenieKonfiguracja środowiska programistycznego i wytyczne
Model rozgałęziania i wydańDo czego kierowane są PR-y (release/*), co oznaczają main i tagi
Historia zmianPełna historia wydań dla poszczególnych wersji
Polityka bezpieczeństwaZgłaszanie podatności i praktyki bezpieczeństwa
Przewodnik i18nObsługa 67 języków, proces tłumaczenia, RTL
Lista kontrolna wydaniaKroki weryfikacji przed wydaniem
Plan pokryciaStrategia pokrycia testami dla ponad 56 000 statycznych deklaracji testów w ponad 7800 śledzonych plikach testowych

# ⭐ Najlepsi współtwórcy > OmniRoute kształtuje pełna pasji społeczność open source. Te osoby wniosły wyjątkowy wkład, który bezpośrednio wpływa na jakość, stabilność i zasięg projektu. **Dziękujemy.** ### Współtwórcy zewnętrzni według scalonych pull requestów
MiejsceWspółtwórcaScalone PR-y~Zmienione linie
1maxmad64bis37125,326,561
2HouMinXi26913,456,272
3backryun210270,562
4oyi77190411,243
5pacocartones17478,276
6JxnLexn1513,562,936
6KooshaPari1515,972,314
8rdself14580,663
9RaviTharuma123500,065
10herjarsa88230,872
11hartmark842,849,554
12jonlwheat2-gif6768,548
13artickc6243,502
14chirag127526,661
15xz-dev50245,976
16xiaoyaner02014733,626
17woodsonl46809,391
18rqzbeh44147,896
19QuangBlue4313,112
20MumuTW4026,093
Spis sporządzono 2026-10-18 15:09:09 UTC na podstawie aktualnego czubka release/v3.8.52 656f01cb43. Paginowany spis GitHub GraphQL zawiera 9 191 scalonych PR-ów: 3 834 autorstwa właściciela repozytorium, 229 od Dependabota, 6 od innych botów/aplikacji oraz 5 122 zewnętrzne PR-y od 835 różnych współtwórców. „Zmienione linie” to dodania + usunięcia w GitHubie i obejmują wygenerowane pliki, pliki blokad, katalogi, tłumaczenia i dokumentację; to churn, a nie liczba autorowanych linii kodu. 49 PR-ów wykazuje różnice w GitHubie powyżej 500 000 linii (na przykład #13399, dodanie pojedynczego providera, wymienia 2347 zmienionych plików), co zawyża kilka powyższych sum. Remisy są klasyfikowane łącznie. ### Commity przypisane w GitHubie
Dizzle
Dizzle

🥇 367 commitów przypisanych w GitHubie
Bob.Hou
Bob.Hou

🥈 269 commitów przypisanych w GitHubie
Paijo
Paijo

🥉 229 commitów przypisanych w GitHubie
backryun
backryun

🏅 202 commity przypisane w GitHubie
Paco Cartones
Paco Cartones

🏅 174 commity przypisane w GitHubie
Ravi Tharuma
Ravi Tharuma

🏅 126 commitów przypisanych w GitHubie
Markus Hartung
Markus Hartung

🏅 114 commitów przypisanych w GitHubie
Randi
Randi

🏅 108 commitów przypisanych w GitHubie
Jan Leon
Jan Leon

🏅 87 commitów przypisanych w GitHubie
Chris
Chris

🏅 70 commitów przypisanych w GitHubie
Koosha Paridehpour
Koosha Paridehpour

🏅 68 commitów przypisanych w GitHubie
Ponownie sprawdzono 2026-10-18 14:44:45 UTC: commity przypisane w GitHubie zgłoszone przez Contributors API repozytorium dla domyślnej gałęzi release/v3.8.52. API zwróciło 849 tożsamości (429 użytkowników, 2 boty, 418 anonimowych); ta tabela pomija maintainera, boty oraz tożsamości anonimowe i zachowuje remisy w rankingu. Różni się ona zarówno od powyższego rankingu scalonych PR-ów, jak i od poniższego spisu opartego na metadanych Git. > 🙏 Funkcje, poprawki błędów i usprawnienia infrastruktury wprowadzone przez tych współtwórców są **kluczowym elementem** 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. Open source tworzą ludzie tacy 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
小妍儿
小妍儿

💛 Aktywny comiesięczny sponsor
Guilherme Costa
Guilherme Costa

💛 Aktywny jednorazowy sponsor
Henrique Triches Iurkiv
Henrique Iurkiv

💛 Aktywny jednorazowy sponsor
Somesh Ghaturle
Somesh Ghaturle

💛 Aktywny jednorazowy sponsor
Kolonie AI
Kolonie AI

💛 Były jednorazowy darczyńca
Professor Igor Morais Vasconcelos
Prof. Igor Morais

💛 Były jednorazowy darczyńca
Pixma
Pixma

💛 Były jednorazowy darczyńca
Paco Cartones
Paco Cartones

💛 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-10-18 za pośrednictwem interfejsu GitHub Sponsors GraphQL API: 11 publicznych sponsoringów (6 aktywnych, 5 zakończonych) spośród łącznie 14. Status isActive w GitHub określa powyższe etykiety aktywności; nadal dziękujemy byłym publicznym jednorazowym darczyńcom, a prywatni sponsorzy pozostają anonimowi. Wpłaty za pośrednictwem Ko-fi, Buy Me a Coffee, Liberapay, PIX oraz darowizny w kryptowalutach nie są wymienione, ponieważ nie mają publicznego wpisu sponsora. 💖 Zostań sponsorem → — każdy dolar pomaga utrzymać OmniRoute bezpłatnym i niezależnym.

## 👥 Ponad 900 współtwórców
[![Współtwórcy](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=993&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) Audyt przeprowadzono 2026-10-18 na aktualnym wierzchołku gałęzi release/v3.8.52, tj. ad160ab2d1 (6 826 commitów): 993 znormalizowane tożsamości osób w Git — 707 występuje jako autorzy commitów (w tym opiekun projektu), a 286 wyłącznie w jawnych stopkach Co-authored-by. Zestawienie uwzględnia .mailmap, porównuje adresy e-mail bez rozróżniania wielkości liter, łączy numeryczne i zwykłe adresy GitHub noreply tylko wtedy, gdy wskazują tę samą nazwę użytkownika, wyklucza 26 tożsamości botów, agentów, usług i wpisów zastępczych oraz nie scala zwykłych adresów e-mail tylko dlatego, że powiązane z nimi nazwy wyświetlane są identyczne. W audycie z 2026-08-24 wykazano 639 osób; ponowne zastosowanie tej metody do bazy tamtego audytu, ac02c5b42f, daje wynik 619, więc wzrost wynika z udziału nowych współtwórców, a nie z zastosowania mniej rygorystycznej metody. ### 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 własną 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 z ustawieniem **base = ta gałąź `release/vX.Y.Z`** Szczegółowe wytyczne znajdują się w pliku [CONTRIBUTING.md](CONTRIBUTING.md). ### Publikowanie nowej wersji ```bash # Utwórz wydanie — npm publish zostanie wykonane 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 rozpoczął się jako fork **[9router](https://github.com/decolua/9router)** oraz port projektu **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** z języka Go do TypeScript — a następnie każdy z poniższych podsystemów został zainspirowany projektem open source, który przecierał szlaki. Każdy z nich ukształtował konkretną część OmniRoute. W ten sposób dziękujemy im wszystkim. 🙏 > ⭐ liczby gwiazdek zweryfikowano za pomocą interfejsu GitHub REST API 18 października 2026 r. — przyznajcie tym projektom gwiazdkę. Podane liczby stanowią dokładny obraz z tego dnia i z czasem będą się naturalnie zmieniać. ### 🧬 Pochodzenie i brama
Projekt⭐Jak zainspirował OmniRoute
9router31,004Oryginalny projekt, na którym opiera się ten fork — rozszerzony tutaj o wielomodalne interfejsy API i całkowicie przepisany w TypeScript.
CLIProxyAPI55,591Implementacja w języku Go, która zainspirowała ten port do JavaScript / TypeScript.
LiteLLM61,482Brama AI, której publiczny zbiór danych cenowych zasila naszą synchronizację śledzenia kosztów, a model normalizacji dostawców wpłynął na nasz mechanizm routingu.
codex-chatgpt-web14,526Kod źródłowy na licencji MIT zaadaptowany do dołączonego mostu ChatGPT Web → Codex Responses, obejmującego adaptery sesji przeglądarki, ramkowania odpowiedzi, użycia i wyszukiwania internetowego.
free-claude-code61,430Wzorce przeniesione do odzyskiwania strumienia, aliasów wyłączających rozumowanie, awaryjnego wyszukiwania internetowego, limitów okna przesuwnego, redagowania dzienników i wzmocnionych przepływów uruchamiania.
composer-api346Wzorce wyboru narzędzi, ograniczeń danych wyjściowych i zatwierdzania narzędzi Cursor Composer zaadaptowane do natywnego modułu wykonawczego Cursor.
codex-multi-auth553Wzorce ponownego logowania i rotacji tokenów odświeżania przeniesione do ponownego uwierzytelniania Codex OAuth.
opencode-anthropic-auth558Domyślne transformacje zgodne z Claude Code oraz obsługa nagłówków rozliczeniowych uogólnione w konfigurowalnym moście OmniRoute.
grok2api-merged2Mapowania modeli Grok, generator Statsig symulujący TypeError, domyślne ustawienia żądań i urządzeń oraz procesor odpowiedzi NDJSON zostały w znaczącym stopniu zaadaptowane do modułu wykonawczego Grok Web w OmniRoute.
TQZHR/grok2api706Głó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,819Podstawowy kod źródłowy na licencji MIT dla ładunków Grok i domyślnych ustawień urządzeń, generatora Statsig oraz procesora result.response, przeniesiony za pośrednictwem TQZHR i grok2api-merged.
grok2api-pro27Pośrednie źródło wskazane przez grok2api-merged jako podstawa jego warstwy puli serwerów proxy; OmniRoute zachowuje informację o tym pochodzeniu, ale nie deklaruje przeniesienia puli proxy do swojego ograniczonego modułu wykonawczego Grok Web.
GrokProxy51Uwierzytelniany za pomocą plików cookie serwer proxy Grok oraz wzorzec strumieniowania result.response.token wpłynęły na warstwę transportową Grok Web w OmniRoute.
GrokBridge5Pierwotna implementacja Grok Web korzystała z jego projektu warstwy nadrzędnej HTTP/przeglądarki; jej bezpośrednia ścieżka HTTP wywodzi się z GrokProxy, dlatego nie deklarujemy niezależnego przeniesienia kodu.
### 🗜️ Kontekst i kompresja tokenów — silniki
Projekt⭐Jak zainspirował OmniRoute
Caveman113,396Viralowy projekt „po co używać wielu tokenów, gdy kilka załatwia sprawę” — jego filozofia jaskiniowej mowy napędza nasz standardowy tryb kompresji oraz ponad 30 reguł usuwania wypełniaczy i kondensacji.
RTK – Rust Token Killer83,835Wysokowydajna kompresja danych wyjściowych poleceń — zainspirowała nasz silnik RTK, DSL filtrów JSON, odzyskiwanie surowych danych wyjściowych oraz potok warstwowy RTK → Caveman.
headroom75,741Odwracalna kompresja kontekstu (SmartCrusher) — zainspirowała nasz silnik headroom i wzorzec znaczników pobierania ccr.
LLMLingua6,757Badania nad kompresją promptów (LLMLingua / LLMLingua-2) — zainspirowały nasz asynchroniczny, bezpieczny dla kodu i odporny na awarie silnik llmlingua.
llmlingua-2-js32Port JS/ONNX (MobileBERT / XLM-RoBERTa) używany jako backend wątku roboczego naszego silnika LLMLingua.
Troglodita50Kompresja 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.
ponytail166,731Viralowa umiejętność kodowania YAGNI „leniwego starszego programisty” — zainspirowała nasz styl danych wyjściowych less-code: ukierunkowanie na najmniejszą działającą zmianę, które ogranicza _generowany_ kod (odpowiednik zwięzłej prozy Cavemana dla osi danych wyjściowych).
i-have-adhd57,628Jego ukierunkowany na działanie, przyjazny osobom z ADHD styl odpowiedzi został zaadaptowany jako zwięzły styl danych wyjściowych OmniRoute w pięciu językach.
### 🧩 Kompaktowe formaty, badania nad tokenami i narzędzia uwzględniające kod
Projekt⭐Jak zainspirował OmniRoute
TOON25,509Notacja obiektowa zorientowana na tokeny — jej kolumnowy model nagłówka i wierszy ukształtował nasz etap kompaktowania tabelarycznego.
GCF – Graph Compact Format59Jego kompaktowy format grafów i projekt profilu ogólnego wpłynęły na kompaktowanie tabelaryczne OmniRoute oraz format kodeka Headroom.
gcf-typescript4Implementacja TypeScript na licencji MIT, bezpośrednio osadzona i rozszerzona jako kodek profilu ogólnego Headroom.
token-optimizer-mcp551Pamięć podręczna Brotli/SQLite oraz różnice kontekstu dla poszczególnych sesji — zainspirowały nasz silnik session-dedup.
token-savior1,182Kompaktowanie danych wyjściowych Bash oraz profile MCP — zainspirowały naszą zasadę rezygnacji z kompresji i redukcję manifestów narzędzi MCP.
token-saver154Uwzględniająca zawartość kompresja danych wyjściowych dla poszczególnych typów plików z rezygnacją w razie niepowodzenia — potwierdziła zasadność naszego rozdzielania według typów i pomijania kompresji przy zbyt małym zysku.
token-optimizer2,595„Znajdź tokeny widma” — zastosowany wzorzec przenoszenia danych i możliwego do odzyskania uchwytu wpłynął na naszą koncepcję przenoszenia danych CCR.
TokenMizer33Wzorzec grafu sesji oraz deduplikacji wierszy między turami, który wpłynął na projekt naszego mechanizmu session-dedup.
OmniCompress3Kolumnowy JSON w języku Rust, pobieranie adresowane zawartością oraz deduplikacja między wiadomościami — potwierdziły zasadność projektu naszych silników headroom/ccr/session-dedup i stabilnego względem pamięci podręcznej niezmiennika „skompresowana postać jest niezależna od pozycji”.
mcp-compressor133Kompresja schematów i opisów narzędzi MCP — wpłynęła na naszą redukcję liczności manifestów narzędzi MCP.
RepoMapper217Ranking map repozytoriów w stylu Aider — wpłynął na nasze badania nad mapami repozytoriów i rankingiem pobierania.
quiet-shell-mcp4Deklaratywna redukcja danych wyjściowych powłoki za pośrednictwem MCP — potwierdziła zasadność naszego deklaratywnego kompaktowania danych wyjściowych Bash.
ts-morph6,205Zestaw narzędzi TypeScript Compiler API — zainspirował nasze usuwanie komentarzy oparte na parserze, które zachowuje literały ciągów znaków, szablonów i wyrażeń regularnych.
### 🧠 Pamięć i RAG
Projekt⭐Jak zainspirował OmniRoute
Mem067,385Uniwersalna warstwa pamięci — jej model serwera proxy jako granicy zapisu i odczytu ukształtował naszą architekturę pamięci.
Letta (MemGPT)25,179Agenci stanowi z pamięcią warstwową — zainspirowali nasz warstwowy model kontroli i odzyskiwania kontekstu (Context Control & Recovery, CCR).
WFGY1,800Taksonomia 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 przezroczysty serwer proxy
Projekt⭐Jak zainspirował OmniRoute
llm-interceptor79Przechwytywanie i analiza metodą MITM ruchu między asystentem programowania a LLM pomogły określić wczesne wymagania dotyczące Inspektora ruchu. Cztery wcześniej opracowane na tej podstawie moduły — scalanie SSE, normalizacja konwersacji, maskowanie sekretów i oczyszczanie nagłówków — zostały zastąpione niezależnymi implementacjami clean-room opartymi na publicznych standardach protokołów. Dwie powierzchnie 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.
ProxyBridge6,814Przezroczyste kierowanie ruchu przez serwer proxy dla poszczególnych procesów — zainspirowało nasz odporny na awarie mechanizm wyłączania 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.dev7,286Otwarta baza danych specyfikacji, cen i możliwości modeli AI — natywnie synchronizowana z naszym katalogiem modeli.
React Flow / xyflow38,705Biblioteka grafów opartych na węzłach, która obsługuje nasze działające w czasie rzeczywistym Compression Studio i Combo/Routing Studio.
LangGraph43,443Wizualizacja grafu przepływu pracy na żywo w LangGraph Studio zainspirowała widok kaskady w czasie rzeczywistym w naszych narzędziach Studio.
Langfuse35,990Model obserwowalności „ślad → zakres → generowanie” ukształtował nasz wykres kaskadowy w Compression Studio.
Kiali3,645Obserwowalność siatki usług Istio — zainspirowała nasze plakietki bezpieczników oraz wizualizacje krawędzi błędów w Routing/Combo Studio.
lobe-icons2,615Logo marek AI/LLM używane do wyświetlania ikon dostawców w całym naszym panelu.
flag-icons12,473Dostarcza flagi SVG na licencji MIT używane przez selektor języka w README.
### 🛡️ Bezpieczeństwo
Projekt⭐Jak zainspirował OmniRoute
awesome-secure-defaults722Starannie dobrana lista bibliotek domyślnie zapewniających bezpieczeństwo, która pomaga nam dokonywać wyborów w zakresie zabezpieczeń (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink).
### 🧭 Narzędzia uzupełniające
Projekt⭐Jak zainspirował OmniRoute
ClawRouter6,628Zainspirował deduplikację żądań, awaryjny bezkosztowy mechanizm rezerwowy, wymienne strategie Auto-Combo oraz wielojęzyczną klasyfikację intencji.
Antigravity-Manager32,333Mechanizmy ponownego mapowania modeli z uwzględnieniem konta, walidacji ścieżek plików wykonywalnych oraz obsługi etykiet planów wpłynęły na środowisko uruchomieniowe Antigravity w OmniRoute.
vscode-antigravity-cockpit4,850Jego kompaktowy format odliczania czasu do zresetowania limitu zainspirował odpowiedni sposób wyświetlania limitów dostawcy w OmniRoute.
AionUi33,611Integracje ACP zainspirowały funkcję automatycznego wykrywania zainstalowanych agentów CLI w OmniRoute.
CodexBar22,616Pomógł zidentyfikować powierzchnię limitów Grok Build; następnie OmniRoute niezależnie zweryfikował i skorygował format danych przesyłanych na żywo.
## 📄 Licencja Licencja MIT — szczegóły w pliku [LICENSE](LICENSE). ---
**[⬆ Powrót na górę](#-omniroute)** · Stworzone z ❤️ dla społeczności open-source AI. OmniRoute v3.8.53 · Node ≥22.22.2 · Licencja MIT · omniroute.online