Skip to content

Latest commit

 

History

History
1129 lines (837 loc) · 92.7 KB

File metadata and controls

1129 lines (837 loc) · 92.7 KB
OmniRoute Dashboard

🚀 OmniRoute — Darmowa bramka AI

OmniRoute — Nigdy nie przestawaj kodować. Każde narzędzie AI → 268 dostawców — ponad 90 darmowych — przez jeden punkt końcowy. Claude Code, Codex, Cursor, Cline, Copilot i Antigravity w DARMOWE Claude / GPT / Gemini z automatycznym przekierowaniem (auto-fallback). Kaskadowa kompresja RTK + Caveman oszczędza 15–95% tokenów (średnio ~89%) — nigdy nie przekraczaj limitów. 268 dostawców AI · ponad 90 darmowych pakietów · ~1,4 mld darmowych tokenów/mies. · 18 strategii routingu · 0 USD na start.

💰 ~1,4 mld darmowych tokenów / miesiąc

Ręczne łączenie darmowych pakietów jest uciążliwe — dziesiątki SDK, dziesiątki limitów zapytań (rate limits) i brak wiedzy, ile tak naprawdę Ci pozostało. OmniRoute agreguje udokumentowane darmowe pakiety z 39 pul dostawców / ponad 460 modeli w jedną rzetelną liczbę i wyświetla ją na żywo w panelu (/dashboard/free-tiers).

Karta budżetu darmowych pakietów OmniRoute: stabilne ~1,4 mld darmowych tokenów miesięcznie, do ~2,0 mld w pierwszym miesiącu dzięki kredytom na start, z udokumentowanych darmowych poziomów 39 pul dostawców / ponad 460 modeli za jednym punktem końcowym. Rzetelne wyliczenia z deduplikacją puli — każda współdzielona pula liczona raz (liczenie każdego limitu zapytań 24/7 dałoby ~10 mld; niepublikowane), 15 dostawców oflagowanych ze względu na Warunki Świadczenia Usług (ToS), więc decyzja należy do Ciebie. Pasek budżetu 19 mierzalnych darmowych pul z siatką modeli (Mistral Large 3 1B, GPT-4o mini 150M, Gemini 2.5 Flash 60M … Claude Sonnet 4.5 25K), ~626M jednorazowych kredytów startowych w pierwszym miesiącu (vertex 300M, agentrouter 200M, predibase 25M, together 25M, glm-cn 20M, doubao 15M, ai21 10M, longcat 10M, deepseek 5M, hyperbolic 5M, nscale 5M), plus stale darmowi dostawcy bez limitu tokenów (SiliconFlow, Z.AI GLM-Flash, Kilo, OpenCode Zen, baidu …) oraz doładowanie OpenRouter za 10 USD odblokowujące +24M/mies. — przedstawione osobno, aby nie sztucznie zawyżać głównego nagłówka. Zużycie/pozostało na żywo na /dashboard/free-tiers.

Animowane podsumowanie strony /dashboard/free-tiers na żywo. Pełna metodologia (deduplikacja pul, pakiety kredytów, warunki dostawców): docs/reference/FREE_TIERS.md.

Liczby te są ponownie weryfikowane co dwa tygodnie na podstawie aktualnego katalogu i mogą się zmieniać w obie strony — gdy dostawca kończy darmowy pakiet, liczba spada; gdy pojawia się nowy, rośnie. Publikujemy to, co faktycznie oblicza katalog, nigdy zaokrąglony w górę, optymistyczny wariant. Bramka CI (check:docs-counts) powoduje błąd budowania projektu, jeśli nagłówek rozbiega się z kodem.

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

Stars diegosouzapw%2FOmniRoute | Trendshift Star History Rank


💬 Dołącz do społeczności

Discord Telegram WhatsApp Global WhatsApp Brasil Website

Pytania, wskazówki dotyczące dostawców, plany rozwoju (roadmap) i wsparcie → Discord · Telegram · WhatsApp 🌍 Global / 🇧🇷 Brasil


🧩 Dostępne

npm version NPM Monthly Docker Hub License: MIT Docker Pulls Electron Downloads

🚀 Szybki start🎯 Komba🌐 Dostawcy🔌 CLI & MCP🗜️ Kompresja🌍 Strona WWW

💥 Obietnica🤔 Dlaczego🏆 Co wyróżnia OmniRoute🤖 Zgodne CLI🖥️ Gdzie to działa🔒 Prywatność🎬 W akcji📸 Zrzuty ekranu📧 Wsparcie

💥 Obietnica

Obietnica — Jeden punkt końcowy. 268 dostawców. Nigdy nie przestawaj tworzyć — OmniRoute wybiera najtańsze działające rozwiązanie. Sześć filarów: Nigdy nie napotykaj limitów (automatyczne przełączanie między 268 dostawcami w milisekundy, zero przestojów) · Oszczędzaj do 95% tokenów (kaskadowa kompresja RTK + Caveman zmniejsza zużycie o 15–95%, średnio ~89% w sesjach z intensywnym użyciem narzędzi) · 0 USD na start (90+ darmowych pakietów, 40+ darmowych na zawsze — bez karty) · Każde narzędzie działa (26 agentów kodujących przez jedną konfigurację) · Jeden punkt końcowy (OpenAI ↔ Claude ↔ Gemini ↔ API Responses na /v1) · Klasa produkcyjna (wyłączniki awaryjne [circuit breakers], maskowanie TLS [TLS stealth], 104 narzędzia MCP, A2A, pamięć, barierki ochronne [guardrails], ewaluacje — ponad 25 000 testów).



🤔 Dlaczego OmniRoute?

Dlaczego OmniRoute — koniec z żonglowaniem 10 panelami, niedziałającymi kluczami API i niespodziewanymi rachunkami. Dziesięć codziennych problemów vs rozwiązania: wygasające niewykorzystane limity → maksymalizacja subskrypcji; limity zapytań w trakcie kodowania → 4-poziomowe automatyczne przełączanie (Subskrypcja → API → Tanie → Darmowe); wyniki narzędzi marnujące tokeny → kompresja RTK + Caveman (15–95%); drogie API → routing zoptymalizowany pod kątem kosztów; każde narzędzie z osobną konfiguracją → jeden punkt końcowy, jeden panel; blokowanie AI → 3-poziomowe proxy + maskowanie TLS; niedziałające klucze → 3-warstwowa odporność (wyłączniki awaryjne, schładzanie kluczy, blokada modelu); zespół dzielący jedną subskrypcję → pule kluczy z limitami sprawiedliwego podziału (fair-share); prompty przesyłane przez zewnętrzną chmurę → lokalne uruchomienie z kluczami szyfrowanymi AES-256-GCM; brak widoczności wydatków → analityka na żywo (użycie, limit, oszczędności, opóźnienie p95).

