# Conflicts: # README.md # config/quality/file-size-baseline.json # docs/diagrams/comparison-table.svg # docs/diagrams/free-tier-budget.svg # docs/diagrams/readme-hero.svg # docs/i18n/am/llm.txt # docs/i18n/ar/llm.txt # docs/i18n/az/llm.txt # docs/i18n/bg/llm.txt # docs/i18n/bn/llm.txt # docs/i18n/cs/llm.txt # docs/i18n/da/llm.txt # docs/i18n/de/llm.txt # docs/i18n/el/llm.txt # docs/i18n/es/llm.txt # docs/i18n/et/llm.txt # docs/i18n/fa/llm.txt # docs/i18n/fi/llm.txt # docs/i18n/fr/llm.txt # docs/i18n/ga/llm.txt # docs/i18n/gu/llm.txt # docs/i18n/ha/llm.txt # docs/i18n/he/llm.txt # docs/i18n/hi/llm.txt # docs/i18n/hr/llm.txt # docs/i18n/hu/llm.txt # docs/i18n/hy/llm.txt # docs/i18n/id/llm.txt # docs/i18n/ig/llm.txt # docs/i18n/it/llm.txt # docs/i18n/ja/llm.txt # docs/i18n/ka/llm.txt # docs/i18n/km/llm.txt # docs/i18n/kn/llm.txt # docs/i18n/ko/llm.txt # docs/i18n/lt/llm.txt # docs/i18n/lv/llm.txt # docs/i18n/ml/llm.txt # docs/i18n/mr/llm.txt # docs/i18n/ms/llm.txt # docs/i18n/mt/llm.txt # docs/i18n/my/llm.txt # docs/i18n/ne/llm.txt # docs/i18n/nl/llm.txt # docs/i18n/no/llm.txt # docs/i18n/or/llm.txt # docs/i18n/pa/llm.txt # docs/i18n/phi/llm.txt # docs/i18n/pl/llm.txt # docs/i18n/pt-BR/llm.txt # docs/i18n/pt/llm.txt # docs/i18n/ro/llm.txt # docs/i18n/ru/llm.txt # docs/i18n/si/llm.txt # docs/i18n/sk/llm.txt # docs/i18n/sl/llm.txt # docs/i18n/sr/llm.txt # docs/i18n/sv/llm.txt # docs/i18n/sw/llm.txt # docs/i18n/ta/llm.txt # docs/i18n/te/llm.txt # docs/i18n/th/llm.txt # docs/i18n/tr/llm.txt # docs/i18n/uk-UA/llm.txt # docs/i18n/ur/llm.txt # docs/i18n/uz/llm.txt # docs/i18n/vi/llm.txt # docs/i18n/yo/llm.txt # docs/i18n/zh-CN/llm.txt # docs/i18n/zh-TW/llm.txt # docs/reference/PROVIDER_REFERENCE.md # docs/screenshots/free-tier-budget-card.svg
README (Polski)
🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW
💰 ~1,47 mld darmowych tokenów / miesiąc
Ręczne łączenie darmowych planów jest uciążliwe — dziesiątki zestawów SDK, dziesiątki limitów szybkości i brak wiedzy o faktycznie dostępnych zasobach. OmniRoute kataloguje 452 wpisy darmowych planów w ramach 34 kluczy cyklicznych pul i oblicza łączną liczbę tokenów na podstawie 16 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 jako +~6 mln za regionalną weryfikacją tożsamości i nigdy nie są doliczane do głównej wartości. Wynik pozostaje widoczny w panelu (
/dashboard/free-tiers).
Animowane podsumowanie bieżącej strony
/dashboard/free-tiers. Pełna metodologia (eliminacja duplikatów pul, poziomy środków, warunki dostawców): docs/reference/FREE_TIERS.md.Wartości te są ponownie weryfikowane co dwa tygodnie na podstawie aktualnego katalogu i zmieniają się w obie strony — gdy dostawca kończy darmowy plan, liczba spada; gdy pojawia się nowy, liczba rośnie. Publikujemy wartości faktycznie obliczone przez katalog, nigdy zaokrąglony w górę najlepszy możliwy wariant.
⭐ Dodaj gwiazdkę do repozytorium, jeśli OMNIROUTE pomógł Ci zaoszczędzić pieniądze i ułatwił pracę.
💬 Dołącz do społeczności
👋 Obserwuj opiekuna projektu — jako pierwszy otrzymuj informacje o nowych dostawcach, wydaniach i wskazówkach:
Pytania, wskazówki dotyczące dostawców, plan rozwoju i wsparcie → Discord · Telegram · WhatsApp 🌍 Globalnie / 🇧🇷 Brazylia / Portal
📈 Brama stale się rozwija
| v3.8.49 | v3.8.50 | v3.8.51+ |
|
|---|---|---|---|
| 🌐 Dostawcy | 290 | 352 | więcej w kolejce |
| 🧠 Unikalne identyfikatory modeli czatu | 1185 | 1312 | — |
| 🖼️ Most modalności | — | 🆕 obraz + dźwięk + wideo | — |
| 📡 Bezpłatny katalog Radar | — | 🆕 opcjonalny | — |
| ⚖️ Planowanie uwzględniające limity | — | 🆕 Quota-Share | — |
| 📊 Telemetria limitów | — | 🆕 na żywo | — |
→ Plan rozwoju — na torach do v3.9.0 LTS
🧩 Dostępność
| 🚀 Rozpocznij | 🚀 Szybki start | 📦 Instalacja | 🆓 Bez konfiguracji |
| 💡 Dowiedz się więcej | 💥 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 | 💚 Wsparcie / Darowizna | 💬 Społeczność | 💖 Sponsorzy |
| 📦 Projekt | 🛠️ Stos technologiczny | 📖 Dokumentacja | 👥 Współtwórcy |
🆓 Działa od razu po instalacji — bez kluczy i konfiguracji
# Świeża instalacja, bez danych uwierzytelniających — `auto` już działa:
curl http://localhost:20128/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'
Wolisz konkretny bezpłatny backend? Wywołaj bezpośrednio oc/… (OpenCode Free). Następnie przejdź na auto i pozwól OmniRoute dokonać wyboru.
📦 Gotowe do skopiowania skrypty szybkiego startu dla Python, Node.js, PHP i cURL → examples/quickstart/
💥 Obietnica
🤔 Dlaczego OmniRoute?
🤝 Wspierane przez naszych Przyjaciół Open Source
Chcesz dołączyć jako Przyjaciel Open Source? Oto firmy, które wspierają open source i pomagają rozwijać OmniRoute — a my publicznie informujemy, na co przeznaczamy każdy przekazany przez nie token. Skontaktuj się z nami: diegosouza.pw@outlook.com
|
Kimi Moonshot AI |
Dziękujemy Kimi (Moonshot AI), naszemu założycielskiemu Przyjacielowi Open Source, za wspieranie tego projektu! Kimi to laboratorium AI stojące za rodzinami modeli K2 i K3 z otwartymi wagami — Kimi K3 oferuje okno kontekstowe o wielkości 1 mln tokenów, natywną obsługę obrazu oraz możliwości programistyczne na najwyższym poziomie za ułamek ceny modeli zamkniętych, a także działa od razu z Claude Code, Codex i każdym narzędziem programistycznym obsługiwanym przez OmniRoute.
Co umożliwia wsparcie Kimi: kredyty API Kimi zasilają oparty na AI potok walidacji wydań OmniRoute — etap walidacji scalania obsługiwany przez Kimi K3, który sprawdza każde żądanie pull request przed jego wydaniem — a także codzienny rozwój funkcji. Pełna obsługa Kimi jest dostępna na obu ścieżkach: przez bezpośrednie Kimi API ( kimi-k3) oraz plan programistyczny Kimi Code (OAuth i klucz API). OmniRoute jest także pierwszym brazylijskim projektem open source w programie wsparcia Kimi. Uzyskaj klucz Kimi API z 15% dodatkowymi kredytami →
|
|
Cheaper Inference cheaperinference.com |
Dziękujemy Cheaper Inference, Przyjacielowi Open Source projektu OmniRoute, za wspieranie tego projektu! Cheaper Inference to brama szeregująca modele według kosztów, która odsprzedaje dostęp do 42 najnowocześniejszych modeli — Claude, GPT-5.x, Gemini, Kimi K3, GLM, DeepSeek, Grok i MiniMax — za pośrednictwem jednego punktu końcowego zgodnego z OpenAI, kierując każde żądanie do najtańszego kwalifikującego się dostawcy i nigdy nie naliczając więcej niż cena katalogowa producenta modelu.
Pełna obsługa w OmniRoute: Chat Completions, natywny punkt końcowy /v1/responses, obsługa obrazu, wywoływanie narzędzi oraz 3 modele generowania obrazów (grok-imagine, nano-banana-pro, nano-banana-2, dostępne jako cheaperinference/<model>). Uzyskaj klucz API →
|
Linki oznaczone aff=omniroute są linkami partnerskimi. Finansują projekt bez żadnych dodatkowych kosztów dla Ciebie.
🎟️ Promocje partnerskie — bezpłatne kupony powitalne 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ę powyżej, w sekcji 🤝 Wspierane przez naszych Przyjaciół Open Source. OmniRoute nie jest sponsorowane przez wymienionych tutaj dostawców ani nie łączy go z nimi partnerstwo — są to publiczne kupony, z których może skorzystać każdy.
|
AgentRouter agentrouter.org |
AgentRouter — rejestracja partnerska · $100 bezpłatnych kredytów po rejestracji (bezpłatny serwer, należy spodziewać się większych opóźnień — najlepszy do testów, nie do zastosowań produkcyjnych). Pełna obsługa w OmniRoute od wersji v3.8.50: Chat Completions, format komunikacji zgodny z Anthropic oraz ścieżka zgodna z OpenAI. Dostępne modele obejmują claude-opus-4-8, claude-opus-5, gpt-5.6-sol i inne. Odbierz swoje $100 →
⚠️ Link partnerski — OmniRoute nie jest sponsorowane przez tego dostawcę ani nie łączy go z nim partnerstwo. |
Znasz innego dostawcę oferującego hojny, bezpłatny kupon powitalny, który przyniósłby korzyści użytkownikom OmniRoute? Otwórz zgłoszenie, a dodamy go tutaj.
🎯 Kombinacje — flagowa funkcja
Kombinacja to łańcuch modeli, między którymi OmniRoute przełącza ruch 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 jego wariantów), a OmniRoute utworzy wirtualną kombinację z połączonych dostawców, ocenianych na bieżąco:
| Identyfikator modelu | Co optymalizuje |
|---|---|
auto | 🎯 Zrównoważone ustawienie domyślne (LKGP — pozostaje przy ostatnim sprawdzonym dostawcy) |
auto/coding | 🧑💻 Wagi z priorytetem jakości przy generowaniu kodu |
auto/fast | ⚡ Najpierw najniższe opóźnienie |
auto/cheap | 💰 Najpierw najniższy koszt tokenu |
auto/offline | 🔋 Najpierw największy zapas limitu / ograniczenia szybkości |
auto/smart | 🔭 Priorytet jakości + 10% eksploracji w celu wykrywania lepszych modeli |
auto/lkgp | 📌 Jawne trzymanie się ostatniego sprawdzonego dostawcy |
auto/chaos | 🧪 Wagi wstrzykiwania błędów do testowania odporności (inżynieria chaosu) |
🔀 Lub utwórz własną — 19 strategii routingu
Wszystkie 19 strategii — dowolnie łącz je w poszczególnych krokach kombinacji:
| # | Strategia | Jak działa |
|---|---|---|
| 1 | priority |
Uporządkowana lista z pierwszym celem — wyczerpuje każdy z nich 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 według wagi każdego celu |
| 4 | round-robin |
Cyklicznie przechodzi przez cele w ustalonej kolejności |
| 5 | p2c |
Losowe równoważenie obciążenia metodą wyboru z dwóch opcji |
| 6 | least-used |
Wybiera cel z najniższym bieżącym obciążeniem |
| 7 | random |
Jednostajny wybór losowy (z deduplikacją) |
| 8 | strict-random |
Losowy wybór bez usuwania powtórzeń 🎲 |
| 9 | cost-optimized |
Minimalizuje koszt w $ na żądanie na podstawie aktualnych 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 najlepsze dopasowanie do bieżącego rozmiaru kontekstu |
| 15 | cache-optimized |
Przypisuje każdy prefiks podpowiedzi wielokrotnego użytku do tego samego konta — maksymalizuje trafienia w pamięci podręcznej podpowiedzi 🎯 |
| 16 | lkgp |
Ostatnia znana sprawna ścieżka — przypisuje ruch do ostatniego dostawcy, który obsłużył żądanie pomyślnie, a następnie korzysta z reguł awaryjnych |
| 17 | auto |
Bieżąca ocena każdego połączenia na podstawie 16 czynników 🤖 |
| 18 | fusion |
Rozsyła żądanie do panelu modeli, a model oceniający syntetyzuje jedną odpowiedź 🧬 |
| 19 | pipeline |
Łączy kroki — 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.
🧱 Odporność jest wbudowana (3 niezależne warstwy)
📖 Silnik Auto-Combo · Przewodnik po odporności
🏆 Co wyróżnia OmniRoute
📊 Pełna metodologia i szczegóły poszczególnych funkcji w porównaniu z 9router, OpenRouter, CLIProxyAPI i LiteLLM → 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 repozytorium | Bezpłatnie — naprawdę pomaga zwiększyć widoczność | Dodaj gwiazdkę OmniRoute |
| 🐙 GitHub Sponsors | Jednorazowo lub co miesiąc · bez opłat platformowych | github.com/sponsors/diegosouzapw |
| ☕ Ko-fi | Szybki jednorazowy datek, bez konieczności rejestracji darczyńcy | ko-fi.com/diegosouzapw |
| 🧋 Buy Me a Coffee | Drobny, nieformalny gest | buymeacoffee.com/diegosouzapw |
| 🖐 Liberapay | Cyklicznie · organizacja non-profit · open source | liberapay.com/diegosouzapw |
| 🇧🇷 PIX (Brazylia) | Natychmiastowo, bez opłat | klucz i kod QR poniżej |
| ₿ Kryptowaluty | BTC · ETH · USDT-TRC20 · USDC-Solana | adresy poniżej |
🇧🇷 PIX — natychmiastowo, bez opłat (Brazylia)
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ąć)
| ₿ BTC | Bitcoin (SegWit) | bc1qh00smz004sy85wyl28v77tenkt3ckl6eaep7fd |
| Ξ ETH | Ethereum (ERC20) | 0x64Cf6B68A6Ff34288e89172950a2d00102337a84 |
| ₮ USDT | Tron (TRC20) | TKAF41JpuQrHbKTnsQa9svJE2T192Hvsc2 |
| $ USDC | Solana | 2emNNZzVVWQc3FQ2wk9M6qXUQmW8AKdjjL174fXR28Tu |
⚠️ 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ę.
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łówny limit bezpłatnego planu nadal wynosi ~1,47 mld tokenów/miesiąc zgodnie z opisanym powyżej katalogiem po deduplikacji wspólnych pul. Tymczasowe środki przyznawane przez dostawców za rejestrację mogą dodatkowo zwiększyć limit w pierwszym miesiącu do ~2,07 mld. Radar to opcjonalna, podpisana nakładka na katalog przeznaczona dla osób, które chcą otrzymywać bardziej aktualne informacje o dostępności bezpłatnych modeli pomiędzy wydaniami OmniRoute; katalog społecznościowy i wszystkie dotychczasowe bezpłatne funkcje pozostają darmowe.
Osoby wspierające projekt mogą otrzymywać aktualizowany na bieżąco katalog oraz dostęp do dodatkowych możliwości oferowanych przez dostawców. Jego oddzielny, zmienny limit wynosi maksymalnie około 3 mld tokenów/miesiąc, zależnie od dostępności dostawców. Limit ten nie jest gwarantowany: dostawcy mogą w dowolnym momencie zmienić limity, kryteria kwalifikacji, modele lub regiony.
Radar jest opcjonalny i korzysta wyłącznie z żądań GET. Klient OmniRoute nie przesyła promptów, ruchu, konfiguracji dostawców, telemetrii użycia ani lokalnego stanu odrzucenia komunikatów. Informacje o kryteriach kwalifikacji i aktualnym katalogu znajdziesz na stronie radar.omniroute.online/planos.
✨ Co nowego
Najważniejsze ostatnie zmiany od v3.8.20 → v3.8.50. Pełna historia znajduje się w
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 Faro typu „naciśnij, aby mówić”. → Serwer A2A
- 🛂 Adaptacyjne dopuszczanie i ochrona przed przeciążeniem — zasobożerne żą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
- 🗂️ Kanoniczna kolejność
/v1/models— jeden ciągły blok pogrupowany według dostawcy dla każdego dostawcy (kombinacje przypięte na początku), stabilny we wszystkich źródłach katalogu. → Dokumentacja API - 🗜️ Wzmocniona kompresja — domyślnie włączone zabezpieczenie przed nadmierną dekompresją, pakiety Caveman dla DE / FR / JA oraz języka chińskiego (wényán), filtry RTK dla Gradle i .NET. → Kompresja
- 💸 Rzetelny koszt ryczałtowy — dostawcy subskrypcyjni / planów programistycznych wykazują koszt $0 w analityce kosztów; budżet, limit i routing nadal korzystają z szacunków. → Dokumentacja API
- ⚖️ Routing Quota-Share — sprawiedliwie rozdziela limit współdzielonego konta między klucze w puli, z pełnym wykorzystaniem zasobów dzięki udostępnianiu niewykorzystanych przydziałów. → Przewodnik po odporności
- 🤖 Konfiguracja CLI/agenta jednym poleceniem — 13 zarejestrowanych poleceń
setup-*;omniroute runuruchamia 7 narzędzi CLI (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI);omniroute configureobsługuje 10 środowisk docelowych, oferując interaktywny wybór dostawcy i modelu oraz ulubione pozycje dla poszczególnych kontekstów. → Integracje CLI - 🛰️ Tryb zdalny — sterowanie zdalną instancją OmniRoute za pomocą tokenów o ograniczonym zakresie (
connect/contexts/tokens) oraz pomocnika OAuthantigravityprzeznaczonego do instalacji na VPS. → Tryb zdalny - 🧭 Inteligentniejszy automatyczny routing — kombinacje
auto/<category>:<tier>, Fusion (panel modeli + sędzia), routing uwzględniający rodzaj zadania oraz nadpisywanie modelu / trybu / budżetu w USD dla poszczególnych żądań. → Auto-Combo - 🗜️ Modułowa kompresja — 12 współpracujących ze sobą silników + Compression Studios: LLMLingua-2, dwupoziomowy Ultra, omniglyph, bramka wierności dla poszczególnych kroków, GCF v3.2, edytor zmiany kolejności metodą przeciągania. → Kompresja
- 🕵️ Przezroczyste odszyfrowywanie MITM (TPROXY) — przechwytywanie narzędzi CLI, które ignorują zmienne środowiskowe serwera proxy, z urzędem certyfikacji dla poszczególnych SNI oraz instalatorem magazynu zaufanych certyfikatów. → MITM/TPROXY
- 💸 Telemetria kosztów wszędzie — nagłówki kosztów/użycia
X-OmniRoute-*w każdym punkcie końcowym, nagłówek oszczędności z trafień pamięci podręcznej oraz limity wydatków w USD dla poszczególnych kluczy. → Dokumentacja API - 🧠 Pamięć pod Twoją kontrolą — domyślnie wyłączona, opcjonalna kwantyzacja wektorów int8 + typowany zanik, a także
x-omniroute-no-memorydla poszczególnych żądań. → Pamięć - 🛡️ 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/sekrety w obu kierunkach), bezpłatne wyszukiwanie internetowe DuckDuckGo ostatniej szansy oraz opcjonalna brama logowania OIDC do pulpitu (logowanie hasłem pozostaje zawsze dostępne). → Zabezpieczenia
- 🖼️ Nowe punkty końcowe —
/v1/ocr(Mistral OCR) i/v1/audio/translations(w stylu Whisper) uzupełniają obsługę multimediów. → Dokumentacja API - 🎨 Generowanie obrazów / wideo / audio — jedno API do multimediów: xAI Grok Imagine i wideo Novita AI, ComfyUI, Magnific, Adobe Firefly, Segmind oraz dostawcy syntezy mowy, tacy jak ElevenLabs. → Dokumentacja API
- 🌍 Wdrażanie i eksploatacja —
basePathodwrotnego serwera proxy, automatyczne wykrywanie języka przeglądarki, śledzenie urządzeń dla poszczególnych kluczy, zaufanie MITM bez uprawnień roota, lokalizacja zh-TW. → Środowisko - 🤝 Więcej dostawców i agentów — agenci chmurowi (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) z przeglądarką + 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
- 📡 Przejrzystość routingu — każda odpowiedź zawiera nagłówek
X-OmniRoute-Decisionwskazujący strategię/dostawcę/opóźnienie, które ją obsłużyły; nowa strategia kombinacjicache-optimizedoraz czynnik Auto-CombocacheAffinitykierują powtórzone żądania z powrotem do połączenia przechowującego prefiks w pamięci podręcznej, a punkt końcowy/v1/auto-combo/{channel}/candidatestylko do odczytu udostępnia bieżącą pulę kandydatów kanałuauto/*. → Auto-Combo - ⚡ Lokalna wydajność i infrastruktura — lokalny Redis uruchamiany jednym kliknięciem, narzędzia wdrożeniowe przekaźników Cloudflare Workers / Deno Deploy oraz Bifrost i Mux jako nadzorowane usługi wbudowane. → Usługi wbudowane
- 🧩 Również w zestawie — framework wtyczek + marketplace, frameworki umiejętności Omni/Agent/GitHub, integracja z repozytorium Obsidian (22 narzędzia MCP), zgodne z OpenAI interfejsy API Batch i Files, semantyczna pamięć podręczna odpowiedzi, grywalizacja z rankingami, wykrywanie agentów ACP (15 wbudowanych agentów), zaplanowany eksport logów do BigQuery, wstrzykiwanie awarii
auto/chaos, most z botem Telegram, wbudowany menedżer wersji oraz rankingi ELO bezpłatnych dostawców LMArena. → Dokumentacja
🤖 Kompatybilne narzędzia 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 bezpłatnymi i niedrogimi modelami.
Claude Code |
Codex CLI |
Cline |
Kilo Code |
Zoo Code |
Continue |
Aider |
ForgeCode |
jcode |
DeepSeek TUI |
CodeWhale |
OpenCode |
Factory Droid |
Copilot CLI |
Cursor CLI |
Smelt |
Pi |
Grok Build |
Hermes Agent |
OpenClaw |
Goose |
Open Interpreter |
Warp AI |
Agent Deck |
📖 Konfiguracja każdego z 36 narzędzi (26 narzędzi CLI Code + 10 agentów CLI) → docs/reference/CLI-TOOLS.md · 🧩 Wtyczka OpenCode → @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 jednorazowym, izolowanym katalogiem domowym dla Qwen/Gemini:
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 # również: claude opencode qwen aider goose gemini cline continue kilo
Każde polecenie uwzględnia aktywny kontekst zdalny (omniroute connect <host>), opcja --dry-run
wyświetla dokładny podgląd zmiennych środowiskowych i argumentów bez uruchamiania polecenia, a --api-key-env NAME zapobiega
zapisywaniu sekretów w historii powłoki. → Integracje CLI
🌐 352 dostawców AI — 152 oznaczonych w katalogu jako bezpłatni
352 zarejestrowanych dostawców w kanonicznych kolekcjach czatu, multimediów, wyszukiwania, rozwiązań lokalnych, agentów chmurowych i systemowych, w tym 152 z metadanymi wykrywania
hasFree: true. Rejestr modeli czatu obejmuje 229 dostawców / 2 554 odrębne pary dostawca–model / 1 283 nieprzetworzone identyfikatory modeli; oddzielny katalog bezpłatnych limitów zawiera 443 wiersze dla poszczególnych modeli, 34 odnawialne pule oraz 53 dostawców oferujących odnawialny lub niewymagający klucza bezpłatny dostęp bezterminowy. Z założenia są to różne mianowniki; definicje i obliczenia z deduplikacją pul znajdują się w dokumentach Informacje o dostawcach i Bezpłatne plany.
🏢 Każde duże laboratorium — za pośrednictwem jednego punktu końcowego
OpenAI |
Anthropic |
Gemini |
xAI Grok |
DeepSeek |
Mistral |
Qwen |
Meta Llama |
Groq |
NVIDIA |
MiniMax |
Cohere |
Perplexity |
HuggingFace |
Together |
Fireworks |
Cloudflare |
Baidu |
…oraz ponad 330 innych — każda ikona jest pobierana na żywo z katalogu dostawców panelu. 📖 Informacje o dostawcach
🆓 Bezpłatnie bezterminowo — $0, bez karty
📖 Pełny katalog w formacie do odczytu maszynowego → 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.
| Platforma | Instalacja | Najważniejsze cechy |
|---|---|---|
| 📦 npm (globalnie) | npm install -g omniroute | Jedno polecenie, dowolny system operacyjny |
| 🐳 Docker | docker run … diegosouzapw/omniroute | Wiele architektur: AMD64 + ARM64 |
| 🖥️ Aplikacja desktopowa (Electron) | npm run electron:build | Natywne okno + zasobnik systemowy — Windows / macOS / Linux |
| 🎩 Pasek menu (OmniRouteTray) | brew install --cask zoispag/tap/omniroute-tray | Nadzoruje i automatycznie aktualizuje serwer — macOS |
| 💪 ARM | natywne arm64 | Raspberry Pi, serwery ARM, Apple Silicon |
| 📱 Android (Termux) | pkg install nodejs && npx -y omniroute | Dział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-provider | Natywna integracja z OpenCode |
| 🤖 VS Code Copilot Chat | zainstaluj rozszerzenie OmniCopilot | Każdy model OmniRoute w natywnym selektorze Copilot Chat — wersje stabilne i Insiders |
| 🛠️ Ze źródeł | npm install && npm run dev | Modyfikuj i współtwórz |
📖 Przewodnik po Dockerze · Aplikacja desktopowa · Zasobnik na pasku menu · Termux · PWA · OpenCode
🧩 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, wskaż mu
swój serwer OmniRoute (domyślnie localhost:20128), a następnie otwórz Copilot Chat → selektor modeli
→ Zarządzaj modelami… → OmniRoute.
| Sklep | Łącze | Działa z |
|---|---|---|
| 🧩 VS Code Marketplace | Zainstaluj → | VS Code — wersje stabilne i Insiders |
| 🔓 Open VSX Registry | Zainstaluj → | 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.
📖 Przewodnik po VS Code Copilot Chat — konfiguracja, zawartość selektora, panel w karcie, rozwiązywanie problemów
🎩 Nowość: OmniRouteTray — Twoja brama dostępna z paska menu
omniroute servedziała najlepiej, gdy jest stale uruchomione. OmniRouteTray 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 pilnowanianpm install -g omniroute.
Aplikacja została zbudowana przy użyciu Tauri v2 (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 robi | Jak |
|---|---|
| 🟢 Nadzoruje serwer | Uruchamia omniroute serve i przejmuje już działającą instancję zamiast ją duplikować |
| 📊 Bieżące użycie w skrócie | Paski limitów dostawców, limity sesji i tygodniowe Claude z odliczaniem do ich zresetowania oraz zestawienie kosztów za 30 dni |
| 🔄 Automatycznie aktualizuje w miejscu | Instalacja etapowa, atomowa podmiana i wycofanie zmian w razie błędu — zawsze najnowsza wersja |
| 🚀 Uruchamia przy logowaniu | Opcjonalne uruchamianie przy logowaniu; tylko zasobnik, bez ikony w Docku |
| 🩺 Diagnostyka i dzienniki | Diagnostyka jednym kliknięciem i dostęp do dzienników serwera |
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
📖 Autoryzacja · Mechanizmy ochronne · Zgodność
🔌 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)
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.
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
🤝 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.
| Interfejs | Punkt końcowy / polecenie | Zastosowanie |
|---|---|---|
| 🧰 MCP (stdio) | omniroute --mcp | Integracja z Claude Desktop, Cursor lub dowolnym klientem MCP |
| 🌊 MCP (HTTP) | /api/mcp/stream | Zdalny MCP — 110 narzędzi, 33 zakresy (egzekwowanie opcjonalne), pełny dziennik audytowy |
| 📡 MCP (SSE) | /api/mcp/sse | Strumieniowy transport MCP |
| 🤝 A2A | /.well-known/agent.json | Komunikacja 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/webhooks | Wysyłanie zdarzeń żądań / limitów do Slacka, Discorda, Telegrama lub dowolnego adresu URL |
| 🛰️ Zdalny CLI | omniroute connect | Sterowanie zdalną instancją za pomocą tokenów dostępu z określonym zakresem |
# 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 · Serwer A2A · Protokoły agentowe
🗜️ Oszczędzaj 15–95% tokenów — automatycznie
📖 Jak to działa — potok, architektura i obliczanie oszczędności
Domyślna kombinacja stosu uruchamia RTK → Caveman. Gdy oba silniki przetwarzają ten sam ładunek narzędzi lub kontekstu, oszczędności się kumulują:
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 kilka wystarczy? Każde żądanie przechodzi przez potok kompresji OmniRoute w sposób transparentny — bez zmian po stronie klienta. Jest to teraz stos 12 komponowalnych silników, które działają w określonej kolejności i można je dowolnie łączyć dla każdej kombinacji routingu — na podstawie koncepcji z projektów RTK, Caveman (⭐ ponad 90 tys.), LLMLingua-2 oraz 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 każdej kombinacji:
| # | Silnik | Działanie |
|---|---|---|
| 1 | Session-Dedup | Usuwa zawartość powtarzającą się między turami (adresowaną zawartością, między turami) |
| 2 | CCR | Archiwizuje duże bloki za znacznikami pobierania, umożliwiając ich pobranie na żądanie |
| 3 | Lite | Usuwa zbędne białe znaki i adresy URL obrazów (lekka pod względem opóźnień konfiguracja bazowa) |
| 4 | RTK | Inteligentnie filtruje, deduplikuje i skraca wyniki narzędzi (z uwzględnieniem poleceń) |
| 5 | Responses Tool Output | Bezstratne w pierwszej kolejności przetwarzanie JSON oraz ograniczona kompresja diagnostyczna wyników powłoki, łatek, wyszukiwania i kompilacji (Responses API) |
| 6 | Headroom | Bezstratnie kompaktuje tablicowe dane JSON (~30%) za pomocą dołączonego kodeka GCF |
| 7 | Relevance | Ekstrakcyjnie ocenia zdania względem ostatniego zapytania użytkownika |
| 8 | Caveman | Kompresuje prozę na podstawie reguł (~65–75% na wyjściu) |
| 9 | Aggressive | Podsumowuje i stopniowo kondensuje starsze tury |
| 10 | LLMLingua-2 | Semantycznie redukuje treść za pomocą ML i MobileBERT ONNX — bezpiecznie dla kodu, asynchronicznie |
| 11 | Ultra | Heurystycznie redukuje tokeny z opcjonalną warstwą małego modelu (SLM) |
| 12 | OmniGlyph | Eksperymentalne kodowanie kontekstu jako obrazu dla przetestowanego modelu Claude Fable 5 przy bezpośredniej komunikacji z Anthropic; transformatory GPT 5.6 pozostają domyślnie wyłączone 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 bez zmiany choćby jednego bajtu. Ustawienia wstępne dostępne jednym kliknięciem łączą silniki:
| Tryb | Oszczędności | Najlepsze zastosowanie |
|---|---|---|
| 🪶 Lite | ~15% | Bezpieślna konfiguracja domyślna działająca przez cały czas |
| 🪨 Standard (Caveman) | ~30% | Codzienne programowanie |
| ⚡ Aggressive | ~50% | Długie sesje intensywnie korzystające z narzędzi |
| 🔥 Ultra | ~75% | Maksymalne oszczędności |
| 🧰 RTK | 60–90% | Dane wyjściowe powłoki, testów, kompilacji i git |
| 🔗 Stos (RTK → Caveman) | 78–95% | Mieszane prompty i dzienniki narzędzi |
Rzeczywisty przykład — tryb Standard:
Przed (69 tokenów): „Przyczyną ponownego renderowania komponentu React jest prawdopodobnie tworzenie nowej referencji do obiektu przy każdym cyklu renderowania. Gdy przekazujesz obiekt inline jako właściwość, płytkie porównanie React traktuje go za każdym razem jako inny obiekt, co wyzwala ponowne renderowanie. Zalecam użycie useMemo do zapamiętania obiektu.”
Po (19 tokenów): „Nowa referencja obiektu przy każdym renderowaniu. Obiekt inline jako właściwość = nowa referencja = ponowne renderowanie. Opakuj w useMemo.”
Ta sama odpowiedź. O 72% mniej tokenów. Zero utraty dokładności. ✅
Przykład PT-BR — tryb 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 ref. w każdym cyklu (ponownie tworzony obiekt inline). Użyć
useMemo.”Ta sama odpowiedź. ~70% mniej tokenów. Zachowana precyzja techniczna. ✅
🎚️ Więcej niż silniki — style wyjścia, adaptacyjne pokrętło i sterowanie dla każdego żądania
Powyższe 12 silników zmniejsza to, co trafia na wejście. Trzy dodatkowe warstwy kształtują jak, kiedy i co trafia na wyjście:
- 🪄 Style wyjścia (sterowanie osią wyjściową) — wstrzykują deterministyczne, bezpieczne dla pamięci podręcznej instrukcje kształtujące odpowiedź; 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 pełną precyzję techniczną.
- Mniej kodu — YAGNI w stylu „leniwego starszego programisty”: najmniejsza działająca zmiana, bez niezamówionej otoczki.
- Ponytail (leniwy starszy programista) — wspina się po drabinie YAGNI, naprawia 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 następny 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 jednego progu tokenów typu włącz/wyłącz uruchamia najtańsze, najmniej stratne silniki tylko w zakresie koniecznym, aby zmieścić się w oknie kontekstu modelu. Zasady:
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 mechanizm progowy). - 🎛️ Gdzie podejmowana jest decyzja o kompresji (kolejność pierwszeństwa, od najwyższego do najniższego) — nagłówek
x-omniroute-compressiondla żądania › nadpisanie kombinacji routingu › aktywny nazwany profil › mechanizm adaptacyjny / automatyczne wyzwalanie › ustawienie domyślne panelu › wyłączone. Zastosowany plan jest zwracany w nagłówku odpowiedziX-OmniRoute-Compression: <mode>; source=<source>.
Ustaw automatyczne wyzwalanie według progu tokenów, włącz adaptacyjne pokrętło, przypnij nazwany profil, ustaw jednorazową konfigurację dla żądania lub przypisz potok do kombinacji routingu — zależnie od obciążenia. Opcjonalny, działający offline zestaw ewaluacyjny (npm run eval:compression) ocenia zgodność względem oszczędności na przypiętym korpusie, zanim wdrożysz zmianę.
📖 COMPRESSION_GUIDE.md · RTK_COMPRESSION.md · COMPRESSION_ENGINES.md
⚡ Szybki start
1) Zainstaluj i uruchom
npm install -g omniroute
omniroute
💡 Widzisz
npm warn ERESOLVElub ostrzeżenia dotyczące zależności równorzędnych? Są nieszkodliwe.
Panel jest dostępny pod adresem http://localhost:20128 · API pod adresem http://localhost:20128/v1.
2) Połącz DARMOWEGO dostawcę (bez rejestracji)
Panel → Dostawcy → połącz Kiro AI (darmowy Claude, ~50 kredytów miesięcznie na konto) lub OpenCode Free (bez uwierzytelniania) → gotowe.
3) Skonfiguruj narzędzie programistyczne
Bazowy URL: http://localhost:20128/v1
Klucz API: [skopiuj z Panel → Punkty końcowe]
Model: auto (inteligentny routing bez konfiguracji — lub dowolny dostawca/model)
4) Sprawdź, czy działa
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
Powinna pojawić się lista połączonych modeli. 🎉 To wszystko — zacznij programować, a OmniRoute automatycznie wybierze trasę i w razie potrzeby przełączy się na rozwiązanie zapasowe.
Jeśli klient nie może wysyłać niestandardowych nagłówków, OmniRoute udostępnia również tokenizowane aliasy zgodności:
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ć Authorization: Bearer .... Uwierzytelnianie za pomocą nagłówka pozostaje preferowanym trybem.
📦 Więcej metod instalacji — Docker, kod źródłowy, pnpm, Arch
🐳 Docker
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.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 |
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.
Kanał przedpremierowy Dockera:
diegosouzapw/omniroute:nextorazdiegosouzapw/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.
🥟 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 sterownikabun:sqlite, a w środowisku Node.js korzysta awaryjnie zbetter-sqlite3lubsql.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_TURBOPACKdokładnie tak samo jak w Node: domyślnie Turbopack, aOMNIROUTE_USE_TURBOPACK=0pozwala budować za pomocą Webpack (Dockerfile.bunudostępnia tę opcję jako--build-arg). - Dedykowany plik Dockerfile dla Bun: wieloetapowy
Dockerfile.bundo natywnych wdrożeń produkcyjnych Bun (docker build -f Dockerfile.bun -t omniroute:bun .).
# Zainstaluj i uruchom za pomocą Bun
bun install
bun run dev
🛠️ Z kodu źródłowego
cp .env.example .env && npm install
PORT=20128 npm run dev
📦 pnpm
pnpm add -g omniroute@latest --allow-build=better-sqlite3 --allow-build=@swc/core && omniroute
🐧 Arch Linux (AUR)
yay -S omniroute-bin && systemctl --user enable --now omniroute.service
🔧 Nix (Flake)
# Korzystanie z płatków Nix
nix develop
npm run dev
# Lub korzystanie z devbox
devbox run npm run dev
📖 Przewodnik po Dockerze — profile Compose, HTTPS z Caddy, tunele Cloudflare.
🦭 Podman
# 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.
📖 Przewodnik po Podmanie — 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):
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. 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
Pełny ranking (zdeduplikowane kanoniczne adresy URL, v > 0, największy zasięg):
| #1 | #2 | #3 | #4 | #5 |
|---|---|---|---|---|
| nick_saraev — Instagram — 3,042,474 | theopenstack — Instagram — 692,419 | milesreevesai — TikTok — 620,400 | Vaibhav Sisinty — YouTube — 391,109 | buildwithai.club — Instagram — 347,652 |
| #6 | #7 | #8 | #9 | #10 |
|---|---|---|---|---|
| nivedan.ai — Instagram — 331,973 | vaibhavsisinty — Instagram — 263,744 | Nick Automates — YouTube Shorts — 218,174 | theroshankrishna — Instagram — 186,786 | midudev — TikTok — 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 lub dyskusję 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 |
| 🐙 GitHub — obserwuj, aby otrzymywać informacje o wydaniach i wskazówki | @diegosouzapw |
| 💬 Discord | discord.gg/U47eFqAXCn |
| ✈️ Telegram | t.me/omnirouteOficial |
| 🟢 WhatsApp — 🌍 globalny | dołącz do grupy |
| 🟢 WhatsApp — 🇧🇷 Brazylia | dołącz do grupy |
| 🌍 Strona internetowa | omniroute.online |
| 🌍 🌍Społeczność StHub OmniRoute (bezpłatna) | portal StHub |
| 📦 Kod źródłowy | github.com/diegosouzapw/OmniRoute |
| 🐛 Zgłoś błąd | utwórz zgłoszenie — dołącz dane wyjściowe polecenia npm run system-info |
| 🤝 Współtwórz projekt | CONTRIBUTING.md · Model gałęzi i wydań · wybierz zgłoszenie z etykietą good first issue |
| 💚 Wesprzyj projekt | Sposoby wsparcia ↑ · GitHub Sponsors |
🛠️ Stos technologiczny
| Warstwa | Technologia |
|---|---|
| Środowisko uruchomieniowe | Node.js 22.x / 24.x LTS — >=22.22.2 <23 || >=24.0.0 <27 |
| Język | TypeScript 6.0 — 100% TypeScript w src/ i open-sse/ (zero any w rdzeniu od wersji v2.0) |
| Framework | Next.js 16 + React 19 + Tailwind CSS 4 |
| Baza danych | better-sqlite3 (SQLite, rejestrowanie WAL) + LowDB (starszy format JSON) — 122 moduły domenowe, 176 migracji |
| Pamięć | Wyszukiwanie pełnotekstowe SQLite FTS5 + embeddingi wektorowe skwantyzowane do int8, typowane zanikanie |
| Schematy | Zod 4 — walidacja wejścia/wyjścia narzędzi MCP + kontrakty API |
| Protokoły | MCP (stdio / HTTP / SSE) + A2A v0.3 (JSON-RPC 2.0 + SSE) |
| Strumieniowanie | Server-Sent Events (SSE) + most WebSocket (/v1/ws) |
| Kompresja | Potok 12 silników — RTK, Caveman, LLMLingua-2 (MobileBERT ONNX), GCF, OmniGlyph |
| Uwierzytelnianie i bezpieczeństwo | OAuth 2.0 (PKCE) + JWT + klucze API + uwierzytelnianie MCP z zakresami · AES-256-GCM dla danych w spoczynku · DOMPurify |
| Maskowanie | wreq-js — podszywanie się pod odciski palca JA3 / JA4 TLS, 3-poziomowe proxy |
| Odporność | Wyłącznik obwodu, wykładnicze wycofywanie, ochrona przed efektem „thundering herd”, samonaprawiający się mechanizm auto-combo |
| Rejestrowanie | pino — ustrukturyzowane logi JSON z kontekstem żądania |
| Testowanie | Mechanizm uruchamiania testów Node.js + Vitest — ponad 39 000 statycznych deklaracji testów w ponad 5100 śledzonych plikach testowych (testy jednostkowe, integracyjne, E2E, bezpieczeństwa i ekosystemu) |
| Platformy | Komputery stacjonarne (Electron) · Android (Termux) · PWA (dowolna przeglądarka) |
| CI/CD | GitHub Actions — automatyczne publikowanie w npm i Docker Hub przy wydaniu |
| Łącza | Witryna internetowa · npm · Docker Hub |
📖 Dokumentacja
📘 Pierwsze kroki
| Dokument | Opis |
|---|---|
| Podręcznik użytkownika | Dostawcy, kombinacje, integracja z CLI, wdrażanie |
| Przewodnik konfiguracji | Wszystkie metody instalacji, konfiguracje narzędzi CLI, konfiguracja protokołów, dostrajanie limitów czasu |
| Przewodnik po narzędziach CLI | Konfiguracja poszczególnych narzędzi: Claude Code, Codex, Cursor, Cline, OpenClaw, Kilo, Copilot |
| Tryb zdalny | Sterowanie zdalnym OmniRoute (VPS) z CLI na laptopie za pomocą tokenów dostępu o ograniczonym zakresie |
| Konfiguracja Claude Code | Połączenie Claude Code z OmniRoute (lokalnym/zdalnym) za pomocą launch i profili dla poszczególnych modeli |
| Szybki start | Instalacja w 3 krokach → połączenie → konfiguracja |
🔧 Obsługa i wdrażanie
| Dokument | Opis |
|---|---|
| Przewodnik po Dockerze | Docker run, profile Compose, HTTPS z Caddy, tunele, tagi obrazów |
| Przewodnik po Podmanie | Integracja Quadlet z systemd, podman-compose, SELinux |
| Wdrażanie na maszynie wirtualnej | Kompletny przewodnik: konfiguracja maszyny wirtualnej + nginx + Cloudflare |
| Wdrażanie na Fly.io | Wdrażanie na Fly.io z trwałą pamięcią masową |
| Przewodnik po Termuxie | Uruchamianie OmniRoute na Androidzie za pomocą Termuxa |
| Przewodnik po PWA | Instalacja progresywnej aplikacji internetowej, buforowanie, architektura |
| Przewodnik dezinstalacji | Całkowite usuwanie dla wszystkich metod instalacji |
| Konfiguracja środowiska | Kompletna lista zmiennych .env i odwołań |
🧠 Funkcje i architektura
| Dokument | Opis |
|---|---|
| Architektura | Architektura systemu, przepływ danych i mechanizmy wewnętrzne |
| Przewodnik po kompresji | Potok z 7 opcjami: wyłączona / lekka / standardowa / agresywna / ultra / RTK / warstwowa |
| Kompresja RTK | Kompresja wyników poleceń, filtry, zaufanie, weryfikacja, odzyskiwanie surowych danych wyjściowych |
| Silniki kompresji | Caveman, RTK, potoki warstwowe, interfejsy panelu/API/MCP |
| Format reguł kompresji | Schematy pakietów reguł JSON dla filtrów Caveman i RTK |
| Pakiety językowe kompresji | Wykrywanie języka i tworzenie pakietów reguł Caveman |
| Przewodnik po odporności | Wyłączniki obwodu, okresy oczekiwania, kolejka, ochrona przed lawiną żądań, podszywanie się pod TLS |
| Silnik Auto-Combo | Ocena oparta na 16 czynnikach, pakiety trybów, samonaprawianie |
| Przewodnik po proxy | 3-poziomowy system proxy, platforma 1proxy, operacje CRUD na rejestrze |
| Darmowe poziomy | Zbiorczy katalog: 34 udokumentowane pule cykliczne / 452 skatalogowane pozycje darmowego poziomu |
| Galeria funkcji | Wizualna prezentacja panelu ze zrzutami ekranu |
| Dokumentacja bazy kodu | Przystępne dla początkujących omówienie bazy kodu |
🤖 Protokoły i API
| Dokument | Opis |
|---|---|
| Dokumentacja API | Wszystkie punkty końcowe wraz z przykładami |
| Specyfikacja OpenAPI | Specyfikacja OpenAPI 3.0 |
| Serwer MCP | 110 narzędzi MCP, konfiguracje IDE, klienty Python/TS/Go |
| Przewodnik po serwerze MCP | Instalacja MCP, transporty i dokumentacja narzędzi |
| Serwer A2A | Protokół JSON-RPC 2.0, umiejętności, strumieniowanie, zarządzanie zadaniami |
| Przewodnik po serwerze A2A | Karta agenta A2A, zadania, umiejętności i strumieniowanie |
📋 Projekt i jakość
| Dokument | Opis |
|---|---|
| Współtworzenie | Konfiguracja środowiska programistycznego i wytyczne |
| Model gałęzi i wydań | Do jakich gałęzi trafiają PR-y (release/*) oraz co oznaczają main i tagi |
| Dziennik zmian | Pełna historia wydań dla poszczególnych wersji |
| Polityka bezpieczeństwa | Zgłaszanie luk w zabezpieczeniach i praktyki bezpieczeństwa |
| Przewodnik po i18n | Obsługa 42 języków, proces tłumaczenia, RTL |
| Lista kontrolna wydania | Kroki weryfikacji przed wydaniem |
| Plan pokrycia | Strategia pokrycia testami dla ponad 39 000 statycznych deklaracji testów w ponad 5 100 śledzonych plikach testowych |
⭐ Najlepsi współtwórcy
OmniRoute jest kształtowany przez pełną 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.
Zewnętrzni współtwórcy według liczby scalonych pull requestów
| Miejsce | Współtwórca | Scalone PR-y | ~Zmienione wiersze |
|---|---|---|---|
| 1 | backryun | 190 | 227,977 |
| 2 | oyi77 | 180 | 407,678 |
| 3 | rdself | 145 | 80,663 |
| 4 | JxnLexn | 128 | 387,049 |
| 5 | KooshaPari | 101 | 125,747 |
| 6 | herjarsa | 88 | 230,872 |
| 7 | RaviTharuma | 79 | 55,106 |
| 8 | maxmad64bis | 69 | 394,715 |
| 9 | artickc | 59 | 33,260 |
| 10 | HouMinXi | 51 | 47,334 |
| 10 | chirag127 | 51 | 5,153 |
| 12 | xz-dev | 50 | 245,976 |
| 13 | hartmark | 47 | 52,185 |
| 14 | rqzbeh | 39 | 143,181 |
| 15 | dhaern | 34 | 19,559 |
| 16 | Dingding-leo | 33 | 1,986 |
| 17 | NomenAK | 32 | 13,854 |
| 18 | MumuTW | 30 | 16,953 |
| 19 | benzntech | 29 | 11,641 |
| 20 | pacocartones | 24 | 9,331 |
| 20 | Prudhvivuda | 24 | 6,312 |
Stan zamrożony na aktualnym wierzchołku release/v3.8.50 — dafb4ae808, ze scaleniami do 2026-08-24 05:26:03 UTC. Stronicowany spis GitHub GraphQL obejmuje 5 911 scalonych PR-ów: 2 707 od właściciela repozytorium, 179 od Dependabot oraz 3 025 zewnętrznych PR-ów od 535 różnych współtwórców. „Zmienione wiersze” oznaczają sumę dodań i usunięć według GitHub i obejmują wygenerowane pliki, pliki blokad, katalogi, tłumaczenia i dokumentację; jest to miara łącznego zakresu zmian, a nie liczba napisanych wierszy kodu. Remisy na granicy zestawienia zostały zachowane.
Commity przypisane przez GitHub
|
backryun 🥇 220 commitów przypisanych przez GitHub |
Paijo 🥈 219 commitów przypisanych przez GitHub |
Randi 🥉 108 commitów przypisanych przez GitHub |
Ravi Tharuma 🏅 81 commitów przypisanych przez GitHub |
Chris 🏅 70 commitów przypisanych przez GitHub |
Markus Hartung 🏅 69 commitów przypisanych przez GitHub · ex aequo na 6. miejscu |
|
Dizzle 🏅 69 commitów przypisanych przez GitHub · ex aequo na 6. miejscu |
Jan Leon 🏅 64 commity przypisane przez GitHub |
zenobit 🏅 62 commity przypisane przez GitHub |
Bob.Hou 🏅 51 commitów przypisanych przez GitHub · ex aequo na 10. miejscu |
Xiangzhe 🏅 51 commitów przypisanych przez GitHub · ex aequo na 10. miejscu |
Ponownie sprawdzono 2026-08-24 06:14:31 UTC: commity przypisane przez GitHub, zgłoszone przez interfejs API Contributors repozytorium dla domyślnej gałęzi release/v3.8.50. Interfejs API zwrócił 525 tożsamości (415 użytkowników, 2 boty, 108 anonimowych); tabela nie uwzględnia opiekuna projektu, botów ani anonimowych tożsamości oraz zachowuje miejsca ex aequo. Różni się ona zarówno od powyższego rankingu scalonych PR-ów, jak i od poniższego spisu 639 osób opartego na metadanych Git.
🙏 Funkcje, poprawki błędów i usprawnienia infrastruktury autorstwa tych współtwórców stanowią kluczowy element 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 powstaje dzięki takim ludziom 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 💛 Aktywny comiesięczny sponsor |
![]() Vlad I 💛 Aktywny comiesięczny sponsor |
![]() Paco Cartones 💛 Aktywny jednorazowy sponsor |
![]() Prof. Igor Morais 💛 Były jednorazowy darczyńca |
![]() 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
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
- Utwórz fork repozytorium
- Utwórz gałąź na podstawie aktywnego wierzchołka
release/vX.Y.Z(niemain) — zobacz Model gałęzi i wydań - Utwórz swoją gałąź funkcji (
git checkout -b feat/amazing-feature) - Zatwierdź zmiany (
git commit -m 'feat: add amazing feature') - Wypchnij zmiany do gałęzi (
git push origin feat/amazing-feature) - Otwórz Pull Request, ustawiając base = tę gałąź
release/vX.Y.Z
Szczegółowe wytyczne znajdziesz w pliku CONTRIBUTING.md.
Wydawanie nowej wersji
# Utwórz wydanie — publikacja npm nastąpi automatycznie
VERSION=x.y.z
gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes
📊 Gwiazdki
🙏 Podziękowania
OmniRoute stoi na ramionach gigantów. Projekt powstał jako fork 9router oraz port napisanego w Go projektu 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 |
|---|---|---|
| 9router | 26,161 | Oryginalny projekt, na którym oparto ten fork — rozszerzony tutaj o wielomodalne interfejsy API i w pełni przepisany w TypeScript. |
| CLIProxyAPI | 48,497 | Implementacja w Go, która zainspirowała ten port do JavaScript / TypeScript. |
| LiteLLM | 57,100 | Brama 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-web | 1,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-code | 48,112 | Wzorce 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-api | 322 | Wzorce wyboru narzędzi, ograniczeń danych wyjściowych i zatwierdzania narzędzi z Cursor Composer, zaadaptowane do natywnego modułu wykonawczego Cursor. |
| codex-multi-auth | 457 | Wzorce ponownego logowania i rotacji tokenów odświeżania przeniesione do ponownego uwierzytelniania Codex OAuth. |
| opencode-anthropic-auth | 510 | Domyślne transformacje zgodne z Claude Code oraz obsługa nagłówków rozliczeniowych, uogólnione w sterowanym konfiguracją moście OmniRoute. |
| grok2api-merged | 2 | Mapowania 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/grok2api | 705 | Głó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/grok2api | 7,520 | Bazowe ź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-pro | 27 | Poś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. |
| GrokProxy | 50 | Jego 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. |
| GrokBridge | 5 | Pierwotna 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-api | 14 | Schematy 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 |
|---|---|---|
| Caveman | 100,538 | Popularny 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 Killer | 77,185 | Wydajna 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. |
| headroom | 67,310 | Odwracalna kompresja kontekstu (SmartCrusher) — zainspirowała nasz silnik headroom oraz wzorzec znaczników pobierania ccr. |
| LLMLingua | 6,598 | Badania 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-js | 31 | Port JS/ONNX (MobileBERT / XLM-RoBERTa) używany jako zaplecze wątku roboczego naszego silnika LLMLingua. |
| Troglodita | 40 | Kompresja 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. |
| ponytail | 108,957 | Popularna 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-adhd | 23,526 | Jego 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 |
|---|---|---|
| TOON | 25,233 | Token-Oriented Object Notation — jego kolumnowy model z nagłówkiem i wierszami ukształtował nasz etap kompakcji tabelarycznej. |
| GCF – Graph Compact Format | 41 | Jego kompaktowy format grafów i projekt profilu ogólnego wpłynęły na kompakcję tabelaryczną OmniRoute oraz format kodeka Headroom. |
| gcf-typescript | 4 | Implementacja w TypeScript na licencji MIT, bezpośrednio dołączona do kodu źródłowego i rozszerzona jako kodek profilu ogólnego Headroom. |
| token-optimizer-mcp | 494 | Pamięć podręczna Brotli/SQLite oraz różnicowy kontekst dla każdej sesji — zainspirowały nasz silnik session-dedup. |
| token-savior | 1,122 | Kompakcja danych wyjściowych Bash i profile MCP — zainspirowały naszą zasadę rezygnacji z kompresji oraz redukcję manifestów narzędzi MCP. |
| token-saver | 138 | Kompresja 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-optimizer | 1,951 | „Znajdź tokeny-widma” — zastosowany wzorzec przenoszenia danych poza kontekst i odzyskiwalnych uchwytów wpłynął na naszą koncepcję odciążania CCR. |
| TokenMizer | 28 | Schemat grafu sesji i deduplikacji wierszy między turami, który wpłynął na projekt naszego mechanizmu session-dedup. |
| OmniCompress | 3 | Kolumnowy 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-compressor | 113 | Kompresja schematów i opisów narzędzi MCP — wpłynęła na naszą redukcję liczności manifestów narzędzi MCP. |
| RepoMapper | 197 | Ranking map repozytoriów w stylu Aider — wpłynął na nasze badania nad mapami repozytoriów i rankingiem wyszukiwania. |
| quiet-shell-mcp | 4 | Deklaratywna redukcja danych wyjściowych powłoki za pośrednictwem MCP — potwierdziła trafność naszej deklaratywnej kompakcji danych wyjściowych Bash. |
| ts-morph | 6,162 | Zestaw 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 |
|---|---|---|
| Mem0 | 63,902 | Uniwersalna warstwa pamięci — jej model proxy jako granicy zapisu i odczytu ukształtował naszą architekturę pamięci. |
| Letta (MemGPT) | 24,382 | Agenci stanowi z pamięcią warstwową — zainspirowali nasz warstwowy model kontroli i odzyskiwania kontekstu (CCR). |
| WFGY | 1,781 | Taksonomia 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-interceptor | 66 | Przechwytywanie 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. |
| ProxyBridge | 5,995 | Transparentne 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.dev | 6,555 | Otwarta baza specyfikacji, cen i możliwości modeli AI — synchronizowana natywnie z naszym katalogiem modeli. |
| React Flow / xyflow | 38,108 | Biblioteka grafów opartych na węzłach, która obsługuje nasze działające w czasie rzeczywistym Compression Studio i Combo/Routing Studio. |
| LangGraph | 40,314 | Wizualizacja grafu przepływu pracy na żywo w LangGraph Studio zainspirowała widok kaskady w czasie rzeczywistym w naszych Studiach. |
| Langfuse | 33,592 | Model obserwowalności „ślad → zakres → generowanie” ukształtował wykres kaskadowy w naszym Compression Studio. |
| Kiali | 3,631 | Obserwowalność siatki usług Istio — zainspirowała nasze oznaczenia wyłączników obwodu i wizualizacje krawędzi błędów w Routing/Combo Studio. |
| lobe-icons | 2,428 | Logotypy marek AI/LLM używane do wyświetlania ikon dostawców w całym naszym panelu. |
| flag-icons | 12,354 | Dostarcza flagi SVG na licencji MIT używane przez selektor języka w pliku README. |
🛡️ Bezpieczeństwo
| Projekt | ⭐ | Jak zainspirował OmniRoute |
|---|---|---|
| awesome-secure-defaults | 721 | Starannie 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 |
|---|---|---|
| ClawRouter | 6,564 | Zainspirował deduplikację żądań, awaryjny bezkosztowy mechanizm zastępczy, wymienne strategie Auto-Combo i wielojęzyczną klasyfikację intencji. |
| Antigravity-Manager | 30,652 | Mechanizm 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-cockpit | 4,817 | Jego kompaktowy format odliczania do wyzerowania limitu zainspirował odpowiedni sposób wyświetlania limitów dostawców w OmniRoute. |
| AionUi | 32,230 | Jego integracje ACP zainspirowały automatyczne wykrywanie zainstalowanych agentów CLI w OmniRoute. |
| CodexBar | 20,507 | Zidentyfikował 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.
⬆ Powrót na górę · Stworzone z ❤️ dla społeczności open source zajmującej się AI.
OmniRoute v3.8.51 · Node ≥22.22.2 · Licencja MIT · omniroute.online





