## 💰 ~1.62B tokenů / měsíc napříč bezplatnými tarify třetích stran
> **Přineste si vlastní účty poskytovatelů.** Toto je odhadovaný souhrn napříč samostatně způsobilými bezplatnými tarify třetích stran, nikoli tokenový grant od OmniRoute. Zaregistrujte se, získejte přihlašovací údaje tam, kde jsou vyžadovány, a připojte poskytovatele, které můžete používat; každý poskytovatel řídí své limity, dostupnost a podmínky.
>
> Ruční vrstvení bezplatných tarifů je otrava — desítky SDK, desítky rate limitů a žádná představa o tom, kolik toho vlastně máte. OmniRoute katalogizuje **467 záznamů bezplatných tarifů napříč 34 opakujícími se klíči poolů** a vypočítává tokenové hlavní číslo z **17 poolů s publikovaným kladným měsíčním rozpočtem plus pěti limitů Groq pro jednotlivé modely**, deduplikovaných podle sdíleného poolu. Kvóty, které se otevřou až po regionálním ověření identity (dnes: ModelScope), jsou zobrazeny odděleně, +~6M za regionálním ověřením identity, a nikdy se nesčítají do hlavního čísla. Výsledek zůstává viditelný na dashboardu (`/dashboard/free-tiers`).
> Animované shrnutí živé stránky `/dashboard/free-tiers`. Kompletní metodika (deduplikace poolů, kreditní úrovně, podmínky poskytovatelů): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**.
>
> Tato čísla jsou každé dva týdny znovu auditována oproti živému katalogu a **pohybují se oběma směry** — poskytovatel ukončí bezplatný tarif a číslo klesne; přibude nový a číslo stoupne. Zveřejňujeme to, co katalog skutečně spočítá, nikdy zaokrouhlený nejlepší možný scénář.
⭐ Dejte repozitáři hvězdičku, pokud vám OMNIROUTE pomohl ušetřit peníze a usnadnit práci.
[](https://github.com/diegosouzapw/OmniRoute)
[](https://www.star-history.com/diegosouzapw/omniroute)
[](https://olud.ai/project/diegosouzapw-omniroute.html)
### 💬 Připojte se ke komunitě
**👋 Sledujte správce — nové poskytovatele, vydání a tipy dostanete jako první:**
[](https://www.linkedin.com/in/diegosouzapw/)
[](https://github.com/diegosouzapw)
[](https://discord.gg/U47eFqAXCn)
[](https://t.me/omnirouteOficial)
[](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4)
[](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4)
[](https://omniroute.online)
**Dotazy, tipy k poskytovatelům, roadmapa a podpora → [Discord](https://discord.gg/U47eFqAXCn) · [Telegram](https://t.me/omnirouteOficial) · WhatsApp [🌍 Globální](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) / [🇧🇷 Brazílie](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) / [Portál](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK)**
## 📈 Gateway stále roste
## 🆓 Nainstalujte, připojte poskytovatele a poté směrujte přes jeden koncový bod
```bash
# Po připojení poskytovatele zkopírujte svůj klíč OmniRoute z Nástěnka → Koncové body:
curl http://localhost:20128/v1/chat/completions \
-H "Authorization: Bearer YOUR_OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'
```
`auto` vyžaduje způsobilou trasu. Nová instalace nemusí mít žádné způsobilé cíle bez klíče a poskytovatel bez klíče může odmítnout klienty třetích stran. Poskytovatelé označení jako `tos: avoid`, včetně Kiro, jsou ve výchozím nastavení z automatického směrování vyloučeni; připojení účtu toto nastavení nemění. Před výběrem poskytovatele si přečtěte [Průvodce bezplatnými úrovněmi](docs/getting-started/FREE-TIERS-GUIDE.md).📦 Skripty pro rychlý start metodou zkopírovat a vložit pro **Python, Node.js, PHP a cURL** → [`examples/quickstart/`](examples/quickstart/)
# 💥 Příslib
# 🤔 Proč OmniRoute?
## 🤝 Podporováno našimi přáteli open source
> **Chcete se přidat jako přítel open source?** Toto jsou společnosti, které podporují open source a pomáhají udržovat OmniRoute v chodu — a my veřejně uvádíme, na co je použit každý token, který nám poskytnou. Ozvěte se nám: [diegosouza.pw@outlook.com](mailto:diegosouza.pw@outlook.com)
Kimi Moonshot AI
Děkujeme společnosti Kimi (Moonshot AI), našemu zakládajícímu příteli open source, za podporu tohoto projektu! Kimi je laboratoř AI stojící za rodinami modelů s otevřenými váhami K2 a K3 — Kimi K3 nabízí kontextové okno o 1 milionu tokenů, nativní zpracování obrazu a špičkové schopnosti programování za zlomek ceny uzavřených modelů a ihned funguje s Claude Code, Codex a všemi programovacími nástroji, které OmniRoute obsluhuje.
Co umožňuje podpora od Kimi: Kredity API od Kimi pohánějí vydávací proces OmniRoute ověřovaný umělou inteligencí — fázi ověření sloučení využívající Kimi K3, která kontroluje každý požadavek na začlenění změn před jeho vydáním — a také každodenní vývoj funkcí. Plnohodnotná podpora Kimi je dostupná oběma způsoby: přes přímé Kimi API (kimi-k3) i přes programovací tarif Kimi Code (OAuth a klíč API). OmniRoute je také prvním brazilským open-source projektem v programu podpory Kimi. Získejte klíč Kimi API s 15 % kreditů navíc →
Cheaper Inference cheaperinference.com
Děkujeme společnosti Cheaper Inference, příteli open source projektu OmniRoute, za podporu tohoto projektu! Cheaper Inference je brána řazená podle nákladů, která prostřednictvím jediného koncového bodu kompatibilního s OpenAI přeprodává 42 špičkových modelů — Claude, GPT-5.x, Gemini, Kimi K3, GLM, DeepSeek, Grok a MiniMax — a každý požadavek směruje k nejlevnějšímu vyhovujícímu poskytovateli, aniž by kdy účtovala více než katalogovou cenu tvůrce modelu.
Plnohodnotná podpora v OmniRoute: Chat Completions, nativní koncový bod /v1/responses, zpracování obrazu, volání nástrojů a 3 obrazové modely (grok-imagine, nano-banana-pro, nano-banana-2, dostupné jako cheaperinference/<model>). Získejte klíč API →
Odkazy označené parametrem aff=omniroute jsou partnerské odkazy. Financují projekt bez jakýchkoli dodatečných nákladů pro vás. 🎟️ Partnerské nabídky — bezplatné registrační kupóny od poskytovatelů, které nesponzorujeme (kliknutím rozbalíte)Tato část je určena pouze pro doporučující a kupónové kódy. Sponzorovaná partnerství jsou uvedena výše v části 🤝 Podporováno našimi přáteli open source. OmniRoute nemá s poskytovateli uvedenými zde žádný sponzorský ani partnerský vztah — jedná se o veřejné kupóny, které může využít kdokoli.
AgentRouter agentrouter.org
AgentRouter — partnerská registrace · bezplatné kredity v hodnotě $100 při registraci (bezplatný server, počítejte s vyšší latencí — nejvhodnější pro testování, nikoli pro produkční prostředí). Plnohodnotná podpora v OmniRoute od verze v3.8.50: Chat Completions, formát přenosu kompatibilní s Anthropic a cesta kompatibilní s OpenAI. Mezi dostupné modely patří claude-opus-4-8, claude-opus-5, gpt-5.6-sol a další. Získejte svých $100 →
⚠️ Partnerský odkaz — OmniRoute nemá s tímto poskytovatelem žádný sponzorský ani partnerský vztah.
Znáte jiného poskytovatele se štědrým bezplatným registračním kupónem, který by byl přínosem pro uživatele OmniRoute? Otevřete issue a my ho sem přidáme.
## 🎯 Kombinace — vlajková funkce
> **Kombinace** je řetězec modelů, mezi kterými OmniRoute směruje požadavky **automaticky**. Pokud dojde kvóta, poskytovatel selže nebo prudce vzrostou náklady, kombinace může přejít na další vhodný a funkční model. 🛡️
### ⚡ Bez konfigurace — stačí použít `auto`
Nemusíte vytvářet žádnou kombinaci. Nastavte model na `auto` (nebo některou z jeho variant) a OmniRoute sestaví virtuální kombinaci z vašich připojených poskytovatelů, kterou průběžně vyhodnocuje:
ID modelu
Co optimalizuje
auto
🎯 Vyvážené výchozí nastavení (LKGP — zůstává u posledního osvědčeného poskytovatele)
auto/coding
🧑💻 Váhy upřednostňující kvalitu při generování kódu
auto/fast
⚡ Nejprve nejnižší latence
auto/cheap
💰 Nejprve nejnižší cena za token
auto/subscription
🎟️ Pouze kvóta předplatného, za které už platíte — při selhání se ukončí a nikdy nepřejde na zpoplatněnou záložní možnost (průvodce)
auto/thrifty
🪜 Nejprve kvóta tarifu, poté postupně nejlevnější placené možnosti — po obnovení kvóty se vrátí k tarifu (průvodce)
auto/offline
🔋 Nejprve největší rezerva kvóty / limitu požadavků
auto/smart
🔭 Upřednostnění kvality + 10% průzkum pro objevování lepších modelů
auto/lkgp
📌 Výslovné setrvání u posledního osvědčeného poskytovatele
auto/chaos
🧪 Paralelní rozeslání panelu modelů (jeden na poskytovatele, ve výchozím nastavení 5), které vrátí jednu odpověď; jedno volání nadřazené služby na každý model v panelu, nikoli vnášení poruch
##
### 🔀 Nebo si vytvořte vlastní — 20 strategií směrování
Všech **20** strategií — libovolně je kombinujte v jednotlivých krocích kombinace:
#
Strategie
Co dělá
1
priority
Seřazený seznam s prvním cílem — každý se vyčerpá před přechodem na další 🥇
2
fill-first
Před přechodem na další cíl plně využije kvótu každého cíle
3
weighted
Vážený náhodný výběr podle váhy jednotlivých cílů
4
round-robin
Postupně prochází cíle v daném pořadí
5
p2c
Náhodné vyvažování zátěže metodou výběru ze dvou možností
6
least-used
Vybere cíl s nejnižším aktuálním zatížením
7
random
Rovnoměrný náhodný výběr (bez duplicit)
8
strict-random
Náhodný výběr bez odstraňování opakování 🎲
9
cost-optimized
Minimalizuje cenu v $ za požadavek podle aktuálních cen v katalogu 💸
10
headroom
Vybere cíl s největší zbývající kvótou
11
quota-weighted
Přeskočí vyčerpané účty a poté vybírá v poměru zbývající kvóty ÷ aktuálního zatížení — stávající konverzace zůstávají připnuté ⚖️
12
reset-window
Upřednostní cíl, jehož kvótové období se obnoví nejdříve
13
reset-aware
Řadí podle času obnovení kvóty — nejprve krátká období 📊
14
context-relay
Pro dlouhé konverzace předává kontext mezi cíli 🧠
15
context-optimized
Vybere nejvhodnější cíl pro aktuální velikost kontextu
16
cache-optimized
Připne každý opakovaně použitelný prefix výzvy ke stejnému účtu — maximalizuje využití mezipaměti výzev 🎯
17
lkgp
Poslední osvědčená cesta — připne se k poslednímu úspěšnému poskytovateli a poté použije záložní pravidla
18
auto
Průběžné vyhodnocování 16 faktorů napříč všemi připojeními 🤖
19
fusion
Rozešle požadavek panelu modelů a hodnoticí model z jejich výstupů sestaví jednu odpověď 🧬
20
pipeline
Zřetězí kroky — výstup každého cíle slouží jako vstup pro následující 🔗
Engine Auto-Combo hodnotí každého kandidáta podle **16 faktorů** (stav, kvóta, náklady, latence, vhodnost pro úlohu, kvalita, dostupnost relace…) — viz [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md).
##
### 🧱 Odolnost je integrovaná (3 nezávislé vrstvy)
📖 [Engine Auto-Combo](docs/routing/AUTO-COMBO.md) · [Průvodce odolností](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 V čem OmniRoute vyniká
📊 Kompletní metodika & podrobnosti o jednotlivých funkcích v porovnání s 9router, OpenRouter, CLIProxyAPI & LiteLLM → [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md)
## 💚 Podpořte OmniRoute
OmniRoute je licencován pod licencí MIT a vyvíjen otevřeně. Pokud vám šetří čas nebo peníze, zde jsou možnosti, jak mu pomoci zachovat nezávislost — vyberte si, co vám vyhovuje. Sponzorství nikdy neovlivňuje prioritu směrování; kupuje viditelnost, nikoli pořadí.
⚠️ Každou měnu posílejte pouze prostřednictvím uvedené sítě — při odeslání přes nesprávnou síť můžete o prostředky přijít.
🐛 Našli jste chybu nebo máte zpětnou vazbu? Otevřete [diskusi](https://github.com/diegosouzapw/OmniRoute/discussions).
Poznámky pro vývojáře: Projekt může během npm install/postinstall pro pohodlí vývojářů vygenerovat místní soubor .env. Tento soubor je záměrně ignorován prostřednictvím .gitignore (viz .gitignore) a nikdy nesmí být zahrnut do commitu — pokud k tomu dojde omylem, změňte všechny odhalené tajné údaje a odstraňte soubor z historie. Pokyny ke správě místních souborů prostředí a tajných údajů naleznete v docs/DEVELOPER-ENVIRONMENT.md.
## 📡 OmniRoute Radar
Hlavním údajem pro bezplatnou úroveň zůstává **~1.62B tokenů/měsíc** z výše uvedeného zdokumentovaného katalogu
s odstraněnými duplicitami mezi fondy. Dočasné kredity za registraci u poskytovatelů mohou objem v prvním
měsíci samostatně zvýšit na **~2.22B**. Radar je volitelná podepsaná překryvná vrstva katalogu pro uživatele, kteří chtějí
aktuálnější informace o dostupnosti bezplatných modelů mezi jednotlivými vydáními OmniRoute; komunitní katalog i všechny stávající bezplatné
funkce zůstávají zdarma.
Podporovatelé mohou získat živý katalog a další možnosti od poskytovatelů. Jeho samostatný,
proměnlivý strop činí **nanejvýš přibližně 3B tokenů/měsíc** v závislosti na dostupnosti poskytovatelů.
Tento strop není zaručen: poskytovatelé mohou kdykoli změnit kvóty, podmínky způsobilosti, modely nebo regiony.
Radar je volitelný a používá pouze požadavky GET. Klient OmniRoute nenahrává prompty, provoz, konfiguraci
poskytovatelů, telemetrii využití ani místní stav skrytí oznámení. Informace o podmínkách způsobilosti a
aktuálním katalogu najdete na **[radar.omniroute.online/planos](https://radar.omniroute.online/planos)**.
## ✨ Co je nového
> Nejnovější změny od **v3.8.20 → v3.8.53**. Úplnou historii najdete v souboru [`CHANGELOG.md`](CHANGELOG.md).
- **⚖️ Směrování `quota-weighted`** — 20. kombinovaná strategie přeskakuje účty s vyčerpanou kvótou a poté vybírá ze zbývajících v poměru zbývající kvóty ÷ aktuálního zatížení, přičemž stávající konverzace zůstávají připnuté. → [Automatické kombinace](docs/routing/AUTO-COMBO.md)
- **🧰 Bezobslužný režim** — `omniroute serve --headless` (nebo `OMNIROUTE_HEADLESS=1`) spouští pouze proxy engine `/v1/*`, zatímco řídicí panel a subsystémy určené výhradně pro něj zůstávají vypnuté. → [Bezobslužný režim](docs/guides/HEADLESS.md)
- **🔎 Vyhledávání modelů** — `/v1/models` filtruje podle schopností, kontextu, druhu a textu a `POST /v1/models/query` vrací krátký deterministický výběr se stejnou viditelností pro jednotlivé klíče. → [Referenční příručka API](docs/reference/API_REFERENCE.md)
- **🔑 Řízení směrování podle klíče** — připněte API klíč k jednomu modelu nebo kombinaci pomocí `forcedModel` a atomicky přidávejte či odebírejte modely a kombinace daného klíče (`/api/keys/{id}/access`). → [Referenční příručka API](docs/reference/API_REFERENCE.md) · [OpenAPI](docs/openapi.yaml)
- **🛡️ Podrobnější řízení PII** — výběr podle jednotlivých typů, až 20 ověřovaných vlastních vzorů maskování a počítadla detekcí pro jednotlivé typy; samotné maskování zůstává volitelné. → [Ochranná opatření](docs/security/GUARDRAILS.md)
- **🌍 67 jazyků** — řídicí panel, zrcadla dokumentace a CLI, přičemž `npm run i18n:add-locale` přidá jazyk všude jediným příkazem. → [Průvodce i18n](docs/guides/I18N.md)
- **🎛️ OmniConductor** — příchozí delegování A2A do vaší flotily agentů, dovednosti Conductor na kartě agenta a panel v řídicím panelu s hlasovým chatem Faro využívajícím funkci push-to-talk. → [Server A2A](docs/frameworks/A2A-SERVER.md)
- **🛂 Adaptivní přijímání a ochrana proti přetížení** — náročné požadavky chatu se namísto vrácení chyby 503 zařadí do fronty, s atomickými průběžnými pronájmy RPM pro jednotlivá připojení. → [Průvodce odolností](docs/architecture/RESILIENCE_GUIDE.md)
- **🗂️ Kanonické řazení `/v1/models`** — jeden souvislý blok seskupený podle poskytovatele pro každého poskytovatele (kombinace jsou připnuté jako první), stabilní napříč všemi zdroji katalogu. → [Referenční příručka API](docs/reference/API_REFERENCE.md)
- **🗜️ Posílení komprese** — ve výchozím nastavení zapnutá ochrana proti inflaci, balíčky Caveman pro DE / FR / JA + čínštinu (wényán), filtry RTK pro Gradle a .NET. → [Komprese](docs/compression/COMPRESSION_ENGINES.md)
- **💸 Pravdivé náklady u paušálních tarifů** — poskytovatelé s předplatným / programátorským tarifem vykazují v analýze nákladů **$0**; rozpočet, kvóta a směrování nadále používají odhady. → [Referenční příručka API](docs/reference/API_REFERENCE.md)
- **⚖️ Směrování Quota-Share** — spravedlivě rozděluje kvótu sdíleného účtu mezi sdružené klíče a zachovává využití kapacity tím, že nevyužité podíly zapůjčuje ostatním. → [Průvodce odolností](docs/architecture/RESILIENCE_GUIDE.md)
- **🤖 Nastavení CLI/agentů jediným příkazem** — 15 registrovaných příkazů `setup-*`; `omniroute run` spouští 7 CLI (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` podporuje 11 cílů s interaktivním výběrem poskytovatele a modelu a oblíbenými položkami pro jednotlivé kontexty. → [Integrace CLI](docs/guides/CLI-INTEGRATIONS.md)
- **🛰️ Vzdálený režim** — ovládejte vzdálenou instanci OmniRoute pomocí tokenů s omezeným rozsahem (`connect` / `contexts` / `tokens`) a pomocníka OAuth `antigravity` pro instalace na VPS. → [Vzdálený režim](docs/guides/REMOTE-MODE.md)
- **🧭 Chytřejší automatické směrování** — kombinace `auto/:`, **Fusion** (panel modelů + rozhodčí), směrování zohledňující úlohu a možnost přepsat pro jednotlivé požadavky model / režim / rozpočet v USD. → [Automatické kombinace](docs/routing/AUTO-COMBO.md)
- **🗜️ Modulární komprese** — 12 kombinovatelných enginů + Compression Studios: LLMLingua-2, dvouúrovňové Ultra, omniglyph, kontrola věrnosti pro každý krok, GCF v3.2 a editor s přetahováním pro změnu pořadí. → [Komprese](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ Transparentní dešifrování MITM (TPROXY)** — zachycuje CLI, která ignorují proměnné prostředí proxy, pomocí certifikační autority pro jednotlivá SNI a instalačního nástroje úložiště důvěryhodných certifikátů. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md)
- **💸 Telemetrie nákladů všude** — hlavičky nákladů/využití `X-OmniRoute-*` na každém koncovém bodu, hlavička úspor při zásahu do mezipaměti a kvóty výdajů v USD pro jednotlivé klíče. → [Referenční příručka API](docs/reference/API_REFERENCE.md)
- **🧠 Paměť pod vaší kontrolou** — ve výchozím nastavení vypnutá, volitelná kvantizace vektorů int8 + typovaný útlum, `x-omniroute-no-memory` pro jednotlivé požadavky. → [Paměť](docs/frameworks/MEMORY.md)
- **🛡️ Zabezpečení** — ochrana proti prompt injection na každé trase LLM (sada red-team testů), volitelná ochrana maskující přihlašovací údaje (rediguje uniklé API klíče/tajné údaje v obou směrech), bezplatné webové vyhledávání DuckDuckGo jako poslední možnost a volitelná přihlašovací brána OIDC pro řídicí panel (přihlášení heslem zůstává vždy dostupné). → [Ochranná opatření](docs/security/GUARDRAILS.md)
- **🖼️ Nové koncové body** — `/v1/ocr` (Mistral OCR) a `/v1/audio/translations` (ve stylu Whisper) doplňují nabídku médií. → [Referenční příručka API](docs/reference/API_REFERENCE.md)
- **🎨 Generování obrázků / videa / zvuku** — jedno API pro média: xAI Grok Imagine a video Novita AI, ComfyUI, Magnific, Adobe Firefly, Segmind a poskytovatelé hlasových služeb, jako je ElevenLabs. → [Referenční příručka API](docs/reference/API_REFERENCE.md)
- **🌍 Nasazení a provoz** — `basePath` pro reverzní proxy, automatická detekce jazyka prohlížeče, sledování zařízení pro jednotlivé klíče, důvěryhodnost MITM bez oprávnění root a lokalizace zh-TW. → [Prostředí](docs/reference/ENVIRONMENT.md)
- **🤝 Více poskytovatelů a agentů** — cloudoví agenti (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) s prohlížečem + přihlášením OAuth, plnohodnotná karta Ollama, Claude Opus 5 a Sonnet 5, oficiální partnerství s Kimi (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… a aktualizovaný **katalog 375 poskytovatelů**. → [Poskytovatelé](docs/reference/PROVIDER_REFERENCE.md)
- **📡 Transparentnost směrování** — každá odpověď obsahuje hlavičku `X-OmniRoute-Decision` uvádějící strategii/poskytovatele/latenci, které ji obsloužily; nová kombinovaná strategie `cache-optimized` + faktor Auto-Combo `cacheAffinity` směrují opakované požadavky zpět na připojení obsahující prefix v mezipaměti a koncový bod pouze pro čtení `/v1/auto-combo/{channel}/candidates` zpřístupňuje aktuální fond kandidátů kanálu `auto/*`. → [Automatické kombinace](docs/routing/AUTO-COMBO.md)
- **⚡ Lokální výkon a infrastruktura** — lokální Redis jedním kliknutím, deployery relay pro Cloudflare Workers / Deno Deploy, Bifrost a Mux jako supervizované vestavěné služby. → [Vestavěné služby](docs/frameworks/EMBEDDED-SERVICES.md)
- **🧩 Také součástí balení** — plugin framework + marketplace, frameworky dovedností Omni/Agent/GitHub, integrace úložiště Obsidian (22 nástrojů MCP), rozhraní Batch a Files API kompatibilní s OpenAI, sémantická cache odpovědí, gamifikace s žebříčky, objevování agentů ACP (15 vestavěných agentů), plánovaný export logů do BigQuery, paralelní multi-model fan-out `auto/chaos`, bridge pro Telegram bota, správce verzí přímo v aplikaci a žebříčky bezplatných poskytovatelů LMArena-ELO. → [Dokumentace](docs/README.md)
## 🤖 Kompatibilní CLI a programovací agenti
> Jedna konfigurace — `http://localhost:20128/v1` — a **každé** AI IDE nebo CLI funguje s bezplatnými a nízkonákladovými modely.
+ funguje také s · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · jakýmkoli nástrojem kompatibilním s OpenAI
📖 Nastavení pro každý z 37 nástrojů (27 nástrojů CLI Code + 10 agentů CLI) → [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 Plugin pro OpenCode → [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)
**Spusťte libovolné podporované CLI přes OmniRoute jediným příkazem** — bez vytváření konfiguračních souborů,
přihlašovací údaje se vloží pro každý proces a Qwen/Gemini získají dočasný izolovaný domovský adresář:
```bash
omniroute run claude --model openai/gpt-5.4 # Claude Code
omniroute run codex --model glm/glm-5.2 # OpenAI Codex CLI
omniroute run aider --model glm/glm-5.2 -- --message "reply OK"
omniroute run goose --model glm/glm-5.2
omniroute run opencode --model glm/glm-5.2 -- run "reply OK"
omniroute run qwen --model glm/glm-5.2 -- -p "reply OK"
omniroute run gemini --model glm/glm-5.2 -- --skip-trust -p "reply OK"
# Nebo interaktivně vyberte poskytovatele a model a zapište vlastní konfiguraci nástroje:
omniroute configure codex # také: claude opencode qwen aider goose gemini cline continue kilo 5dive
```
Každý příkaz respektuje aktivní vzdálený kontext (`omniroute connect `), `--dry-run`
zobrazí přesný náhled proměnných prostředí a argumentů bez spuštění a `--api-key-env NAME` zabrání
uložení tajných údajů do historie shellu. → [Integrace CLI](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 375 poskytovatelů AI — 153 označených v katalogu jako zdarma
> **375 registrovaných poskytovatelů** napříč kanonickými kolekcemi chat, média, vyhledávání, lokální, cloud-agent a systém, včetně **153 nesoucích metadata pro vyhledávání `hasFree: true`**. Registr chat modelů pokrývá **239 poskytovatelů / 3 059 jedinečných párů poskytovatel–model / 1 475 hrubých ID modelů**; samostatný katalog free-budget má **467 řádků na model**, **34 opakujících se poolů** a **51 opakujících se/bezklíčových poskytovatelů zdarma navždy**. Jedná se záměrně o různé jmenovatele; definice a výpočty s deduplikací poolů najdete v [Provider Reference](docs/reference/PROVIDER_REFERENCE.md) a [Free Tiers](docs/reference/FREE_TIERS.md).
### 🏢 Každá významná laboratoř — přes jeden endpoint
OpenAI
Anthropic
Gemini
xAI Grok
DeepSeek
Mistral
Qwen
Meta Llama
Groq
NVIDIA
MiniMax
Cohere
Perplexity
HuggingFace
Together
Fireworks
Cloudflare
Baidu
…a dalších 350+ — každá ikona se načítá živě z katalogu poskytovatelů v dashboardu. 📖 [Provider Reference](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 Zdarma navždy — $0, bez karty
OpenCode Zen DeepSeek V4, Nemotron 3 Bez limitu tokenů
Kilo Code Auto-router, Tencent Hy3 Navždy zdarma
Requesty GPT-OSS 120B, Nemotron Navždy zdarma
SiliconFlow DeepSeek V3.2 / R1 Bezplatná úroveň
Z.AI GLM GLM-4.7 / 4.5-Flash Navždy zdarma
Baidu ERNIE ERNIE 4.0 Navždy zdarma
Qoder AI Qwen3-Max, Kimi-K2 Neomezeně zdarma
Pollinations GPT, Llama, Claude Bez klíče
Cloudflare AI 50+ modelů 10K neuronů/den
NVIDIA NIM GLM, MiniMax ~40 RPM zdarma
Cerebras GLM 4.7, GPT-OSS Jednorázový kredit $5; vyžadována karta
### 🧩 Novinka: OmniRoute přímo v nativním Copilot Chatu ve VS Code
> Žádný nový postranní panel, žádné nové chatovací rozhraní — každý model poskytovaný OmniRoute se zobrazí přímo ve
> **výběru modelu Copilot Chat, který už používáte**. Od VS Code 1.122 fungují modely poskytovatelů
> bez přihlášení ke GitHubu i bez předplatného Copilot — režim agenta, volání nástrojů a zpracování obrazu,
> zdarma.
Nainstalujte rozšíření **[OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)**, nasměrujte jej
na svůj server OmniRoute (ve výchozím nastavení `localhost:20128`) a poté otevřete Copilot Chat → výběr modelu
→ **Spravovat modely…** → **OmniRoute**.
Přímo v editoru otevřete zobrazení **Rozšíření**, vyhledejte **„OmniRoute“** a klikněte na **Nainstalovat**
— v obou obchodech vše funguje stejně. Zdrojový kód, hlášení problémů a postup publikování najdete na
[diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot).
📖 [Průvodce VS Code Copilot Chat](docs/guides/VSCODE-COPILOT.md) — nastavení, obsah výběru modelu, řídicí panel na kartě, řešení problémů
### 🎩 Novinka: OmniRouteTray — vaše brána přímo v řádku nabídek
> `omniroute serve` funguje nejlépe, když je neustále spuštěný. **[OmniRouteTray](https://github.com/zoispag/omniroute-tray)**
> z něj dělá bezúdržbovou aplikaci pro řádek nabídek systému macOS: spouští server, udržuje jej v chodu
> i po restartu, aktualizuje jej na místě a zpřístupňuje váš aktuální rozpočet tokenů jediným kliknutím — **bez
> otevřeného okna terminálu a bez nutnosti dohlížet na `npm install -g omniroute`.**
Je vytvořen pomocí [Tauri v2](https://v2.tauri.app/) (jádro v Rustu zanedbatelné velikosti), obsahuje
vlastní podepsané běhové prostředí Node 24 a spravuje instalaci OmniRoute vlastněnou aplikací, takže se nikdy nedostane do konfliktu s vaším
globálním `node`/`bun`. **Sdílí vaši stávající konfiguraci a databázi v `~/.omniroute/`** — jde tedy o
stejný OmniRoute, který už používáte, jen s kloboukem. 🎩
Co dělá
Jak
🟢 Dohlíží na server
Spouští omniroute serve a převezme již spuštěnou instanci, místo aby ji duplikoval
📊 Aktuální využití na první pohled
Ukazatele kvót poskytovatelů, limity relace a týdenní limity Claude s odpočtem do obnovení, přehled nákladů za 30 dní
🔄 Automaticky se aktualizuje na místě
Přípravná instalace, atomická výměna, návrat zpět při selhání — vždy používá nejnovější vydání
🚀 Spouští se při přihlášení
Volitelné spuštění při přihlášení; pouze v řádku nabídek, bez ikony v Docku
🩺 Diagnostika a protokoly
Diagnostika jedním kliknutím a přístup k protokolům serveru
```sh
brew install --cask zoispag/tap/omniroute-tray
```
Dáváte přednost stažení? Získejte nejnovější soubor .dmg ze stránky
Vydání. Zdrojový kód, hlášení problémů a dokumentace
k sestavení jsou k dispozici v repozitáři zoispag/omniroute-tray.
💛 Komunitní projekt od @zoispag — nejde o oficiální vydání OmniRoute.
## 🔒 Soukromé a lokální především
📖 [Autorizace](docs/architecture/AUTHZ_GUIDE.md) · [Ochranná opatření](docs/security/GUARDRAILS.md) · [Soulad s předpisy](docs/security/COMPLIANCE.md)
## 🔌 Kompletní CLI + A2A a MCP
> Kromě serveru je OmniRoute také **plnohodnotným ovládacím centrem pro příkazovou řádku** s **více než 80 příkazy** a otevřenými protokoly pro agenty, takže jej může AI agent ovládat **zcela samostatně**.
### ⌨️ Skutečné CLI (nejen `start`)
```bash
omniroute # spuštění brány + řídicího panelu (port 20128)
omniroute chat # interaktivní chatovací klient TUI (příkazy: /model /combo /skill /memory)
omniroute setup # průvodce prvotním nastavením
omniroute doctor # diagnostika poskytovatelů, portů a nativních závislostí
```
### 🛰️ Vzdálený režim — spusťte CLI zde a OmniRoute na VPS
Máte OmniRoute na serveru? Ovládejte jej z notebooku pomocí **stejného CLI**. Stačí se jednou přihlásit
pomocí přístupového tokenu s omezeným rozsahem oprávnění; každý příkaz se poté provede na vzdáleném serveru.
```bash
omniroute connect 192.168.0.15 # heslo → token s omezeným rozsahem, uložený jako kontext
omniroute models # ← spustí se na VZDÁLENÉM serveru
omniroute configure codex # ← vybere vzdálený model a zapíše místní profil Codex
omniroute tokens create --name ci --scope read # vytvoří tokeny s užšími oprávněními pro jiné počítače
omniroute contexts use default # ← přepne zpět na místní server
```
Tokeny mají rozsah oprávnění `read` / `write` / `admin`; trasy spouštějící procesy zůstávají dostupné pouze přes loopback.
📖 [Vzdálený režim](docs/guides/REMOTE-MODE.md)
### 🤝 Připojte agenta — a ten bude OmniRoute ovládat sám
Zpřístupněte OmniRoute přes **MCP**, **A2A**, **REST API**, **webhooky** nebo **vzdálené CLI** — každý schopný agent (nebo váš vlastní kód) získá přístup k celé bráně: směrování, poskytovatelům, kombinacím, mezipaměti, kompresi i paměti — zcela autonomně. Níže uvedené HTTP endpointy jsou dostupné pod adresou `http://localhost:20128`.
Rozhraní
Endpoint / příkaz
Použití
🧰 MCP (stdio)
omniroute --mcp
Propojení s Claude Desktop, Cursor nebo libovolným klientem MCP
Komunikace mezi agenty, JSON-RPC 2.0 + SSE, 6 dovedností
🌐 REST API
/v1/*
Kompatibilní s OpenAI — chat, embeddings, obrázky, zvuk, OCR
🔔 Webhooky
/api/webhooks
Odesílání událostí požadavků / kvót do služeb Slack, Discord, Telegram nebo na libovolnou URL
🛰️ Vzdálené CLI
omniroute connect
Ovládání vzdálené instance pomocí přístupových tokenů s omezeným rozsahem oprávnění
```bash
# Zpřístupnění kompletní sady nástrojů OmniRoute aplikaci Claude Code přes MCP:
claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream
```
📖 [Server MCP](docs/frameworks/MCP-SERVER.md) · [Server A2A](docs/frameworks/A2A-SERVER.md) · [Protokoly pro agenty](docs/frameworks/AGENT_PROTOCOLS_GUIDE.md)
## 🗜️ Ušetřete 15–95 % tokenů — automaticky
### 📖 Jak to funguje — pipeline, architektura a matematika úspor
Výchozí vrstvená kombinace spouští `RTK → Caveman`. Když oba působí na stejný tool/context payload, úspory se sčítají:
```txt
combined = 1 − (1 − RTK) × (1 − Caveman_input)
average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2%
range = 78.4 – 94.6%
```
Bloky kódu, URL, JSON a strukturovaná data jsou **vždy chráněny** ochranným enginem.
> **Proč používat mnoho tokenů, když si vystačíte s několika?** Každý požadavek prochází kompresní pipeline OmniRoute **transparentně** — bez jakýchkoli změn na straně klienta. Nyní je to **zásobník 12 skládatelných enginů**, které běží v pořadí a kombinují se podle jednotlivých routing kombinací — staví na myšlenkách z [RTK](https://github.com/rtk-ai/rtk), [Caveman](https://github.com/JuliusBrussee/caveman) (⭐ 90K+), [LLMLingua-2](https://github.com/microsoft/LLMLingua) a [Troglodita](https://github.com/leninejunior/troglodita) (PT-BR).
### 🧱 Zásobník 12 enginů
Enginy běží v pořadí pipeline; každý lze nezávisle zapnout/vypnout a nakonfigurovat pro každou kombinaci:
#
Engine
Co dělá
1
Session-Dedup
Zahazuje obsah opakovaný napříč tahy (content-addressed, napříč tahy)
2
CCR
Archivuje velké bloky za retrieve markery, načítané na vyžádání
Extrakční skórování vět vůči poslednímu dotazu uživatele
8
Caveman
Pravidly řízená komprese prózy (~65–75 % na výstupu)
9
Aggressive
Sumarizace + progresivní stárnutí starých tahů
10
LLMLingua-2
ML sémantické prořezávání přes MobileBERT ONNX — bezpečné pro kód, asynchronní
11
Ultra
Heuristické prořezávání tokenů s volitelnou vrstvou malého modelu (SLM)
12
OmniGlyph
Experimentální kódování kontextu jako obrázku pro měřený Claude Fable 5 na přímém Anthropic wire; GPT 5.6 transformers zůstávají fail-closed do obdržení potvrzení od poskytovatele. Čtyři kompresní profily (aggressive výchozí, balanced, coding-safe, passthrough) (nejagresivnější; opt-in)
Bloky kódu, URL a strukturovaná data jsou **vždy zachovány** do posledního bajtu. **Presety jedním kliknutím** kombinují enginy:
Režim
Úspory
Nejlepší pro
🪶 Lite
~15 %
Vždy zapnutý bezpečný výchozí stav
🪨 Standard (Caveman)
~30 %
Každodenní programování
⚡ Aggressive
~50 %
Dlouhé relace náročné na nástroje
🔥 Ultra
~75 %
Maximální úspory
🧰 RTK
60–90 %
Výstupy shell/test/build/git
🔗 Stacked (RTK → Caveman)
78–95 %
Smíšené prompty + logy nástrojů
**Reálný příklad — standardní režim:**
> **Před (69 tokenů):** _"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 tokenech):** _"New object ref each render. Inline object prop = new ref = re-render. Wrap in useMemo."_
>
> **Stejná odpověď. O 72 % méně tokenů. Nulová ztráta přesnosti.** ✅
**Příklad PT-BR — režim [Troglodita](https://github.com/leninejunior/troglodita):**
> **Před (42 tokenů):** _"Problém je, že se komponenta znovu renderuje, protože se v každém cyklu renderování vytváří nová reference objektu. Doporučil bych použít useMemo."_
>
> **Po (12 tokenech):** _"Re-render: nová ref každý cyklus (inline objekt se znovu vytváří). Použít `useMemo`."_
>
> **Stejná odpověď. ~70 % méně tokenů. Technická přesnost zachována.** ✅
### 🎚️ Beyond the engines — output styles, the adaptive dial & per-request control
Výše uvedených 12 enginů zmenšuje to, co jde **dovnitř**. Další tři vrstvy formují **jak**, **kdy** a co jde **ven**:
- **🪄 Output Styles** _(řízení na výstupní ose)_ — vkládají deterministické instrukce pro formování odpovědi, bezpečné pro cache; lze je kombinovat, každý v intenzitě `lite` / `full` / `ultra`. Přidání stylu je jednořádkový záznam v registru:
- **Terse prose** — vynechat výplň / členy / opatrnické formulace; technickou podstatu zachovat přesně.
- **Less code** — „líný senior vývojář“ YAGNI: nejmenší funkční změna, žádné nevyžádané lešení.
- **Ponytail (lazy senior dev)** — stoupat po YAGNI žebříku, opravit kořenovou příčinu, nejmenší funkční diff.
- **I have ADHD (action-first)** — další akce vede, kroky očíslované, jeden konkrétní další krok, žádný úvod.
- **Terse CJK (文言)** — klasický čínský ultrastručný styl (lokalizace omezena na `zh`).
- **🎯 Adaptive context-budget** _(the dial)_ — místo jednoho prahu tokenů zapnuto/vypnuto eskaluje jen nejlevnější a nejméně ztrátové enginy, a to jen tak daleko, jak je potřeba, aby se obsah **vešel do kontextového okna modelu**. Politika: `reserve-output` (výchozí, model-aware) · `percentage` · `absolute`. Režim: `floor` (garantovat vejití) · `replace-autotrigger` (vaše explicitní volba vyhrává) · `off` (původní prahová logika).
- **🎛️ Kde se o kompresi rozhoduje** _(priorita, od nejvyšší k nejnižší)_ — per-request hlavička `x-omniroute-compression` › override v routing-combo › aktivní pojmenovaný profil › adaptive / auto-trigger › výchozí nastavení panelu › off. Aplikovaný plán se vrací v odpovědní hlavičce `X-OmniRoute-Compression: ; source=`.
Auto-trigger podle prahu tokenů, zapnutí adaptivního číselníku, připnutí pojmenovaného profilu, jednorázové nastavení pro jednotlivý request nebo přiřazení pipeline k routing combu — podle toho, co dané zátěži vyhovuje. Volitelný offline **eval harness** (`npm run eval:compression`) vyhodnocuje věrnost vs. úspory na fixním korpusu, než změnu povýšíte.
📖 [`COMPRESSION_GUIDE.md`](docs/compression/COMPRESSION_GUIDE.md) · [`RTK_COMPRESSION.md`](docs/compression/RTK_COMPRESSION.md) · [`COMPRESSION_ENGINES.md`](docs/compression/COMPRESSION_ENGINES.md)
# ⚡ Quick Start
**1) Instalace a spuštění**
```bash
npm install -g omniroute
omniroute
```
> 💡 Vidíte `npm warn ERESOLVE` nebo varování o peer dependencies? [Jsou neškodná](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated).
> **Používáte npm 11 nebo novější?** npm může blokovat lifecycle skripty balíčků, pokud nejsou povoleny. OmniRoute vyžaduje svůj `postinstall` (`node scripts/build/postinstall.mjs`) k přípravě nativních runtime souborů. Při globální instalaci povolte balíčky uvedené ve varování npm. Pro sadu balíčků hlášenou OmniRoute 3.8.53:
>
> ```bash
> npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute
> ```
>
> Chcete-li tento seznam povolených znovu použít pro budoucí globální instalace, nastavte jej jednou a poté instalujte běžně:
>
> ```bash
> npm config set allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild --location=user
> npm install -g omniroute
> ```
>
> Seznam závislostí se může mezi vydáními měnit; pokud npm hlásí jiný seznam, použijte názvy balíčků z daného varování. Povolení balíčku umožňuje spuštění jeho instalačních skriptů.
> **Používáte Gemini Web nebo jiného poskytovatele s web cookies?** Balíček npm obsahuje
> Playwright, ale ne jeho binárku Chromium. Před prvním požadavkem na webového poskytovatele
> si přečtěte poznámku k
> [nastavení Playwright Chromium](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium).
Dashboard na `http://localhost:20128` · API na `http://localhost:20128/v1`.
**2) Připojte způsobilého poskytovatele pomocí vlastního účtu**
Dashboard → **Providers** → vyberte poskytovatele, jehož aktuální podmínky a kvóta odpovídají vašemu případu použití → přidejte jeho API klíč nebo dokončete přihlášení k účtu. Bezplatné tarify mohou vyžadovat registraci, schválení nebo platební metodu. Projděte si [Free Tiers Guide](docs/getting-started/FREE-TIERS-GUIDE.md); dostupnost bez klíče není zaručena a poskytovatelé označení `tos: avoid` jsou ve výchozím nastavení vyloučeni z `auto`.
**3) Nasměrujte svůj kódovací nástroj**
```txt
Base URL: http://localhost:20128/v1
API Key: [copy from Dashboard → Endpoints]
Model: auto (routes among eligible connections — or choose provider/model)
```
**4) Ověřte, že to funguje**
```bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
```
Měli byste vidět výpis připojených modelů. 🎉 To je vše — začněte kódovat a OmniRoute za vás automaticky routuje a provádí fallback.
Pokud váš klient nedokáže posílat vlastní hlavičky, OmniRoute nabízí také tokenizované kompatibilitní aliasy:
```txt
OpenAI catalog: http://localhost:20128/vscode/YOUR_KEY/
OpenAI models: http://localhost:20128/vscode/YOUR_KEY/models
OpenAI chat: http://localhost:20128/vscode/YOUR_KEY/chat/completions
OpenAI responses: http://localhost:20128/vscode/YOUR_KEY/responses
Ollama chat: http://localhost:20128/vscode/YOUR_KEY/api/chat
Ollama tags: http://localhost:20128/vscode/YOUR_KEY/api/tags
```
Používejte je jen pro klienty, kteří nedokážou přiložit `Authorization: Bearer ...`. Autentizace hlavičkou zůstává preferovaným režimem.
## 📦 Další způsoby instalace — Docker, zdrojový kód, pnpm, Arch
**🐳 Docker**
```bash
docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \
-p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest
```
`:latest` odkazuje na nejvyšší **publikovanou** stabilní verzi SemVer. Nesleduje větev git `main`. Pro GitOps použijte pevnou verzi `:X.Y.Z`. Viz [Kanály vydání Dockeru](docs/guides/DOCKER_GUIDE.md#release-channels). Image nastavuje **`OMNIROUTE_MEMORY_MB=1024`**. To stačí pro ovládací panel a nenáročný chat. **Programovací agenti** (`POST /v1/responses` z Claude Code, Codex, Grok, …) potřebují mnohem větší haldu V8, jinak proces skončí s chybou `FATAL ERROR` při přibližně 12 GiB a dvou překrývajících se dlouhých kontextech. Nastavte velikost kontejneru nad velikost haldy (nativní buffery se nacházejí mimo V8):
| Pracovní zátěž | Halda (`-e OMNIROUTE_MEMORY_MB`) | Kontejner (`--memory`) |
| ----------------------------------- | -------------------------------- | ---------------------- |
| Ovládací panel / nenáročný chat | `1024` (výchozí hodnota image) | ≥2 g |
| Jeden programovací agent | `8192` | ≥10 g |
| Dvě souběžné dlouhé `/v1/responses` | `10240`–`12288` | ≥12–16 g |
```bash
docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \
-e OMNIROUTE_MEMORY_MB=8192 --memory=10g \
-p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest
```
Úplná tabulka: [Průvodce Dockerem — operační paměť za běhu](docs/guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents).
> **Kanál předběžných vydání Dockeru:** `diegosouzapw/omniroute:next` a
> `diegosouzapw/omniroute:next-web` sledují aktuální výchozí větev `release/v*`.
> Tyto proměnlivé tagy jsou určeny pouze k testování dosud nevydaných oprav a
> **nejsou podporovány pro produkční prostředí**. Viz
> [Kanály vydání Dockeru](docs/guides/DOCKER_GUIDE.md#release-channels).
**🥟 Bun**
Standardní `bun install` a globální instalace (`bun install -g omniroute`) jsou podporovány prostřednictvím detekce běhového prostředí Bun:
- **Vestavěný `bun:sqlite`**: Při spuštění pod Bun používá OmniRoute vestavěný ovladač `bun:sqlite`; v Node.js případně použije `better-sqlite3` nebo `sql.js`.
- **Automatický výběr bundleru Webpack při vývoji**: Vývojové prostředí (`bun run dev`) automaticky detekuje Bun a zakáže Turbopack ve prospěch Webpacku, aby zabránilo nekompatibilitě s nativními vazbami V8. Produkční sestavení (`bun run build`) se řídí proměnnou `OMNIROUTE_USE_TURBOPACK` přesně stejně jako v Node: ve výchozím nastavení používá Turbopack, zatímco `OMNIROUTE_USE_TURBOPACK=0` sestaví aplikaci pomocí Webpacku (`Dockerfile.bun` tuto možnost zpřístupňuje jako `--build-arg`).
- **Samostatný Dockerfile pro Bun**: Vícefázový `Dockerfile.bun` pro nativní produkční nasazení Bun (`docker build -f Dockerfile.bun -t omniroute:bun .`).
```bash
# Instalace a spuštění pomocí Bun
bun install
bun run dev
```
**🛠️ Ze zdrojového kódu**
```bash
cp .env.example .env && npm install
PORT=20128 npm run dev
```
**📦 pnpm**
```bash
pnpm add -g omniroute@latest --allow-build=better-sqlite3 --allow-build=@swc/core && omniroute
```
**🐧 Arch Linux (AUR)**
```bash
yay -S omniroute-bin && systemctl --user enable --now omniroute.service
```
**🔧 Nix (Flake)**
```bash
# Použití flakes systému Nix
nix develop
npm run dev
# Nebo pomocí devbox
devbox run npm run dev
```
📖 [Průvodce Dockerem](docs/guides/DOCKER_GUIDE.md) — Profily Compose, HTTPS přes Caddy, tunely Cloudflare.
**🦭 Podman**
```bash
# 1. Připravte datový adresář připojený pomocí bind mount
mkdir -p data
# 2. Pouze pro Linux + místní rootless Podman (nikdy pro vzdáleného klienta Podman Machine):
podman unshare chown 1000:1000 ./data
# 3. Nastavte údaj o běhovém prostředí, sestavte místní image Compose a spusťte jej
echo "CONTAINER_HOST=podman" >> .env
podman compose --profile base up -d --build
```
V macOS nebo Windows používá Podman vzdálený Podman Machine: vynechte `podman unshare` a
postupujte podle [pokynů k datovému adresáři pro konkrétní topologii](contrib/podman/README.md#data-directory-permissions-by-topology).
📖 [Průvodce Podmanem](contrib/podman/README.md) — Sestavení pomocí Compose, Podman Machine a
nastavení Quadlet se systémem Linux/systemd.
**⚡ Rychlejší / úspornější instalace (bez nativního sestavení)**
Nativní databázový engine SQLite (`better-sqlite3`) je **volitelná** závislost, takže globální
instalace nikdy nečeká na kompilaci ze zdrojového kódu: použije předem sestavený binární soubor, pokud odpovídá
vaší platformě/Node, a v opačném případě automaticky přejde na engine implementovaný čistě v JS
(`node:sqlite` v Node 22+, jinak přibalený WASM modul `sql.js`) — bez nutnosti nástrojů pro sestavení.
Chcete-li zcela přeskočit nativní inicializaci po instalaci (CI, bezobslužné nebo pomalé počítače):
```bash
OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # CI=1 ji také přeskočí
```
Pro nejrychlejší instalace upřednostněte **pnpm** (úložiště adresované podle obsahu + pevné odkazy — viz výše).
Pro bezobslužné běhové prostředí bez ovládacího panelu použijte profil Dockeru `base` (výše) nebo
[průvodce pro Termux](docs/guides/TERMUX_GUIDE.md). CLI a webový ovládací panel obsluhuje
stejný proces na jednom portu, takže v současnosti neexistuje samostatný balíček pouze pro CLI.
Strategie pokrytí testy pro více než 56 000 statických deklarací testů ve více než 7 800 sledovaných testovacích souborech
# ⭐ Nejvýznamnější přispěvatelé
> OmniRoute utváří zapálená open-source komunita. Tito lidé přispěli výjimečným způsobem a přímo ovlivňují kvalitu, stabilitu a dosah projektu. **Děkujeme.**
### Externí přispěvatelé podle počtu začleněných pull requestů
Statistika byla pořízena 2026-10-18 15:09:09 UTC z aktuální špičky větve release/v3.8.52 s revizí 656f01cb43. Stránkovaná statistika GitHub GraphQL zahrnuje 9 191 začleněných PR: 3 834 od vlastníka repozitáře, 229 od Dependabotu, 6 od ostatních botů/aplikací a 5 122 externích PR od 835 různých přispěvatelů. „Změněné řádky“ představují součet přidaných a odstraněných řádků podle GitHubu a zahrnují generované soubory, lockfily, katalogy, překlady a dokumentaci; jde o objem změn, nikoli počet autorsky napsaných řádků kódu. U 49 PR uvádí GitHub rozdíly přesahující 500 000 řádků (například #13399, jediné přidání poskytovatele, uvádí 2 347 změněných souborů), což navyšuje několik výše uvedených součtů. Při shodě je přiděleno stejné pořadí.
### Commity evidované GitHubem
Znovu zkontrolováno 2026-10-18 14:44:45 UTC: commity připsané GitHubu hlášené API pro přispěvatele repozitáře pro výchozí větev release/v3.8.52. API vrátilo 849 identit (429 uživatelů, 2 boti, 418 anonymních); tato tabulka vylučuje správce, boty a anonymní identity a zachovává nerozhodné výsledky soutěže. Liší se od žebříčku sloučených PR výše i od sčítání z Git metadat níže.
> 🙏 Funkce, opravy chyb a vylepšení infrastruktury od těchto přispěvatelů jsou **základní součástí** toho, proč je OmniRoute spolehlivý a bohatý na funkce. Záleží na každém pull requestu, každém testovacím případu a každém překladovém souboru i18n. Open source budují lidé jako oni.
---
## 💖 Sponzoři
Upřímné poděkování lidem, kteří financují OmniRoute z vlastní kapsy — každý příspěvek pomáhá projektu zůstat bezplatným, nezávislým a pokračovat v rozvoji.
… a další, kteří si přejí zůstat v soukromí 💛Veřejní sponzoři na GitHubu byli znovu ověřeni dne 2026-10-18 prostřednictvím rozhraní GitHub Sponsors GraphQL API: 11 veřejných sponzorství (6 aktivních, 5 dřívějších) z celkového počtu 14. Stav isActive na GitHubu určuje výše uvedená označení aktivních sponzorů; dřívějším veřejným jednorázovým podporovatelům nadále děkujeme a soukromí sponzoři zůstávají anonymní. Dary prostřednictvím Ko-fi, Buy Me a Coffee, Liberapay, PIX a kryptoměn nejsou uvedeny, protože o nich neexistuje veřejný záznam sponzora.💖 Staňte se sponzorem → — každý dolar pomáhá OmniRoute zůstat bezplatným a nezávislým.
## 👥 Více než 900 přispěvatelů
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
Auditováno 2026-10-18 na aktuální špičce větve release/v3.8.52, commitu ad160ab2d1 (6 826 commitů): 993 normalizovaných lidských identit Git — 707 se objevuje jako autoři commitů (včetně správce projektu) a 286 pouze v explicitních patičkách Co-authored-by. Tento přehled používá .mailmap, porovnává e-mailové adresy bez ohledu na velikost písmen, slučuje číselné a běžné adresy GitHub noreply pouze tehdy, když kódují stejný identifikátor, vylučuje 26 identit botů, agentů, služeb a zástupných položek a neslučuje běžné e-mailové adresy pouze proto, že se shodují jejich zobrazovaná jména. Audit z 2026-08-24 uváděl 639 identit; opětovné použití této metody na základní commit daného auditu ac02c5b42f dává 619, takže nárůst pochází od nových přispěvatelů, nikoli z méně přísné metody.
### Jak přispět
1. Vytvořte fork repozitáře
2. Vytvořte větev z **aktivní** špičky `release/vX.Y.Z` (nikoli z `main`) — viz [Model větvení a vydávání](docs/ops/BRANCHING_MODEL.md)
3. Vytvořte svou větev pro funkci (`git checkout -b feat/amazing-feature`)
4. Commitněte své změny (`git commit -m 'feat: add amazing feature'`)
5. Odešlete větev (`git push origin feat/amazing-feature`)
6. Otevřete Pull Request s **base = příslušná větev `release/vX.Y.Z`**
Podrobné pokyny najdete v souboru [CONTRIBUTING.md](CONTRIBUTING.md).
### Vydání nové verze
```bash
# Vytvoření vydání — npm publish proběhne automaticky
VERSION=x.y.z
gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes
```
## 📊 Hvězdičky
## 🌍 StarMapper
## 🙏 Poděkování
OmniRoute stojí na ramenou obrů. Vznikl jako fork projektu **[9router](https://github.com/decolua/9router)** a port projektu **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** z jazyka Go do TypeScriptu — a od té doby byl každý níže uvedený subsystém inspirován open-source projektem, který tuto cestu prošlapal jako první. Každý z nich ovlivnil konkrétní část OmniRoute. Tímto jim všem děkujeme. 🙏
> ⭐ počty hvězdiček byly ověřeny prostřednictvím GitHub REST API dne 18. října 2026 — běžte těmto projektům udělit hvězdičku. Uvedené počty představují přesný snímek k danému datu a přirozeně se budou měnit.
### 🧬 Původ a brána
AI brána, jejíž veřejná datová sada cen slouží k synchronizaci našeho sledování nákladů a jejíž model normalizace poskytovatelů ovlivnil naše směrování.
Zdrojový kód pod licencí MIT upravený do integrovaného mostu ChatGPT Web → Codex Responses, včetně adaptérů pro relaci prohlížeče, rámcování odpovědí, využití a webové vyhledávání.
Jeho mapování modelů Grok, generátor Statsig napodobující TypeError, výchozí hodnoty požadavků a zařízení a procesor odpovědí NDJSON byly ve významné míře upraveny pro executor Grok Web v OmniRoute.
Hlavní nepřímý zdroj kódu, z něhož vychází grok2api-merged; jeho implementace modelů, hlaviček, datových částí, Statsig a procesorů jsou zachovány v linii původu Grok Web.
Původní zdrojový kód pod licencí MIT pro datové části Grok a výchozí hodnoty zařízení, generátor Statsig a procesor result.response, převzatý prostřednictvím TQZHR a grok2api-merged.
Nepřímý zdroj uvedený projektem grok2api-merged pro jeho vrstvu proxy poolu; OmniRoute zachovává zmínku o tomto původu, ale netvrdí, že do svého omezeného executoru Grok Web přenesl proxy pool.
Původní implementace Grok Web se inspirovala jeho návrhem upstreamového HTTP připojení a prohlížeče; její přímá cesta HTTP vychází z GrokProxy, proto není deklarován žádný nezávislý port kódu.
Virální projekt „proč používat mnoho tokenů, když pár tokenů stačí“ — jeho filozofie jeskynní mluvy pohání náš standardní režim komprese a více než 30 pravidel pro odstraňování výplňových slov a zkracování.
Virální dovednost „líného seniorního vývojáře“ píšícího kód podle zásady YAGNI — inspirovala náš výstupní styl less-code: směřování k nejmenší funkční změně, které omezuje _generovaný_ kód (sourozenec stručné prózy Cavemana na ose výstupu).
Komprese výstupu podle obsahu a typu souboru s ukončením při selhání — potvrdila správnost našeho směrování podle typu a přeskočení při nedosažení minimální úspory.
Sloupcový JSON v Rustu + načítání podle obsahu + deduplikace napříč zprávami — potvrdily návrh našich enginů headroom/ccr/session-dedup a invariant pro stabilní cache „komprimovaná forma je nezávislá na pozici“.
Sada nástrojů pro TypeScript Compiler API — inspirovala naše odstraňování komentářů založené na parseru, které zachovává řetězcové, šablonové a regulární literály.
MITM zachytávání a analýza provozu mezi programovacím asistentem ↔ LLM ovlivnily rané požadavky na Traffic Inspector. Čtyři dříve odvozené moduly — slučování SSE, normalizace konverzací, maskování tajných údajů a sanitizace hlaviček — byly nahrazeny nezávislými implementacemi vytvořenými metodou clean-room na základě veřejných protokolových standardů. Dvě plochy pro přímý průchod na hostitele (passthrough.ts a _internal/bypass.cjs) zůstávají interními implementacemi OmniRoute klasifikovanými nezávisle; v rámci této náhrady nebyly přepsány.
Transparentní směrování proxy pro jednotlivé procesy — inspirovalo naše bezpečné ukončení MITM při pádu, časové limity nečinnosti socketů, přiřazování procesů pomocí /proc a zachytávání přes TPROXY.
### 📚 Data modelů, pozorovatelnost a uživatelské rozhraní
Kurátorovaný seznam knihoven, které jsou ve výchozím nastavení zabezpečené a řídí naše bezpečnostní rozhodování (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink).
Jeho přemapování modelů s ohledem na účty, ověřování cest ke spustitelným souborům a chování štítků plánů ovlivnily běhové prostředí Antigravity v OmniRoute.