Przepływ żądań OmniRoute: Twoje IDE lub CLI (Claude Code, Cursor, Cline…) wywołuje jeden lokalny punkt końcowy (http://localhost:20128/v1); inteligentny router OmniRoute (kompresja RTK + Caveman, 18 strategii routingu, wyłączniki awaryjne, maskowanie TLS, MCP, A2A, barierki ochronne) automatycznie przełącza się między 4 poziomami dostawców — Poziom 1 Subskrypcja (Claude Code, Codex, Copilot), brak limitu? Poziom 2 Klucz API (DeepSeek, Groq, xAI), przekroczony budżet? Poziom 3 Tanie (GLM $0.5, MiniMax $0.2), przekroczony budżet? Poziom 4 Darmowe (Kiro, Qoder, Pollinations) — zawsze włączone.

🎯 Komba (Combos) — Flagowa funkcja

Kombo to łańcuch modeli, po których OmniRoute nawiguje automatycznie. Wybucha limit, dostawca ulega awarii lub koszty gwałtownie rosną — kombo bezgłośnie przełącza się na kolejny model. To właśnie sprawia, że OmniRoute jest niezawodny. 🛡️

⚡ Zero konfiguracji — po prostu użyj auto

Nie musisz tworzyć żadnego komba. Ustaw swój model na auto (lub jego wariant), a OmniRoute zbuduje wirtualne kombo z Twoich połączonych dostawców, oceniane na żywo:

Identyfikator modelu Pod kątem czego optymalizuje
auto 🎯 Zbalansowana wartość domyślna (LKGP — trzyma się ostatniego dobrego dostawcy)
auto/coding 🧑‍💻 Wagi zorientowane na jakość przy generowaniu kodu
auto/fast ⚡ W pierwszej kolejności najniższe opóźnienia
auto/cheap 💰 W pierwszej kolejności najtańsze za token
auto/offline 🔋 W pierwszej kolejności największy zapas limitu (quota / rate-limit)
auto/smart 🔭 Najpierw jakość + 10% eksploracji w celu odkrycia lepszych modeli

🔀 Albo zbuduj własne — 18 strategii routingu

Wszystkie 18 strategii — łącz i dopasowuj na każdym kroku komba:

# Strategia Co robi
1 priority Uporządkowana lista według priorytetu — zużyj każdy cel przed przejściem do kolejnego 🥇
2 fill-first Wypełnij całkowicie limit każdego celu przed pójściem dalej
3 weighted Wybór losowy ważony według wagi przypisanej do celu
4 round-robin Przechodzenie przez cele po kolei (Round-Robin)
5 p2c Losowe równoważenie obciążenia metodą "wybierz dwa, weź lepszy" (P2C)
6 least-used Wybierz cel o najniższym aktualnym obciążeniu
7 random Jednolity losowy wybór (ze skreśleniem powtórzeń)
8 strict-random Losowo bez usuwania duplikatów 🎲
9 cost-optimized Minimalizuj koszt w USD za zapytanie na podstawie cennika w katalogu na żywo 💸
10 headroom Wybierz cel z największym pozostałym limitem
11 reset-window Preferuj cel, którego okno limitu resetuje się najszybciej
12 reset-aware Klasyfikuj według czasu resetu limitu — najpierw krótkie okna 📊
13 context-relay Przekazuj kontekst między celami przy długich rozmowach 🧠
14 context-optimized Wybierz cel najlepiej dopasowany do bieżącego rozmiaru kontekstu
15 lkgp Ostatnia znana dobra ścieżka (LKGP) — trzyma się ostatniego udanego celu
16 auto Ocenianie na żywo na podstawie 12 czynników dla każdego połączenia 🤖
17 fusion Rozesłanie zapytania do panelu modeli + sędzia syntetyzuje jedną odpowiedź (Fusion) 🧬
18 pipeline Łączenie kroków — wyjście każdego celu zasila kolejny 🔗

Wszystkie 18 strategii routingu komba w formie animowanej, po jednym kafelku na strategię pokazującym realizowany przepływ: priority (zużyj pierwszy, potem kolejny), fill-first (wypełnij limit celu, potem idź dalej), weighted (losowy ważony), round-robin (cyklicznie w kolejności), p2c (wybierz dwa, weź lżejszy), least-used (wygrywa najniższe obciążenie), random (jednolity, bez powtórzeń), strict-random (powtórzenia dozwolone), cost-optimized (najtańszy $ za zapytanie), headroom (najwięcej pozostałego limitu), reset-window (resetuje się najszybciej → użyj go), reset-aware (klasyfikacja wg resetu, krótkie najpierw), context-relay (przekazywanie długiego kontekstu), context-optimized (dopasowanie do rozmiaru kontekstu), lkgp (trzymaj się ostatniego sukcesu), auto (ocenianie na żywo na bazie 12 czynników), fusion (panel + sędzia → jedna odpowiedź), pipeline (każde wyjście zasila kolejne).

Silnik Auto-Combo ocenia każdego kandydata na podstawie 12 czynników (stan techniczny, limit, koszt, opóźnienie, wskaźnik sukcesu, aktualność…) — zobacz docs/routing/AUTO-COMBO.md.

⚖️ Quota-Share — podziel jedną subskrypcję w zespole ✨ NOWOŚĆ

Uruchamiasz kilka kluczy na tym samym koncie nadrzędnym (jeden plan Codex Pro, jeden klucz Kimi, jedno stanowisko GLM Coding)? Nagły skok zużycia na jednym kluczu może wyczerpać cały 5-godzinny / godzinny limit i zablokować wszystkich innych. Quota-Share rozdziela limit czasowy dostawcy sprawiedliwie pomiędzy klucze w puli — a dzięki zasadzie oszczędzania pracy (work-conserving), nieużywana część limitu bezczynnego członka jest wypożyczana innym, zamiast się marnować.

Suwak / Opcja Co kontroluje
⚖️ Waga alokacji udział każdego klucza w puli — np. 50 / 30 / 20
📐 Wymiary śledzenie % · zapytań · tokenów · $, w oknie 5h / 7d / na model
🚦 Polityka hard (blokuj po przekroczeniu) · soft (obniż priorytet) · burst (użyj wolnego zapasu)
🧱 Limit max (Cap) bezwzględny limit na klucz, niezależny od trybu

Pula kluczy OmniRoute 'team-codex': jedno konto Codex Pro dzielone przez 3 klucze w 5-godzinnym oknie. alice waga 50 (do 50% współdzielonego limitu 5h), bob waga 30, ci-bot waga 20. W trybie łagodnym (poniżej 50% zużycia puli) wolne udziały są wypożyczane; gdy pula przekroczy 50%, tryb rygorystyczny ogranicza każdy klucz do jego sprawiedliwego udziału.

Wymuszane na "gorącej ścieżce" zanim żądanie opuści OmniRoute, z limitami na parę (klucz, model) + zachowaniem sesyjności (session stickiness) dla spójności pamięci podręcznej promptów (teraz z przełącznikiem wyłączania dla komba / globalnie). 📖 Silnik Quota Sharing

🧱 Odporność jest wbudowana (3 niezależne warstwy)

Odporność OmniRoute — 3 niezależne, samonaprawiające się warstwy, właściwa warstwa dla właściwego rodzaju awarii. Warstwa 1: wyłącznik awaryjny dostawcy (cały dostawca): aktywuje się tylko przy błędach 408/5xx, progi OAuth 3× / klucz API 5× / lokalny 2×, resetuje się po 60s/30s/15s przechodząc w próbny stan HALF-OPEN, powolne przywracanie; w stanie OPEN kombo przekierowuje ruch do kolejnego dostawcy. Warstwa 2: czas schładzania połączenia (jeden klucz/konto): bazowo 5s dla OAuth / 3s dla klucza API, wykładnicze opóźnienie ×2 z zabezpieczeniem przed kumulacją zapytań (anti-thundering-herd), błąd 429 respektuje nagłówek Retry-After, sukces resetuje stan błędów; schładzany klucz jest pomijany, podczas gdy sąsiednie klucze nadal obsługują ruch. Warstwa 3: blokada modelu (jeden model): błąd 429 dla konkretnego modelu, lokalny błąd 404 lub odmowy dostępu blokują tylko ten model — nigdy całe połączenie. Stany terminalne (zablokowany, wygasły, wyczerpane środki) są przeznaczone dla operatora, nie dla mechanizmów schładzania.

📖 Silnik Auto-Combo · Podręcznik odporności


🏆 Co wyróżnia OmniRoute

Funkcja OmniRoute Inne routery
🌐 Dostawcy 268 20–100
🆓 Darmowi dostawcy 90+ (40+ darmowych na zawsze) 1–5
🔀 Strategie routingu 18 (priorytetowa, ważona, zoptymalizowana pod kątem kosztów, przekazywanie kontekstu, fusion…) 1–3
🗜️ Kompresja tokenów Kaskadowa RTK + Caveman (15–95%) Brak / 20–40%
🧰 Wbudowany serwer MCP 104 narzędzia, 3 protokoły transportowe, 31 zakresów Rzadkość
🤝 Protokół agenta A2A 6 umiejętności, JSON-RPC 2.0 Brak
🧠 Pamięć (FTS5 + wektorowa) Tak Rzadkość
🛡️ Barierki ochronne (PII, wstrzykiwanie promptów, wizja) Tak Rzadkość
☁️ Agenci chmurowi Codex, Cursor, Devin, Jules Brak
🥷 Maskowanie sygnatury TLS JA3/JA4 przez wreq-js Brak
🖥️ Wieloplatformowość Web · Desktop · Termux · PWA Tylko Web
🌍 i18n (lokalizacja) 43 języki 0–4

📊 Szczegółowe porównanie z LiteLLM, OpenRouter i Portkey → docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md


✨ Co nowego

Najważniejsze nowości z wersji v3.8.20 → v3.8.49. Pełna historia w CHANGELOG.md.

  • 🗜️ Wzmocnienie kompresji — domyślnie włączone zabezpieczenie przed nadmiernym rozrostem (inflation guard), pakiety Caveman dla DE / FR / JA + chińskiego (wényán), filtry RTK dla Gradle i .NET. → Kompresja
  • 💸 Rzetelny koszt ryczałtowy — dostawcy subskrypcyjni / planów kodowania wykazują koszt 0 USD w analityce; budżet, limit i routing nadal działają szacunkowo. → Referencja API
  • ⚖️ Routing Quota-Share — podział obciążenia kont według dostępnego limitu: harmonogramowanie DRR, współbieżność na połączenie, wielookienkowe pule, zachowanie sesyjności (session stickiness). → Podręcznik odporności
  • 🤖 Konfiguracja CLI/agenta jednym poleceniemsetup-* konfiguruje ponad 12 narzędzi programistycznych; omniroute launch / launch-codex działają bez konfiguracji. → Integracje CLI
  • 🛰️ Tryb zdalny — steruj zdalną instancją OmniRoute za pomocą tokenów o ograniczonym zakresie (connect / contexts / tokens) + pomocnika OAuth antigravity dla instalacji na VPS. → Tryb zdalny
  • 🧭 Inteligentniejszy auto-routing — komba auto/<kategoria>:<poziom>, Fusion (panel modeli + sędzia), routing uwzględniający specyfikę zadania, nadpisywanie modelu / trybu / budżetu USD per żądanie. → Auto-Combo
  • 🗜️ Wtyczkowa kompresja — 11 modułowych silników + Studia Kompresji: LLMLingua-2, dwupoziomowy Ultra, omniglyph, weryfikacja dokładności (fidelity gate) na każdym kroku, GCF v3.2, edytor z przeciąganiem elementów. → Kompresja
  • 🕵️ Przezroczyste dekodowanie MITM (TPROXY) — przechwytywanie CLI ignorujących zmienne środowiskowe proxy, z instalatorem CA per-SNI i bazy zaufanych certyfikatów. → MITM/TPROXY
  • 💸 Telemetria kosztów wszędzie — nagłówki kosztu/użycia X-OmniRoute-* w każdym punkcie końcowym, nagłówek oszczędności z trafień w cache (cache-HIT), limity wydatków USD na klucz. → Referencja API
  • 🧠 Pamięć pod Twoją kontrolą — domyślnie wyłączona, opcjonalna kwantyzacja wektorowa int8 + stopniowe wygaszanie (typed decay), nagłówek x-omniroute-no-memory na żądanie. → Pamięć
  • 🛡️ Bezpieczeństwo — ochrona przed wstrzykiwaniem promptów (prompt-injection guard) na każdej trasie LLM (zestaw testów red-team) + darmowe wyszukiwanie w sieci DuckDuckGo jako ostatnia deska ratunku. → Barierki ochronne
  • 🖼️ Nowe punkty końcowe/v1/ocr (Mistral OCR) i /v1/audio/translations (w stylu Whisper) uzupełniają obsługę multimediów. → Referencja API
  • 🌍 Wdrożenie i administracjabasePath dla reverse-proxy, automatyczne wykrywanie języka przeglądarki, śledzenie urządzeń na klucz, zaufanie MITM bez uprawnień roota, lokalizacja zh-TW. → Środowisko
  • 🤝 Więcej dostawców i agentów — Cursor Cloud Agent, Grok Build (xAI), pełnoprawna karta Ollama, Claude Sonnet 5, Zed, Requesty, SenseNova, Yuanbao… oraz odświeżony katalog 250 dostawców. → Dostawcy
  • ⚡ Lokalna wydajność i infrastruktura — uruchamianie lokalnego Redis jednym kliknięciem, instalatory przekaźników dla Cloudflare Workers / Deno Deploy, Bifrost i Mux jako nadzorowane usługi wbudowane. → Usługi wbudowane

🤖 Zgodne CLI i agenci kodujący

Jedna konfiguracja — http://localhost:20128/v1 — i każde IDE lub CLI AI działa na darmowych i tanich modelach.

Claude Code
Claude Code
                           
Codex CLI
Codex CLI
                           
Cline
Cline
                           
Kilo Code
Kilo Code
                           
Roo CodeRoo Code
Roo Code
                           
Continue
Continue
                           
Qwen Code
Qwen Code
                           
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
                           
Agent Deck
Agent Deck
                           
+ działa również z · Kiro · Command Code · Antigravity · Windsurf · AMP · dowolnym narzędziem kompatybilnym z OpenAI

📖 Konfiguracja per narzędzie dla wszystkich 33 narzędzi (25 z CLI Code + 8 z CLI Agents) → docs/reference/CLI-TOOLS.md · 🧩 Wtyczka OpenCode → @omniroute/opencode-provider


🌐 268 dostawców AI — ponad 90 darmowych

Najbardziej kompletny katalog spośród wszystkich routerów open-source: 268 dostawców, ponad 90 z darmowym pakietem, ponad 40 darmowych na zawsze.

🏢 Każde główne 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
                           

…oraz ponad 220 innych — każda ikona ładuje się na żywo z katalogu dostawców w panelu. 📖 Referencja dostawców


🆓 Darmowe na zawsze — 0 USD, bez karty

AgentRouter
AgentRouter
GPT-5, Claude, Gemini
100 USD darmowych kredytów

                                     
Qoder AI
Qoder AI
Kimi-K2, DeepSeek-R1
Nielimitowane DARMOWE

                                     
Pollinations
Pollinations
GPT-5, Claude, Llama 4
Klucz nie jest wymagany

                                     
LongCat
LongCat
LongCat-2.0
10M tokenów jednorazowo (KYC) 🔑

                                     
Cloudflare AI
Cloudflare AI
Ponad 50 modeli
10K neuronów/dzień

                                     
NVIDIA NIM
NVIDIA NIM
129 modeli
~40 RPM darmowo

                                     
Cerebras
Cerebras
Qwen3 235B
1M tokenów/dzień

                                     

📖 Pełny katalog w formacie czytelnym dla maszyn → docs/reference/PROVIDER_REFERENCE.md


🖥️ Gdzie działa OmniRoute — wszędzie

Ta sama aplikacja, Twoja maszyna, Twoje zasady. Od globalnej instalacji przez npm po Twój telefon za pomocą Termux.

Platforma Instalacja Najważniejsze cechy
📦 npm (globalnie) npm install -g omniroute Jedno polecenie, dowolny system operacyjny
🐳 Docker docker run … diegosouzapw/omniroute Wielonatywność architektur AMD64 + ARM64
🖥️ Desktop (Electron) npm run electron:build Natywne okno + zasobnik systemowy (system tray) — Windows / macOS / Linux
💪 ARM natywnie 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, offline, instalacja z poziomu przeglądarki
🧩 Wtyczka OpenCode @omniroute/opencode-provider Natywna integracja z OpenCode
🛠️ Ze źródeł npm install && npm run dev Modyfikuj kod, współtwórz projekt

📖 Podręcznik Docker · Desktop · Termux · PWA · OpenCode


🔒 Prywatność i lokalne działanie (Local-First)

Prywatność i lokalne działanie — Twoje klucze, Twoja maszyna, Twoje dane; OmniRoute to lokalne proxy, które nigdy nie wysyła danych na zewnętrzne serwery. Jedenaście gwarancji: działa w 100% na Twoim sprzęcie (0 przeskoków do chmury), domyślnie zero telemetrii, zaszyfrowane dane uwierzytelniające (AES-256-GCM), brak konieczności zakładania konta czy rejestracji, wzmocniona bramka (ograniczanie zakresu kluczy API, filtrowanie IP, limity zapytań, ochrona przed wstrzykiwaniem promptów), trasy procesów wyłącznie na adresie pętli zwrotnej (loopback-only), oczyszczanie nagłówków wysyłanych do dostawców nadrzędnych, usuwanie danych osobowych (PII) ściśle na żądanie (opt-in), bezpieczne błędy, które nigdy nie ujawniają szczegółów wewnętrznych, lokalny dziennik audytu w Twojej własnej bazie SQLite oraz w pełni otwartoźródłowy kod na licencji MIT.

📖 Autoryzacja · Barierki ochronne · Zgodność


🔌 Pełne CLI + A2A i MCP

OmniRoute to nie tylko serwer — to kompletny kokpit w wierszu poleceń z ponad 80 poleceniami, plus otwarte protokoły agentów, dzięki którym agent AI może samodzielnie sterować OmniRoute.

⌨️ Prawdziwe CLI (nie tylko start)

omniroute               # uruchom bramkę + panel (port 20128)
omniroute chat          # interaktywny klient czatu TUI (polecenia ukośnika: /model /combo /skill /memory)
omniroute setup         # kreator pierwszej konfiguracji
omniroute doctor        # diagnozuj dostawców, porty, natywne zależności

🛰️ Tryb zdalny — uruchom CLI lokalnie, OmniRoute na VPS

OmniRoute na serwerze? Steruj nim ze swojego laptopa za pomocą tego samego CLI. Zaloguj się raz za pomocą tokenu dostępu o ograniczonym zakresie; każde kolejne polecenie będzie skierowane do zdalnej maszyny.

omniroute connect 192.168.0.15            # hasło → token o ograniczonym zakresie, zapisany jako kontekst
omniroute models list                     # ← działa na ZDALNYM serwerze
omniroute configure codex                 # ← wybiera zdalny model, zapisuje lokalny profil Codex
omniroute tokens create --name ci --scope read   # generuj węższe tokeny dla innych maszyn
omniroute contexts use default            # ← przełącz z powrotem na serwer lokalny

Tokeny mają zakresy read / write / admin; trasy uruchamiające procesy pozostają ograniczone do pętli zwrotnej (loopback-only). 📖 Tryb zdalny

Animowany terminal demonstrujący CLI OmniRoute — omniroute providers list, omniroute combo list, omniroute health — przechodzący przez obszar ponad 80 poleceń: dostawcy · oauth · klucze · kombo · węzły · modele · pamięć podręczna · kompresja · koszt · użycie · limity · stan techniczny · odporność · telemetria · logi · audyt · mcp · a2a · chmura · pamięć · umiejętności · ewaluacja · tunel · kopia zapasowa · synchronizacja · webhooki · polityka · cennik · tłumacz · symulacja …

🤝 Połącz agenta — i pozwól mu kontrolować samo OmniRoute

Udostępnij OmniRoute przez MCP lub A2A, a każdy zdolny do tego agent autonomicznie otrzyma klucze do całej bramki — routingu, dostawców, kombinacji (combos), pamięci podręcznej, kompresji i pamięci.

Protokół Punkt końcowy Zastosowanie
🧰 MCP (stdio) omniroute --mcp Podłącz do Claude Desktop, Cursor, dowolnego klienta MCP
🌊 MCP (HTTP) http://localhost:20128/api/mcp/stream Zdalny MCP — 104 narzędzia, 31 zakresów, pełna ścieżka audytu
📡 MCP (SSE) http://localhost:20128/api/mcp/sse Strumieniowy transport MCP
🤝 A2A http://localhost:20128/.well-known/agent.json Komunikacja agent-do-agenta, JSON-RPC 2.0 + SSE, 6 umiejętności
# Daj 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 agentów


🗜️ Oszczędzaj 15–95% tokenów — automatycznie

Po co używać wielu tokenów, skoro kilka wystarczy? Każde żądanie przechodzi przez potok kompresji OmniRoute w sposób przezroczysty — bez zmian po stronie klienta. Jest to teraz stos 11 modułowych silników, które działają po kolei i mogą być dowolnie łączone w ramach każdego komba routingu — bazując na pomysłach z RTK, Caveman (⭐ 90k+), LLMLingua-2 i Troglodita (PT-BR).

🧱 Stos 11 silników

Silniki działają w kolejności potoku; każdy z nich można niezależnie włączać i konfigurować dla poszczególnych komb:

# Silnik Co robi
1 Session-Dedup Odrzuca treści powtarzające się między kolejnymi turami (adresowane treścią, międzyturowe)
2 CCR Archiwizuje duże bloki pod znacznikami pobierania, pobieranymi na żądanie
3 RTK Inteligentne filtrowanie, deduplikacja i skracanie wyników narzędzi (z uwzględnieniem poleceń)
4 Headroom Bezstratne upakowanie tabelaryczne jednorodnych tablic JSON, płaskich lub zagnieżdżonych (~30%), poprzez wbudowany kodek GCF (specyfikacja v3.2)
5 Relevance Ekstrakcyjne ocenianie zdań pod kątem dopasowania do ostatniego zapytania użytkownika
6 Caveman Kompresja prozy oparta na regułach (~65–75% na wyjściu)
7 LLMLingua-2 Semantyczne przycinanie oparte na uczeniu maszynowym przez MobileBERT ONNX — bezpieczne dla kodu, asynchroniczne
8 Lite Usuwanie białych znaków i skracanie adresów URL obrazów (lekki pod kątem opóżeń punkt odniesienia)
9 Aggressive Streszczanie + stopniowe "starzenie" starych tur
10 Ultra Heurystyczne przycinanie tokenów z opcjonalnym poziomem małego modelu (SLM)

Bloki kodu, adresy URL i dane strukturyzowane są zawsze zachowywane z dokładnością co do bajtu. Presety uruchamiane jednym kliknięciem łączą te silniki:

Tryb Oszczędności Najlepszy do
🪶 Lite ~15% Zawsze włączona bezpieczna opcja domyślna
🪨 Standard (Caveman) ~30% Codzienne kodowanie
Aggressive ~50% Długie sesje z intensywnym użyciem narzędzi
🔥 Ultra ~75% Maksymalne oszczędności
🧰 RTK 60–90% Dane wyjściowe z terminala/testów/budowania/git
🔗 Kaskadowa (RTK → Caveman) 78–95% Mieszane prompty + logi z narzędzi

Rzeczywisty przykład — tryb Standard:

Przed (69 tokenów): "The reason your React component is re-rendering is likely because you're creating a new object reference on each render cycle. When you pass an inline object as a prop, React's shallow comparison sees it as a different object every time, which triggers a re-render. I would recommend using useMemo to memoize the object."

Po (19 tokenów): "New object ref each render. Inline object prop = new ref = re-render. Wrap in useMemo."

Ta sama odpowiedź. 72% mniej tokenów. Zero utraty dokładności. ✅

Przykład w PT-BR — tryb Troglodita:

Antes (42 tokens): "O problema é que o componente está re-renderizando porque uma nova referência de objeto está sendo criada em cada ciclo de renderização. Eu recomendaria usar useMemo."

Depois (12 tokens): "Re-render: ref nova cada ciclo (objeto inline recriado). Usar useMemo."

Ta sama odpowiedź. ~70% mniej tokenów. Dokładność techniczna nienaruszona. ✅


📖 Jak to działa — potok, architektura i matematyka oszczędności

Potok kompresji OmniRoute: żądanie klienta o rozmiarze 10 000 tokenów przechodzi przez 11 ułożonych kaskadowo silników — Session-Dedup, CCR, RTK, Headroom, Relevance, Caveman, LLMLingua-2, Omniglyph, Lite, Aggressive, Ultra — i dociera do dostawcy mając około 1080 tokenów, co daje do 95% oszczędności. Kod, adresy URL i JSON są zawsze zachowywane z dokładnością co do bajtu.

Domyślne kaskadowe kombo uruchamia RTK → Caveman. Gdy oba silniki działają na tym samym ładunku narzędzia/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, JSON i dane strukturyzowane są zawsze chronione przez silnik zachowania integralności.

🎚️ Poza silnikami — style wyjściowe, pokrętło adaptacyjne i kontrola per żądanie

Opisane wyżej silniki zmniejszają dane wejściowe. Trzy dodatkowe warstwy kształtują jak, kiedy i co trafia na wyjście:

  • 🪄 Style wyjściowe (sterowanie osią wyjściową) — wstrzykiwanie deterministycznych, bezpiecznych dla cache instrukcji kształtowania odpowiedzi; można je łączyć, każda o intensywności lite / full / ultra. Dodanie stylu to jednolinijkowy wpis w rejestrze:
    • Zwiezła proza — odrzucanie wypełniaczy / przedimków / asekuracyjnych sformułowań; zachowanie dokładnej treści technicznej.
    • Mniej kodu — podejście "leniwego seniora" (YAGNI): najmniejsza działająca zmiana, bez nieproszonych struktur kodu.
    • Zwięzły CJK (文言) — klasyczny, ultra-zwięzły styl chiński (ograniczony lokalizacyjnie do języka zh).
  • 🎯 Adaptacyjny budżet kontekstu (pokrętło) — zamiast jednego sztywnego progu włączenia/wyłączenia, uruchamia najtańsze i najbardziej bezstratne silniki tylko w takim stopniu, w jakim jest to konieczne, aby zmieścić się w oknie kontekstowym modelu. Polityka: reserve-output (domyślna, dopasowana do modelu) · percentage · absolute. Tryb: floor (gwarantowane dopasowanie) · replace-autotrigger (wygrywa Twój wyraźny wybór) · off (stary próg).
  • 🛞 Miejsce decyzji o kompresji (priorytet od najwyższego do najniższego) — nagłówek x-omniroute-compression w żądaniu › nadpisanie w kombie routingu › aktywny profil nazwany › adaptacyjny / automatyczny wyzwalacz › domyślne ustawienie panelu › wyłączone. Zastosowany plan jest zwracany w nagłówku odpowiedzi X-OmniRoute-Compression: <tryb>; source=<źródło>.

Wyzwalaj automatycznie według progu tokenów, włącz pokrętło adaptacyjne, przypnij nazwany profil, ustaw jednorazowo dla żądania lub przypisz potok do komba routingu — cokolwiek pasuje do Twojego obciążenia pracy. Opcjonalne środowisko testowe offline (npm run eval:compression) ocenia wierność vs oszczędności na przypisanym korpusie przed wdrożeniem zmian.

📖 COMPRESSION_GUIDE.md · RTK_COMPRESSION.md · COMPRESSION_ENGINES.md


⚡ Szybki start

1) Zainstaluj i uruchom

npm install -g omniroute
omniroute

Panel pod adresem http://localhost:20128 · API pod adresem http://localhost:20128/v1.

2) Podłącz DARMOWEGO dostawcę (bez rejestracji)

Panel → Dostawcy (Providers) → połącz Kiro AI (darmowy Claude, ~50 kredytów/miesiąc na konto) lub OpenCode Free (bez autoryzacji) → gotowe.

3) Skieruj swoje narzędzie do kodowania

Base URL: http://localhost:20128/v1
API Key:  [skopiuj z Panel → Endpoints]
Model:    auto            (inteligentny routing bez konfiguracji — lub dowolny dostawca/model)

4) Sprawdź, czy działa

curl http://localhost:20128/v1/models -H "Authorization: Bearer TWÓJ_KLUCZ"

Powinieneś zobaczyć listę połączonych modeli. 🎉 To wszystko — zacznij kodować, a OmniRoute automatycznie zajmie się routingiem i przełączaniem awaryjnym.

Jeśli Twój klient nie może wysyłać niestandardowych nagłówków, OmniRoute udostępnia również stokenizowane aliasy zgodności:

OpenAI catalog:   http://localhost:20128/vscode/TWÓJ_KLUCZ/
OpenAI models:    http://localhost:20128/vscode/TWÓJ_KLUCZ/models
OpenAI chat:      http://localhost:20128/vscode/TWÓJ_KLUCZ/chat/completions
OpenAI responses: http://localhost:20128/vscode/TWÓJ_KLUCZ/responses
Ollama chat:      http://localhost:20128/vscode/TWÓJ_KLUCZ/api/chat
Ollama tags:      http://localhost:20128/vscode/TWÓJ_KLUCZ/api/tags

Używaj ich tylko w przypadku klientów, którzy nie mogą dołączyć nagłówka Authorization: Bearer .... Autoryzacja przez nagłówek pozostaje preferowanym trybem.


📦 Więcej metod instalacji — Docker, źródła, pnpm, Arch

🐳 Docker

docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \
  -p 20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest

🛠️ Ze źródeł

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)

# Używając Nix flakes
nix develop
npm run dev

# Lub używając devbox
devbox run npm run dev

📖 Podręcznik Docker — Profile Compose, HTTPS przez Caddy, tunele Cloudflare.

🦭 Podman

# 1. Zbuduj obraz
podman build --target runner-base -t omniroute:base .

# 2. Napraw uprawnienia katalogu danych dla Podmana bez roota
mkdir -p data && podman unshare chown 1000:1000 ./data

# 3. Ustaw środowisko wykonawcze w .env, a następnie uruchom (zobacz contrib/podman/ dla Quadlet)
echo "CONTAINER_HOST=podman" >> .env
podman compose --profile base up -d

📖 Podręcznik Podman — Integracja Quadlet z systemd, podman-compose, Quadlet.

⚡ Szybsza / lżejsza instalacja (pomiń budowanie natywne)

Natywny silnik SQLite (better-sqlite3) jest zależnością opcjonalną, więc globalna instalacja nigdy nie blokuje się na kompilacji ze źródeł: używa prekompilowanego pliku binarnego, jeśli pasuje do Twojej platformy/Node, a w przeciwnym razie przezroczyście przełącza się na silnik czystego JS (node:sqlite na Node 22+, w przeciwnym razie dołączony sql.js WASM) — nie są wymagane żadne narzędzia budowania.

Aby całkowicie pominąć natywne przygotowanie po instalacji (CI, tryb bezgłowy/headless lub wolne maszyny):

OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute   # CI=1 również to pomija

W celu uzyskania najszybszej instalacji preferuj pnpm (magazyn adresowany treścią + twarde dowiązania — patrz wyżej). Dla środowiska bez panelu graficznego (headless) użyj profilu Docker base (powyżej) lub podręcznika Termux. CLI i panel webowy są obsługiwane przez ten sam proces na jednym porcie, więc obecnie nie ma osobnego pakietu wyłącznie z CLI.


🎬 OmniRoute w akcji

Guia em Português
🇧🇷 Português
Pełny przewodnik
English Guide
🇺🇸 English
Pełne omówienie
Руководство
🇷🇺 Русский
Pełny przewodnik

🎬 Nagrałeś film o OmniRoute? Otwórz zgłoszenie (issue) lub dyskusję (discussion) z linkiem — umieścimy go tutaj.


📸 Zrzuty ekranu z panelu

Strona Zrzut ekranu Strona Zrzut ekranu
Dostawcy Providers Komba Combos
Analityka Analytics Stan techniczny Health
Tłumacz Translator Ustawienia Settings
Narzędzia CLI CLI Tools Logi użycia Usage

📧 Wsparcie i społeczność

💬 Rozmawiaj ze społecznością — linki do Discorda, Telegrama i WhatsAppa (🌍 / 🇧🇷) znajdują się na górze tego pliku README.



🛠️ Stos technologiczny

  • Środowisko uruchomieniowe: Node.js 22.x lub 24.x LTS (zalecane 24 LTS) — >=22.22.2 <23 || >=24.0.0 <27
  • Język: TypeScript 6.0 — 100% TypeScript w src/ oraz open-sse/ (zero typów any w modułach rdzenia od wersji v2.0)
  • Framework: Next.js 16 + React 19 + Tailwind CSS 4
  • Baza danych: better-sqlite3 (SQLite) + LowDB (spuścizna JSON) — stan domeny, logi proxy, audyt MCP, decyzje o routingu, pamięć, umiejętności
  • Schematy: Zod (walidacja wejścia/wyjścia narzędzi MCP, kontrakty API)
  • Protokoły: MCP (stdio/HTTP) + A2A v0.3 (JSON-RPC 2.0 + SSE)
  • Strumieniowanie: Server-Sent Events (SSE) + most WebSocket (/v1/ws)
  • Uwierzytelnianie: OAuth 2.0 (PKCE) + JWT + Klucze API + Autoryzacja zakresów MCP
  • Testowanie: Node.js test runner + Vitest (ponad 25 000 przypadków testowych w ponad 3300 plikach — jednostkowe, integracyjne, E2E, bezpieczeństwo, ekosystem)
  • Platformy: Desktop (Electron), Android (Termux), PWA (dowolna przeglądarka)
  • CI/CD: GitHub Actions (automatyczna publikacja w npm + Docker Hub przy wydaniu wersji)
  • Strona WWW: omniroute.online
  • Pakiet: npmjs.com/package/omniroute
  • Docker: hub.docker.com/r/diegosouzapw/omniroute
  • Odporność: Wyłącznik awaryjny (circuit breaker), wykładnicze opóźnienie (exponential backoff), ochrona przed kumulacją zapytań (anti-thundering herd), podszywanie się pod TLS, samonaprawiające się auto-kombo

📖 Dokumentacja

📘 Wprowadzenie

Dokument Opis
Podręcznik użytkownika Dostawcy, komba, integracja CLI, wdrażanie
Podręcznik instalacji Pełne metody instalacji, konfiguracje narzędzi CLI, konfiguracja protokołów, dostrajanie limitów czasu (timeout)
Podręcznik narzędzi CLI Konfiguracja per narzędzie dla Claude Code, Codex, Cursor, Cline, OpenClaw, Kilo, Copilot
Tryb zdalny Steruj zdalnym OmniRoute (VPS) z poziomu CLI na swoim laptopie za pomocą tokenów o ograniczonym zakresie
Konfiguracja Claude Code Skieruj Claude Code na OmniRoute (lokalnie/zdalnie) za pomocą polecenia launch + profili dla poszczególnych modeli
Szybki start 3-krokowa instalacja → połącz → skonfiguruj

🔧 Administracja i wdrażanie

Dokument Opis
Podręcznik Docker Uruchamianie w Dockerze, profile Compose, HTTPS przez Caddy, tunele, tagi obrazów
Podręcznik Podman Integracja Quadlet z systemd, podman-compose, SELinux
Wdrożenie na VM Pełny poradnik: konfiguracja VM + nginx + Cloudflare
Wdrożenie na Fly.io Wdrażanie na Fly.io z trwałą pamięcią masową
Podręcznik Termux Uruchamianie OmniRoute na systemie Android za pomocą Termux
Podręcznik PWA Instalacja Progressive Web App, buforowanie, architektura
Podręcznik odinstalowywania Czyste usuwanie dla wszystkich metod instalacji
Konfiguracja środowiska Pełny wykaz zmiennych .env i referencji

🧠 Funkcje i architektura

Dokument Opis
Architektura Architektura systemu, przepływ danych i mechanizmy wewnętrzne
Podręcznik kompresji 7-opcjowy potok: wyłączona / lite / standard / aggressive / ultra / RTK / kaskadowa
Kompresja RTK Kompresja danych wyjściowych komend, filtry, zaufanie, weryfikacja, odzyskiwanie surowego wyjścia
Silniki kompresji Caveman, RTK, potoki kaskadowe, interfejsy panelu/API/MCP
Format reguł kompresji Schematy JSON pakietów reguł dla filtrów Caveman i RTK
Pakiety językowe kompresji Wykrywanie języka i tworzenie pakietów reguł Caveman
Podręcznik odporności Wyłączniki awaryjne, czasy schładzania, kolejka, ochrona przed kumulacją zapytań, podszywanie się pod TLS
Silnik Auto-Combo Ocenianie na bazie 12 czynników, pakiety trybów, samonaprawianie
Podręcznik proxy 3-poziomowy system proxy, rynek 1proxy, rejestr CRUD
Darmowe poziomy Skonsolidowany katalog ponad 25 darmowych dostawców API
Galeria funkcji Wizualny przegląd panelu ze zrzutami ekranu
Dokumentacja kodu źródłowego Przyjazne dla początkujących omówienie bazy kodu

🤖 Protokoły i API

Dokument Opis
Referencja API Wszystkie punkty końcowe z przykładami
Specyfikacja OpenAPI Specyfikacja OpenAPI 3.0
Serwer MCP 104 narzędzia MCP, konfiguracje IDE, klienci Python/TS/Go
Podręcznik serwera MCP Instalacja MCP, protokoły transportowe i referencja narzędzi
Serwer A2A Protokół JSON-RPC 2.0, umiejętności, strumieniowanie, zarządzanie zadaniami
Podręcznik serwera A2A Karta agenta A2A, zadania, umiejętności i strumieniowanie

📋 Projekt i Jakość

Dokument Opis
Współtworzenie Konfiguracja środowiska deweloperskiego i wytyczne
Dziennik zmian Pełna historia wydań dla każdej wersji
Polityka bezpieczeństwa Zgłaszanie podatności i praktyki bezpieczeństwa
Podręcznik i18n Obsługa ponad 40 języków, przepływ tłumaczeń, kierunek tekstu RTL
Lista kontrolna wydania Kroki walidacji przedwydaniowej
Plan pokrycia testami Strategia pokrycia testami i zestaw ponad 25 000 testów

⭐ Główni autorzy

OmniRoute jest kształtowane przez pasjonatów ze społeczności 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.

oyi77
oyi77

🥇 207 commits • +114K lines
Silnik analityczny, agregacje SQL,
rynek proxy, pokrycie testami
R.D. & Randi
R.D. & Randi

🥈 108 commits • +38K lines
Strona punktów końcowych, integracje tuneli,
przepływy pracy Docker, status A2A, interfejs kompresji
Chris Staley
Chris Staley

🥉 70 commits • +1.8K lines
Wzmocnienie strumienia SSE, API Responses,
stronicowanie Gemini, poprawki regresji testów
zenobit
zenobit

🏅 62 commits • +22K lines
Potok CI/CD, i18n dla 33 języków,
pakiet dla Void Linux, poprawki platformy
Jan Leon
Jan Leon

🏅 52 commits • +22K lines
Routing uwzględniający moc rozumowania, kontrola proxy,
widoczność limitów, kompresja Live Zone
Chirag Singhal
Chirag Singhal

🏅 46 commits • +4.8K lines
Oczyszczanie błędów, poprawka autouzupełniania MITM,
sędzia fusion, poprawność obsługi wyłącznika awaryjnego/429
backryun
backryun

🏅 43 commits • +70K lines
Utrzymanie katalogu dostawców — aktualizacje dla Perplexity, Kimi,
Cerebras, Copilot, LMArena
kfiramar
kfiramar

🏅 38 commits • +1.7K lines
Obsługa websocket i passthrough dla Codex, autoryzacja/onboarding,
wzmocnienie Electron, migracje baz danych
Benson K B
Benson K B

🏅 28 commits • +9.2K lines
Aplikacja desktopowa Electron, automatyczny instalator aktualizacji,
przepływy budowania wydań, wieloplatformowe CI
Hernan J. Ardila
Hernan J. Ardila

🏅 22 commits • +174K lines
Komba o zerowym opóźnieniu, auto-routing mostu wizyjnego,
długość kontekstu w katalogu, wskazówki odporności dla błędów 429

🙏 Funkcje, poprawki błędów i ulepszenia infrastruktury wprowadzone przez tych autorów stanowią kluczową część tego, co czyni OmniRoute niezawodnym i bogatym w funkcje. Każde żądanie ściągnięcia (pull request), każdy przypadek testowy i każdy plik tłumaczenia i18n ma znaczenie. Open source tworzą ludzie tacy jak oni.



👥 Ponad 350 współtwórców

Contributors

Jak współtworzyć

  1. Sforkuj repozytorium
  2. Utwórz gałąź dla swojej funkcji (git checkout -b feature/amazing-feature)
  3. Zatwierdź swoje zmiany (git commit -m 'Add amazing feature')
  4. Wypchnij zmiany do gałęzi (git push origin feature/amazing-feature)
  5. Otwórz Pull Request

Szczegółowe wytyczne znajdziesz w CONTRIBUTING.md.

Wydawanie nowej wersji

# Utwórz wydanie — publikacja w npm następuje automatycznie
gh release create v3.8.2 --title "v3.8.2" --generate-notes

📊 Gwiazdki

Star History Chart

🌍 StarMapper

StarMapper

🙏 Podziękowania

OmniRoute stoi na barkach gigantów. Projekt powstał jako fork 9router oraz port na TypeScript projektu w Go CLIProxyAPI — a stamtąd każdy z poniższych podsystemów był inspirowany projektem open-source, który powstał wcześniej. Każdy z nich ukształtował konkretny element OmniRoute. To jest nasze podziękowanie dla nich wszystkich. 🙏

⭐ liczba gwiazdek na lipiec 2026 r. — zachęcamy do dodania gwiazdki tym projektom.

🧬 Rodowód i bramka (gateway)

Projekt Jak zainspirował OmniRoute
9router · decolua 22.7k Oryginalny projekt, na którym opiera się ten fork — rozbudowany tutaj o wielomodalne API i pełne przepisanie na TypeScript.
CLIProxyAPI · router-for-me 43.6k Implementacja w Go, która zainspirowała ten port na JavaScript / TypeScript.
LiteLLM · BerriAI 54.0k Bramka AI, której publiczny zbiór danych o cenach zasila naszą synchronizację śledzenia kosztów, a jej model normalizacji dostawców wpłynął na nasz routing.

🗜️ Kompresja kontekstu i tokenów — silniki

Projekt Jak zainspirował OmniRoute
Caveman · JuliusBrussee 90.8k Wirusowy projekt "po co używać wielu tokenów, skoro kilka wystarczy" — jego filozofia "mowy jaskiniowca" zasila nasz standardowy tryb kompresji i ponad 30 reguł usuwania wypełniaczy/kondensacji.
RTK – Rust Token Killer · rtk-ai 71.8k Wydajna kompresja danych wyjściowych komend — zainspirowała nasz silnik RTK, DSL filtrów JSON, odzyskiwanie surowego wyjścia oraz kaskadowy potok RTK → Caveman.
headroom · headroomlabs-ai 60.1k Odwracalna kompresja kontekstu (SmartCrusher) — zainspirowała nasz silnik headroom oraz wzorzec znaczników pobierania ccr.
LLMLingua · Microsoft 6.5k Badania nad kompresją promptów (LLMLingua / LLMLingua-2) — zainspirowały nasz asynchroniczny, bezpieczny dla kodu i odporny na błędy (fail-open) silnik llmlingua.
llmlingua-2-js · atjsh 30 Port JS/ONNX (MobileBERT / XLM-RoBERTa) używany jako backend wątku roboczego (worker thread) dla naszego silnika LLMLingua.
Troglodita · Lenine Júnior 26 Kompresja tokenów dla języka portugalskiego (brazylijskiego) — zasila nasz pakiet językowy pt-BR: redukcja pleonazmów i usuwanie wypełniaczy dostosowane do gramatyki brazylijskiej odmiany języka portugalskiego.
ponytail · DietrichGebert 86.0k Wirusowa umiejętność "leniwego programisty seniora" stosującego zasadę YAGNI — zainspirowała nasz styl wyjściowy less-code: sterowanie najmniejszą działającą zmianą, które ogranicza wygenerowany kod (odpowiednik zwięzłej prozy Cavemana na osi wyjściowej).

🧩 Kompaktowe formaty, badania nad tokenami i narzędzia analizujące kod

Projekt Jak zainspirował OmniRoute
TOON · toon-format 24.9k Token-Oriented Object Notation — jego kolumnowy model oparty na nagłówkach i wierszach ukształtował nasz etap tabelarycznego upakowania.
GCF – Graph Compact Format · Blackwell Systems 22 Najpierw zainspirował nasz etap tabelarycznego upakowania; teraz jego bezstratny koder profili ogólnych bez zewnętrznych zależności jest bezpośrednio wbudowany (vendored) jako kodek Headroom (licencja MIT, oznaczenie SPDX), zgodny z wersją v3.2 specyfikacji GCF.
token-optimizer-mcp · ooples 444 Pamięć podręczna Brotli/SQLite + delta kontekstu na sesję — zainspirowały nasz silnik session-dedup.
token-savior · Mibayy 1.1k Upakowanie danych wyjściowych basha + profile MCP — zainspirowały naszą dyscyplinę wycofywania się z kompresji (bail-out) oraz redukcję kardynalności manifestu narzędzi MCP.
token-saver · ppgranger 117 Zorientowana na treść kompresja wyjściowa per typ pliku z wycofywaniem się w razie błędów — potwierdziła nasze podejście do obsługi per typ oraz pomijania przy minimalnym zysku.
token-optimizer · alexgreensh 1.7k "Znajdź duchy-tokeny" — jego wzorzec odciążania i odzyskiwalnych uchwytów wpłynął na naszą koncepcję odciążania CCR.
TokenMizer · Shweta-Mishra-ai 16 Schemat grafu sesji + deduplikacji linii między turami, który wpłynął na projekt naszego session-dedup.
OmniCompress · jessefreitas 3 Kolumnowy JSON w Rust + pobieranie adresowane treścią + deduplikacja między wiadomościami — potwierdziły poprawność projektu naszych silników headroom/ccr/session-dedup oraz stabilnego dla cache niezmiennika "skompresowana forma jest niezależna od pozycji".
mcp-compressor · Atlassian Labs 98 Kompresja schematów/opisów narzędzi MCP — wpłynęła na redukcję kardynalności manifestu narzędzi MCP.
RepoMapper · pdavis68 187 Ranking mapy repozytorium w stylu Aider — wpłynął na nasze badania nad mapami repozytoriów i rankingami wyszukiwania.
quiet-shell-mcp · mrsimpson 4 Deklaratywna redukcja danych wyjściowych powłoki przez MCP — potwierdziła poprawność naszego deklaratywnego upakowania wyjścia basha.
ts-morph · David Sherret 6.1k Zestaw narzędzi TypeScript Compiler API — zainspirował nasze usuwanie komentarzy oparte na parserze, które zachowuje ciągi znaków, szablony i literały wyrażeń regularnych.

🧠 Pamięć i RAG

Projekt Jak zainspirował OmniRoute
Mem0 · mem0ai 61.2k Uniwersalna warstwa pamięci — jej model proxy jako granicy zapisu/odczytu ukształtował naszą architekturę pamięci.
Letta (MemGPT) · letta-ai 23.9k Agenci stanowi z warstwową pamięcią — zainspirowali nasz warstwowy model Context Control & Recovery (CCR).
WFGY · onestardao 1.8k Taksonomia ProblemMap obejmująca 16 powtarzających się trybów awarii RAG/LLM — wspólny słownik w naszym podręczniku rozwiązywania problemów.

🛰️ Inspekcja ruchu, MITM i przezroczyste proxy

Projekt Jak zainspirował OmniRoute
llm-interceptor · chouzz 49 Przechwytywanie/analiza MITM ruchu asystent kodowania ↔ LLM — nasz Inspektor Ruchu przenosi jego scalanie SSE, normalizację rozmowy, przepuszczanie hosta i maskowanie sekretów (MIT).
ProxyBridge · InterceptSuite 5.5k Przezroczysty routing proxy per proces — zainspirował nasze odporne na awarie zamykanie MITM, limity bezczynności gniazd, atrybucję procesów przez /proc i przechwytywanie TPROXY.

📚 Dane modeli, obserwowalność i UI

Projekt Jak zainspirował OmniRoute
models.dev · SST / OpenCode 6.0k Otwarta baza danych specyfikacji modeli AI, cen i możliwości — synchronizowana natywnie z naszym katalogiem modeli.
React Flow / xyflow · xyflow 37.7k Oparta na węzłach biblioteka wykresów zasilająca nasze działające w czasie rzeczywistym Studio Kompresji oraz Studio Komb/Routingu.
LangGraph · LangChain 37.6k Wizualizacja grafu przepływu pracy na żywo z LangGraph Studio zainspirowała widok kaskadowy w czasie rzeczywistym w naszych Studiach.
Langfuse · Langfuse 31.4k Jej model obserwowalności ślad → rozpiętość → generowanie (trace → span → generation) ukształtował widok kaskadowy (waterfall) w naszym Studiu Kompresji.
Kiali · Kiali 3.6k Obserwowalność siatki usług Istio — zainspirowała nasze plakietki wyłączników awaryjnych oraz wizualizacje krawędzi błędów w Studiu Routingu/Komb.
lobe-icons · LobeHub 2.2k Logotypy marek AI/LLM, które renderują ikony dostawców w naszym panelu.

🛡️ Bezpieczeństwo

Projekt Jak zainspirował OmniRoute
awesome-secure-defaults · tldrsec 710 Starannie dobrana lista domyślnie bezpiecznych bibliotek, która kieruje naszymi wyborami w zakresie bezpieczeństwa (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink).

🧭 Narzędzia uzupełniające

Projekt Jak współgra z OmniRoute
CodeWebChat · robertpiosik Towarzysz po stronie edytora — rozszerzenie VS Code + przeglądarki, które automatycznie uzupełnia ponad 15 interfejsów webowych chatbotów kontekstem z edytora. Obsługuje ścieżkę darmowego UI webowego obok ścieżki API OmniRoute; pozwala skierować swój tryb API na OmniRoute.

💖 Sponsorzy

Chcesz się tutaj pojawić? OmniRoute prezentuje sponsorów przed jedną z najszybciej rozwijających się społeczności bramki AI na GitHubie — i publicznie informujemy, dokąd trafia każdy sponsorowany token. Skontaktuj się z nami: diegosouza.pw@outlook.com

Kimi (Moonshot AI)
Kimi
Moonshot AI

Oficjalny wspierający
Dziękujemy firmie Kimi (Moonshot AI) za sponsorowanie tego projektu! Kimi to laboratorium AI stojące za otwartymi rodzinami modeli K2 i K3 — Kimi K3 zapewnia okno kontekstowe o rozmiarze 1M tokenów, natywną obsługę wizji oraz możliwości kodowania na najwyższym poziomie za ułamek ceny modeli zamkniętych, i działa od razu z Claude Code, Codex oraz każdym narzędziem programistycznym obsługiwanym przez OmniRoute.

Na co przeznaczane jest sponsorowanie: Kredyty API Kimi zasilają nasz potok wydań walidowany przez AI — etap walidacji scalania opartej na Kimi K3, który analizuje każde żądanie ściągnięcia przed jego wysłaniem — oraz codzienne rozwijanie funkcji. Pełna obsługa Kimi jest dostarczana na obu ścieżkach: bezpośredniego Moonshot API (kimi-k3) oraz planu kodowania Kimi Code (OAuth i klucz API). Pobierz klucz API Moonshot →

❤️ Wsparcie

OmniRoute jest darmowym projektem o otwartym kodzie źródłowym, tworzonym i utrzymywanym jawnie. Jeśli pozwala Ci zaoszczędzić czas lub pieniądze, rozważ wsparcie rozwoju:

  • Dodaj gwiazdkę do repozytorium — to naprawdę pomaga w widoczności
  • 💖 Sponsorzy GitHub — finansuj bieżące utrzymanie i nowych dostawców
  • 🐛 Zgłaszaj błędy i dziel się opiniami w Dyskusjach

📄 Licencja

Licencja MIT — szczegóły znajdziesz w pliku LICENSE.



⬆ Powrót do góry · Stworzono z ❤️ dla społeczności AI open-source.

OmniRoute v3.8.49 · Node ≥22.22.2 · Licencja MIT · omniroute.online