OmniRoute/docs/i18n/cs/CHANGELOG.md
2026-04-06 18:11:09 -03:00

190 KiB
Raw Blame History

Changelog (Čeština)

🌐 Languages: 🇺🇸 English · 🇪🇸 es · 🇫🇷 fr · 🇩🇪 de · 🇮🇹 it · 🇷🇺 ru · 🇨🇳 zh-CN · 🇯🇵 ja · 🇰🇷 ko · 🇸🇦 ar · 🇮🇳 hi · 🇮🇳 in · 🇹🇭 th · 🇻🇳 vi · 🇮🇩 id · 🇲🇾 ms · 🇳🇱 nl · 🇵🇱 pl · 🇸🇪 sv · 🇳🇴 no · 🇩🇰 da · 🇫🇮 fi · 🇵🇹 pt · 🇷🇴 ro · 🇭🇺 hu · 🇧🇬 bg · 🇸🇰 sk · 🇺🇦 uk-UA · 🇮🇱 he · 🇵🇭 phi · 🇧🇷 pt-BR · 🇨🇿 cs · 🇹🇷 tr


[Unreleased]


[3.5.3] - 2026-04-05

Fixed

-**Middleware:**Vyřešená nekonečná smyčka přesměrování na řídicím panelu pro nové instance, když je zakázáno requireLogin.---

[3.5.2] — 2026-04-05

New Features

-**Nativní integrace Qoder API:**Kompletně přepracováno Qoder Executor tak, aby obešel starší šifrovací algoritmus COSY AES/RSA a směroval přímo do nativní adresy URL kompatibilní s DashScope OpenAi. Eliminuje složité závislosti na crypto modulech Node a zároveň zlepšuje věrnost streamu. -**Resilience Engine Overhaul:**Integrovaná ladná nouzová řešení přetečení kontextu, proaktivní detekce tokenu OAuth a prevence emisí prázdného obsahu (#990). -**Kontextově optimalizovaná strategie směrování:**Přidána nová inteligentní schopnost směrování pro nativní maximalizaci kontextových oken v automatizovaných kombinovaných nasazeních (#990).### 🐛 Bug Fixes

-**Poškození streamu Responses API:**Opraveno poškození při hlubokém klonování, kdy hranice překladu Anthropic/OpenAI odstranily specifické prefixy SSE pro response. z hranic streamování (#992). -**Claude Cache Passthrough Alignment:**Zarovnané značky mezipaměti kompatibilní s CC konzistentně s upstream režimem Client Pass-Through se zachováním rychlého ukládání do mezipaměti. -**Turbopack Memory Leak:**Připnuto Next.js k přísnému 16.0.10, aby se zabránilo únikům paměti a sestavení zastaralosti z nedávných upstreamových regresí hašovaných modulů Turbopack (#987).---

[3.5.1] — 2026-04-04

New Features

-**Integrace Models.dev:**Integrované modely.dev jako autoritativní zdroj běhového prostředí pro ceny modelů, možnosti a specifikace, které mají přednost před pevně zakódovanými cenami. Zahrnuje uživatelské rozhraní nastavení pro správu intervalů synchronizace, překladové řetězce pro všech 30 jazyků a robustní testovací pokrytí. -**Nativní funkce poskytovatele:**Přidána podpora pro deklarování a kontrolu funkcí nativního rozhraní API (např. systemInstructions_supported), která předchází selhání dezinfekcí neplatných rolí. Aktuálně nakonfigurováno pro poskytovatele Gemini Base a Antigravity OAuth. -**Pokročilá nastavení poskytovatele rozhraní API:**Přidána vlastní přepisy „User-Agent“ pro jednotlivá připojení pro připojení poskytovatelů pomocí klíče API. Přepsání je uloženo v providerSpecificData.customUserAgent a nyní se vztahuje na ověřovací sondy a požadavky na provedení upstream.### 🐛 Bug Fixes

-**Spolehlivost Qwen OAuth:**Vyřešena řada problémů s integrací OAuth včetně blokování 400 chybných požadavků na tokenech s vypršenou platností, generování záložních zdrojů pro analýzu vlastností přístupového_tokenu OIDC, když je vynechán id_token, chyb při zjišťování katalogů modelů a přísného filtrování záhlaví kompatibilního s OpenX0 od koncového bodu 4.*## [3.5.0] — 2026-04-03

New Features

-**Auto-Combo & Routing:**Dokončená nativní integrace životního cyklu CRUD pro pokročilý Auto-Combo engine (#955). -**Základní operace:**Opraveny chybějící překlady pro nové nativní možnosti Auto-Combos (#955). -**Ověření zabezpečení:**Nativně deaktivováno úlohy automatického zálohování SQLite během provádění CI testu jednotky, aby se explicitně vyřešily úniky paměti zavěšení smyčky událostí Node 22 (#956). -**Ecosystem Proxies:**Dokončené explicitní plánovače synchronizace modelu mapování integrace, cykly OAuth a kontrola tokenů se bezpečně obnovují prostřednictvím nativních serverů OmniRoute upstream proxy (#953). -**Rozšiřitelnost MCP:**Přidán a úspěšně zaregistrován nový rámcový nástroj omniroute_web_search MCP z beta verze do produkčních schémat (#951). -**Logika vyrovnávací paměti tokenů:**Přidány limity konfigurace za běhu, které rozšiřují konfigurovatelné vstupní/výstupní vyrovnávací paměti tokenů pro přesné metriky sledování využití (#959).### 🐛 Bug Fixes

-**Oprava CodeQL:**Plně vyřešené a zabezpečené operace indexování kritických řetězců, které zabraňují heuristice indexování polí Server-Side Request Forgery (SSRF) spolu s polynomiálním algoritmickým backtrackingem (ReDoS) uvnitř modulů hlubokého proxy dispečerů. -**Crypto hashe:**Nahradily slabé neověřené starší hodnoty hash OAuth 1.0 robustními standardními ověřovacími primitivy HMAC-SHA-256 zajišťujícími přísné kontroly přístupu. -**API Boundary Protection:**Správně ověřené a namapované strukturální ochrany trasy prosazující přísnou logiku middlewaru isAuthenticated() pokrývající manipulaci s nastavením cílení na novější dynamické koncové body a načítání nativních dovedností. -**CLI Ecosystem Compat:**Vyřešeno poškozené nativní vazby analyzátoru běhového prostředí, které ladně shazovalo detektory prostředí „kde“ přes okrajové případy „.cmd/.exe“ pro externí pluginy (#969). -**Architektura mezipaměti:**Refaktorovaná přesná nastavení Analytics a nastavení systému, ukládání do mezipaměti struktury rozvržení struktury řídicího panelu pro udržení stabilních cyklů perzistence rehydratace, které řeší záblesky vizuálního nezarovnaného stavu (#952). -**Claude Caching Standards:**Normalizované a přesně přísně uchované kritické efemérní blokové markery "efemérní" ukládání TTL objednávek pro downstream uzly vynucující čistě mapování standardních kompatibilních požadavků CC bez vynechaných metrik (#948). -**Ověření interních aliasů:**Zjednodušené mapování interního běhového prostředí normalizující vyhledávání užitečného zatížení pověření Codexu uvnitř globálních parametrů překladu, které řeší 401 neověřených poklesů (#958).### 🛠️ Maintenance

-**Zjistitelnost uživatelského rozhraní:**Správně upravené kategorizace rozvržení explicitně oddělující logiku poskytovatelů bezplatných vrstev zlepšující toky řazení uživatelského prostředí na obecných stránkách registru API (#950). -**Topologie nasazení:**Artefakty nasazení Unified Docker zajišťující, že kořenový fly.toml odpovídá očekávaným parametrům cloudové instance přímo z krabice a nativně zvládá správně škálovat automatizovaná nasazení. -**Vývojové nástroje:**Oddělené běhové parametry LKGP do explicitních nástrojů pro ukládání do mezipaměti abstrakce DB vrstvy zajišťující přísné pokrytí izolace testů pro základní vrstvy mezipaměti bezpečně.---

[3.4.9] — 2026-04-03

Features & Refactoring

-**Dashboard Auto-Combo Panel:**Kompletně přepracováno uživatelské rozhraní /dashboard/auto-combo, aby se hladce integrovalo s nativními kartami Dashboard Card a standardizovaným vizuálním odsazením/záhlavím. Přidány dynamické vizuální ukazatele průběhu mapující mechanismy váhy výběru modelu. -**Nastavení synchronizace směrování:**Plně odhalené cíle pokročilého směrování „priorita“ a „vážené“ schéma interně uvnitř seznamů záložních globálních nastavení.### Bug Fixes

-**Nodes Locale Memory & Skills:**Vyřešeny prázdné značky vykreslování pro možnosti Memory a Skills přímo v zobrazeních globálního nastavení propojením všech settings.* mapování hodnot interně do en.json (také implicitně mapováno pro nástroje pro křížový překlad).### Internal Integrations

  • Integrované PR #946 — oprava: zachování kompatibility Claude Code při konverzi odpovědí
  • Integrované PR #944 — fix(gemini): Zachovejte podpisy myšlenek napříč voláními antigravitačních nástrojů
  • Integrované PR #943 — oprava: obnovení těla GitHub Copilot
  • Integrovaný PR #942 — Opravte značky mezipaměti kompatibilní s cc
  • Integrované PR #941 — refactor(auth): zlepšit vyhledávání aliasů NVIDIA + přidat protokolování chyb LKGP
  • Integrované PR #939 — Obnovení zpětného volání Claude OAuth localhost
  • (Poznámka: PR #934 byl vynechán z cyklu 3.4.9, aby se zabránilo regresi hlavních konfliktů)---

[3.4.8] — 2026-04-03

Bezpečnost

  • Plně opravena všechna zbývající zjištění Github Advanced Security (CodeQL) a výstrahy Dependabot.
  • Opravena zranitelnost nezabezpečené náhodnosti migrací z Math.random na crypto.randomUUID().
  • Zabezpečené příkazy shellu v automatických skriptech z vkládání řetězců.
  • Migrované zranitelné katastrofické zpětné sledování vzorů analýzy RegEx v kanálech chatu/překladu.
  • Vylepšené kontroly dezinfekce výstupu uvnitř komponent uživatelského rozhraní React a vkládání tagů Server Sent Events (SSE).---

[3.4.7] — 2026-04-03

Funkce

  • Přidán uzel Cryptography do monitorování a kontrol stavu MCP (#798)

  • Posílené mapování oprávnění tras podle katalogu modelů (/models) (#781)### Bug Fixes

  • Opraveno obnovení tokenu Claude OAuth, které nezachovalo kontext mezipaměti (#937) Opraveny chyby poskytovatele kompatibilního s CC, kvůli kterým jsou modely uložené v mezipaměti nedostupné (#937)

  • Opraveny chyby GitHub Executor související s neplatnými kontextovými poli (#937)

  • Opravena selhání Healthcheck nástrojů CLI nainstalovaných NPM ve Windows (#935) Opravený překlad datové části, který vynechává platný obsah kvůli neplatným polím API (#927)

  • Opravený pád běhového prostředí v Node 25 týkající se spuštění klíče API (#867)

  • Opraveno rozlišení samostatného modulu MCP (ERR_MODULE_NOT_FOUND) prostřednictvím esbuild (#936)

  • Opraven nesoulad rozlišení aliasů pověření směrování NVIDIA NIM (#931)### Bezpečnost

  • Přidána bezpečná přísná ochrana vstupních hranic proti nezpracovaným injekcím spouštění vzdáleného kódu „shell: true“.---

[3.4.6] - 2026-04-02

New Features

-**Poskytovatelé:**Registrovaní noví poskytovatelé generování obrázků, videa a zvuku ze seznamu požadovaných komunitou (#926). -**Uživatelské rozhraní Dashboard:**Přidána samostatná navigace na bočním panelu pro nové moduly paměti a dovedností (#926). -**i18n:**Přidány překladové řetězce a mapování rozložení ve 30 jazycích pro jmenné prostory Memory a Skills.### 🐛 Bug Fixes

-**Odolnost:**Zabránilo tomu, aby se proxy jistič nezasekl ve stavu OTEVŘENO na dobu neurčitou, a to zpracováním přímých přechodů do stavu ZAVŘENO uvnitř záložních kombinovaných cest (#930). -**Protocol Translation:**Opravili jsme streamovací transformátor, aby dezinfikoval bloky odezvy na základě očekávaného protokolu source spíše než protokolu target poskytovatele, čímž byly opraveny modely Anthropics zabalené do užitečných zátěží OpenAI, které zhroutily Claude Code (#929). -**Specifikace API a Gemini:**Opravena analýza thought_signature v překladačích openai-to-gemini a claude-to-gemini, která zabraňuje chybám HTTP 400 ve všech voláních nástrojů Gemini 3 API. -**Poskytovatelé:**Vyčištěni koncové body nekompatibilní s OpenAI, které brání platným upstream připojením (#926). -**Trendy mezipaměti:**Opravena neplatná neshoda dat mapování vlastností způsobující selhání grafů uživatelského rozhraní Trendů mezipaměti a extrahované nadbytečné widgety metrik mezipaměti (#926).---

[3.4.5] - 2026-04-02

New Features

-**Integrace ekosystému CLIProxyAPI:**Přidán spouštěcí program cliproxyapi s vestavěným ukládáním do mezipaměti na úrovni modulu a směrováním proxy. Představili jsme komplexní službu Správce verzí pro automatické testování stavu, stahování binárních souborů z GitHubu, vytváření izolovaných procesů na pozadí a čistou správu životního cyklu externích nástrojů CLI přímo prostřednictvím uživatelského rozhraní. Zahrnuje tabulky DB pro konfiguraci proxy, které umožňují automatické křížové směrování externích požadavků OpenAI s hradlem SSRF prostřednictvím místní vrstvy nástrojů CLI (#914, #915, #916). -**Podpora Qoder PAT:**Podpora integrovaných osobních přístupových tokenů (PAT) přímo prostřednictvím místního přenosu qodercli namísto starších konfigurací vzdáleného prohlížeče .cn (#913). -**Náhled Gemini 3.1 Pro (GitHub):**Do poskytovatele GitHub Copilot byla nativně přidána podpora kanonického explicitního modelu `gemini-3.1-pro-preview' při zachování starších aliasů směrování (#924).### 🐛 Bug Fixes

-**GitHub Copilot Token Stability:**Opravena smyčka obnovování tokenu Copilot, kde nebyly zastaralé tokeny hluboce začleněny do DB, a odstraněna pole reasoning_text, která fatálně narušovala následné konverze antropických bloků pro víceotáčkové chaty (#923). -**Global Timeout Matrix:**Centralizované a parametrizované časové limity požadavků explicitně z REQUEST_TIMEOUT_MS, aby se zabránilo skrytým (~300 s) výchozím vyrovnávací paměti pro načítání předčasně odříznout dlouhotrvající SSE streamingové odezvy od modelů těžkého uvažování (#918). -**Cloudflare Quick Tunnels State:**Opravena závažná nekonzistence stavu, kdy restartované instance OmniRoute chybně ukazovaly zničené tunely jako aktivní, a výchozí cloudflared tunelování na HTTP/2, aby se eliminoval spam protokolu příjmu UDP (#925). -**i18n Translation Overhaul (Czech & Hindi):**Opraven hindský kód z UKONČENÉHO in.json na kanonický hi.json, přepracováno mapování českého textu, extrahován untranslatable-keys.json k opravě falešně pozitivních validací CI/CD a vygenerován komplexní průvodce N#9.md2I). -**Obnova poskytovatele tokenů:**Opravena ztráta konkrétních koncových bodů resourceUrl` Qwen po automatické obnově tokenu kontroly stavu kvůli chybějícím hlubokým sloučením DB (#917). -**CC kompatibilní UX a streamování:**Sjednocené akce Add CC/OpenAI/Anthropic kompatibilní kolem zacházení s uživatelským rozhraním Anthropic, nucené upstream požadavky kompatibilní s CC používat SSE, přičemž stále vracejí streamované nebo nestreamingové odpovědi na základě požadavku klienta, odstraněná podpora konfigurace/importu seznamu modelů CC ve prospěch explicitní chyby zpřístupnění nepodporovaného modelu a zpřístupnění kompatibilního zrcadlení modelu CCC Seznam registru kódů (#921).---

[3.4.4] - 2026-04-02

🐛 Bug Fixes

-**Responses API Token Reporting:**Vyšlete response.completed se správnými poli input_tokens/output_tokens pro klienty Codex CLI, oprava zobrazení využití tokenu (#909 díky @christopher-s). -**Kontrolní bod SQLite WAL při vypnutí:**Vyprázdnění změn WAL do primárního databázového souboru během řádného vypnutí/restartu, čímž se zabrání ztrátě dat při zastaveních kontejneru Docker (#905 díky @rdself). -**Graceful Shutdown Signal:**Změněny cesty /api/restart a /api/shutdown z process.exit(0) na process.kill(SIGTERM), čímž bylo zajištěno, že obsluha vypnutí bude spuštěna před ukončením. -**Docker Stop Grace Period:**Přidán stop_grace_period: 40s do souborů Docker Compose a --stop-timeout 40 do příkladů spuštění Dockeru.### 🛠️ Maintenance

  • Uzavřeno 5 vyřešených problémů (#872, #814, #816, #890, #877).
  • Seřazeno 6 problémů s požadavky na informace o potřebách (#892, #887, #886, #865, #895, #870).
  • Reagováno na problém se sledováním detekce CLI (#863) s pokyny přispěvatele.---

[3.4.3] - 2026-04-02

New Features

-**Antigravitační paměť a dovednosti:**Dokončená vzdálená injekce paměti a dovedností pro poskytovatele antigravitace na úrovni sítě proxy. -**Kompatibilita Claude Code:**Vytvořil nativně skrytý most kompatibility pro Claude Code, který umožňuje čisté předávání nástrojů a formátování. -**Web Search MCP:**Přidán nástroj omniroute_web_search s rozsahem execute:search. -**Komponenty mezipaměti:**Implementované komponenty dynamické mezipaměti využívající TDD. -**Uživatelské rozhraní a přizpůsobení:**Přidána podpora vlastních ikon favicon, karty vzhledu, kabelové označování bílým štítkem na postranní panel a přidány kroky průvodce Windsurf ve všech 33 jazycích. -**Uchovávání protokolu:**Sjednocené uchovávání protokolu požadavků a artefaktů nativně. -**Vylepšení modelu:**Přidána explicitní contextLength pro všechny modely opencode-zen. -**i18n a překlady:**Nativně integrované 33 jazykové překlady, včetně zástupných ověření CI a aktualizací čínské dokumentace (#873, #869).### 🐛 Bug Fixes

-**Mapování Qwen OAuth:**Vráceno spoléhání id_token na access_token a povoleno dynamické vkládání koncových bodů API resource_url pro správné regionální směrování (#900). -**Model Sync Engine:**Uloženo striktní interní ID poskytovatele v synchronizačních rutinách getCustomModels() namísto formátu alias kanálu uživatelského rozhraní, což zabraňuje selhání vložení katalogu SQLite (#903). -**Claude Code & Codex:**Standardizované nestreamované prázdné odpovědi na „(prázdná odpověď)“ ve formátu Anthropic, aby se zabránilo zhroucení proxy CLI (#866). -**CC kompatibilní směrování:**Vyřešena duplicitní kolize koncových bodů /v1 během zřetězení cest pro generické brány Claude Code (#904). -**Antigravitační panely:**Blokované modely s neomezenými kvótami, aby se nepravdivě registrovaly jako vyčerpané limitní stavy „100% využití“ v uživatelském rozhraní poskytovatele (#857). -**Claude Image Passthrough:**Opraveno Claude modely chybějící průchody obrazových bloků (#898). -**Gemini CLI Routing:**Vyřešeno 403 zablokování autorizace a problémy s hromaděním obsahu obnovením ID projektu pomocí loadCodeAssist (#868). -**Antigravitační stabilita:**Opravené přístupové seznamy modelů, vynucených 404 blokování, opravených 429 kaskád blokujících standardní připojení a omezení výstupních tokenů gemini-3.1-pro (#885). -**Kadence synchronizace poskytovatele:**Opraveno omezení kadence synchronizace poskytovatele prostřednictvím interního plánovače (#888). -**Optimalizace řídicího panelu:**Vyřešeno zamrzání uživatelského rozhraní /dashboard/limits při zpracování více než 70 účtů pomocí paralelizace chunků (#784). -**SSRF Hardening:**Vynuceno přísné filtrování rozsahu IP SSRF a zablokováno rozhraní zpětné smyčky ::1. -**Typy MIME:**Standardizovaný mime_type na hadí_případ, aby odpovídal specifikacím Gemini API. -**Stabilizace CI:**Opravena selhávající analytika/nastavení selektorů Playwright a kontrolních požadavků, takže běhy GitHub Actions E2E spolehlivě procházejí přes lokalizovaná uživatelská rozhraní a ovládací prvky založené na přepínačích. -**Deterministické testy:**Odstraněny fixní kvóty citlivé na datum z testů využití Copilota a sladěné testy idempotence/modelového katalogu se sloučeným chováním za běhu. -**MCP Type Hardening:**Odstraněny nulové explicitní „jakékoliv“ regrese z cesty registrace nástroje serveru MCP. -**Model Sync Engine:**Vynechané destruktivní přepisy nahradit, když automatická synchronizace poskytovatele poskytne prázdný seznam modelů, čímž se zachová stabilita dynamických katalogů (#899).### 🛠️ Maintenance

-**Protokolování potrubí:**Vylepšené artefakty protokolování potrubí a vynucené retenční limity (#880). -**AGENTS.md Generální oprava:**Zhuštěno z 297→153 řádků. Přidány pokyny pro sestavení/testování/styl, pracovní postupy kódu (Prettier, TypeScript, ESLint) a oříznuté podrobné tabulky (#882). -**Integrace větve vydání:**Konsolidovala větvení aktivních funkcí do release/v3.4.2 nad aktuální main a ověřila větev pomocí lint, unit, pokrytí, sestavení a E2E běhů v režimu CI. -**Testování:**Přidána konfigurace vitest pro testování komponent a specifikace Playwright pro přepínače nastavení. -**Aktualizace dokumentů:**Rozšířené soubory readme root, nativní překlad čínských dokumentů a vyčištění zastaralých souborů.## [3.4.1] - 2026-03-31

[!UPOZORNĚNÍ] PŘEKONALÁ ZMĚNA: Proměnné prostředí pro protokolování, uchovávání a protokolování požadavků byly přepracovány. Při prvním spuštění po upgradu OmniRoute archivuje starší protokoly požadavků z DATA_DIR/logs/, starší DATA_DIR/call_logs/ a DATA_DIR/log.txt do DATA_DIR/log_archives/*.zip a poté odebere zastaralý formát rozvržení a přepne na zastaralé rozvržení DATA_DIR/call_logs/.### New Features

-**.ENV Migration Utility:**Zahrnuje scripts/migrate-env.mjs pro bezproblémovou migraci konfigurací <v3.3 na v3.4.x přísná omezení ověřování zabezpečení (FASE-01), opravující selhání spouštění způsobená krátkými instancemi JWT_SECRET. -**Optimalizace mezipaměti Kiro AI:**Implementováno deterministické generování conversationId (uuidv5), které umožňuje správné ukládání do mezipaměti výzvy AWS Builder ID během vyvolání (#814). -**Obnova a konsolidace uživatelského rozhraní řídicího panelu:**Vyřešena logika postranního panelu vynechávající sekci Debug a vymazána upozornění na směrování Nextjs přesunutím samostatných stránek /dashboard/mcp a /dashboard/a2a explicitně do vestavěných komponent uživatelského rozhraní Endpoint Proxy. -**Unified Request Log Artifacts:**Protokolování požadavků nyní ukládá jeden řádek indexu SQLite plus jeden artefakt JSON na požadavek pod DATA_DIR/call_logs/, s volitelným zachycením kanálu vloženým do stejného souboru. -**Jazyk:**Vylepšený čínský překlad (#855) -**Modely Opencode-Zen:**Přidány 4 bezplatné modely do registru opencode-zen (#854) -**Testy:**Přidány testy jednotek a E2E pro přepínání nastavení a opravy chyb (#850)### 🐛 Bug Fixes

-**429 Analýza kvót:**Analyzovala dlouhé časy resetování kvót z chybových těl, aby byla dodržena správná odstoupení od smlouvy a zabránilo se zákazům účtů s omezenou rychlostí (#859) -**Prompt Caching:**Zachované klientské hlavičky cache_control pro všechny poskytovatele protokolu Claude (jako Minimax, GLM a Bailian), správně rozpoznávající podporu ukládání do mezipaměti (#856) -**Protokoly synchronizace modelů:**Snížení množství spamu v protokolech zaznamenáváním „modelů synchronizace“ pouze v případě, že kanál skutečně upraví seznam (#853) -**Provider Quota & Token Parsing:**Změněné antigravitační limity pro použití retrieveUserQuota nativně a správně namapovaných dat obnovy tokenu Claude na formuláře zakódované v URL (#862) -**Stabilita omezující rychlost:**Univerzální architektura analýzy 429 Retry-After pro omezení ochlazení vyvolaného poskytovatelem na max. 24 hodin (#862) -**Limit vykreslování řídicího panelu:**Přepracované mapování kvót /dashboard/limits tak, aby se vykreslovalo okamžitě uvnitř bloků, opravuje velké zpoždění zamrznutí uživatelského rozhraní u účtů přesahujících 70 aktivních připojení (#784) -**QWEN OAuth Authorization:**Mapoval OIDC id_token jako primární token nosiče API pro požadavky Dashscope, opravuje okamžité chyby 401 Unauthorized po připojení účtů nebo obnovení tokenů (#864) -**Stabilita API ZAI:**Hardened Server-Sent Events kompilátor pro elegantní návrat k prázdným řetězcům, když poskytovatelé DeepSeek streamují matematicky nulový obsah během fází uvažování (#871) -**Claude Code/Codex Translations:**Chráněné nestreamované konverze užitečného zatížení proti prázdným odpovědím z upstreamových nástrojů Codex, zabraňující katastrofickým TypeErrors (#866) -**NVIDIA NIM vykreslování:**Podmíněně odstraněné identické předpony poskytovatelů dynamicky vnucené audio modely, čímž se eliminují duplicitní struktury značek nim/nim vyvolávající 404 na Media Playground (#872)### ⚠️ Breaking Changes

-**Rozvržení protokolu požadavků:**Odstraněny staré vícesouborové relace protokolu požadavků DATA_DIR/logs/ a souhrnný soubor DATA_DIR/log.txt. Nové požadavky jsou zapisovány jako jednotlivé JSON artefakty v DATA_DIR/call_logs/YYYY-MM-DD/. -**Proměnné prostředí protokolování:**Nahrazeny LOG_*, ENABLE_REQUEST_LOGS, CALL_LOGS_MAX, CALL_LOG_PAYLOAD_MODE a PROXY_LOG_MAX_ENTRIES novou konfigurací APP_LOG_* a modelem CALL_DAYSRE -**Nastavení přepínání potrubí:**Nahrazeno původní nastavení detailed_logs_enabled za call_log_pipeline_enabled. Nové podrobnosti kanálu jsou vloženy do artefaktu požadavku, místo aby byly uloženy jako samostatné záznamy request_detail_logs.### 🛠️ Maintenance

-**Záloha upgradu starších žádostí o protokol:**Upgrady nyní před odstraněním zastaralé struktury archivují staré rozvržení data/logs/, starší data/call_logs/ a data/log.txt do DATA_DIR/log_archives/*.zip. -**Stálost využití streamování:**Požadavky na streamování nyní po dokončení zapisují jeden řádek usage_history namísto toho, aby se vydával duplicitní řádek o probíhajícím využití s prázdnými metadaty stavu. -**Pročištění následného protokolování:**Protokoly kanálu již nezachycují SOURCE REQUEST, položky artefaktů požadavků nyní respektují CALL_LOG_MAX_ENTRIES a archivy protokolů aplikací nyní respektují APP_LOG_MAX_FILES.---

[3.4.0] - 2026-03-31

Funkce

-**Analýza využití předplatného:**Přidáno sledování časových řad snímku kvót, karty Využití poskytovatele a Combo Health s vizualizacemi překreslování a odpovídajícími koncovými body API (#847) -**Řízení zálohování SQLite:**Nový příznak env OMNIROUTE_DISABLE_AUTO_BACKUP pro zakázání automatického zálohování SQLite (#846) -**Aktualizace registru modelů:**Vložení gpt-5.4-mini do řady modelů poskytovatele Codexu (#756) -**Sledování limitu poskytovatele:**Sledovat a zobrazovat, kdy byly naposledy aktualizovány limity sazeb poskytovatele na účet (#843)### 🐛 Bug Fixes

-**Qwen Auth Routing:**Přesměrování dokončení Qwen OAuth z DashScope API na Web Inference API (chat.qwen.ai), vyřešení selhání autorizace (#844, #807, #832) -**Qwen Auto-Retry Loop:**Přidáno cílené 429 Quota Exceeded backoff handling uvnitř chatCore chránící shlukové požadavky -**Codex OAuth Fallback:**Blokování vyskakovacích oken v moderním prohlížeči již uživatele nezadržuje; automaticky se vrátí k ručnímu zadávání adresy URL (#808) -**Claude Token Refresh:**Přísné hranice application/json společnosti Anthropic jsou nyní respektovány při generování tokenů namísto kódovaných adres URL (#836) -**Schéma zpráv Codex:**Odstraněné puristické „zprávy“ vkládány z nativních požadavků na průchod, aby se zabránilo strukturálnímu odmítnutí ze strany ChatGPT upstream (#806) -**Limit velikosti detekce CLI:**Bezpečně navýšil horní hranici binárního skenování Node ze 100 MB na 350 MB, což umožnilo správně detekovat těžké samostatné nástroje jako Claude Code (229 MB) a OpenCode (153 MB) běhovým prostředím VPS (#809) -**CLI Runtime Environment:**Obnovená schopnost pro konfigurace CLI respektovat cesty přepsání uživatelem (CLI_{PROVIDER}_BIN), které obcházejí přísná pravidla zjišťování vázaná na cestu -**Konflikty záhlaví Nvidia:**Odstraněny vlastnosti prompt_cache_key z upstreamových záhlaví při volání neantropických poskytovatelů (#848) -**Codex Fast Tier Toggle:**Obnovené přepínání úrovně služeb Codex ve světlém režimu (#842) -**Testovací infrastruktura:**Aktualizovaný test t28-model-catalog-updates, který nesprávně očekával zastaralý koncový bod DashScope pro nativní registr Qwen---

[3.3.9] - 2026-03-31

🐛 Bug Fixes

-**Custom Provider Rotation:**Integrovaný getRotatingApiKey interně uvnitř DefaultExecutor, který zajišťuje správné spouštění rotace extraApiKeys pro vlastní a kompatibilní upstream poskytovatele (#815)---

[3.3.8] - 2026-03-30

Funkce

-**Filtrování API modelů:**Koncový bod /v1/models nyní dynamicky filtruje svůj seznam na základě oprávnění spojených s Autorizace: Nosič <token>, když je zapnutý omezený přístup (#781) -**Integrace Qoder:**Nativní integrace pro Qoder AI nativně nahrazující starší mapování platformy iFlow (#660) -**Prompt Cache Tracking:**Přidány možnosti sledování a vizualizace frontendu (karta Stats) pro sémantické a rychlé ukládání do mezipaměti v uživatelském rozhraní Dashboard### 🐛 Bug Fixes

-**Velikost panelu mezipaměti:**Vylepšené velikosti rozvržení uživatelského rozhraní a kontextové záhlaví pro stránky pokročilé mezipaměti (# 835) -**Ladit viditelnost postranního panelu:**Opraven problém, kdy přepínač ladění správně nezobrazoval/neskrýval podrobnosti ladění postranního panelu (#834) -**Předpona modelu Gemini:**Upraven záložní prostor jmen tak, aby správně směroval přes gemini-cli/ místo gc/, aby respektoval upstream specifikace (#831) -**OpenRouter Sync:**Vylepšená synchronizace kompatibility pro automatické správné zpracování katalogu dostupných modelů z OpenRouter (#830) -**Mapování datového toku:**Reserializace argumentačních polí nativně řeší konfliktní cesty aliasů, když je výstup streamován na okrajová zařízení---

[3.3.7] - 2026-03-30

🐛 Bug Fixes

-**OpenCode Config:**Restrukturalizovaný generovaný opencode.json tak, aby používal schéma založené na záznamech @ai-sdk/openai-compatible s options a models jako mapy objektů namísto plochých polí, oprava chyb ověření konfigurace (#816) -**i18n Missing Keys:**Přidán chybějící klíč překladu cloudflaredUrlNotice do všech 30 jazykových souborů, aby se zabránilo chybám konzole MISSING_MESSAGE na stránce Endpoint (#823)---

[3.3.6] - 2026-03-30

🐛 Bug Fixes

-**Účtování tokenů:**Bezpečně zahrnuty tokeny rychlé mezipaměti ve výpočtech historických vstupů využití pro správné odpočty kvót (PR #822) -**Kombinované testovací sondy:**Opravena falešná negativa logiky kombinovaného testování vyřešením analýzy pro odpovědi pouze na uvažování a umožněním masivní paralelizace přes Promise.all (PR #828) -**Docker Quick Tunnels:**Vestavěné požadované ca-certifikáty uvnitř základního runtime kontejneru k vyřešení selhání při spuštění Cloudflared TLS a odhalených chyb sítě stdout nahrazujících obecné ukončovací kódy (PR #829)---

[3.3.5] - 2026-03-30

New Features

-**Gemini Quota Tracking:**Přidáno sledování kvót Gemini CLI v reálném čase prostřednictvím retrieveUserQuota API (PR #825) -**Cache Dashboard:**Vylepšení Cache Dashboard pro zobrazení okamžitých metrik mezipaměti, 24hodinových trendů a odhadovaných úspor nákladů (PR #824)### 🐛 Bug Fixes

-**Uživatelská zkušenost:**Odstraněny invazivní automatické otevírání modálních smyček OAuth na neplodných podrobných stránkách poskytovatelů (PR #820) -**Aktualizace závislostí:**Vylepšené a uzamčené závislosti pro vývojové a produkční stromy včetně Next.js 16.2.1, Recharts a TailwindCSS 4.2.2 (PR #826, #827)---

[3.3.4] - 2026-03-30

New Features

-**A2A Workflows:**Přidán deterministický FSM orchestrátor pro vícekrokové pracovní postupy agentů. -**Graceful Degradation:**Přidán nový vícevrstvý záložní rámec pro zachování základní funkčnosti během částečných výpadků systému. -**Config Audit:**Přidána auditní stopa s detekcí rozdílů pro sledování změn a povolení vrácení konfigurace. -**Provider Health:**Přidáno sledování vypršení platnosti poskytovatele s proaktivními upozorněními uživatelského rozhraní na končící klíče API. -**Adaptivní směrování:**Přidán adaptivní detektor hlasitosti a složitosti, který dynamicky potlačuje strategie směrování na základě zatížení. -**Rozmanitost poskytovatelů:**Implementováno hodnocení diverzity poskytovatelů prostřednictvím Shannonovy entropie pro zlepšení rozložení zátěže. -**Hranice automatické deaktivace:**Do ovládacího panelu odolnosti přidán přepínač nastavení Automatické deaktivace zakázaných účtů.### 🐛 Bug Fixes

-**Kompatibilita Codex & Claude:**Opravené výpadky uživatelského rozhraní, opravené problémy s integrací Codex bez streamování a vyřešená detekce běhového prostředí CLI ve Windows. -**Automatizace vydání:**Pro sestavení aplikace Electron v akcích GitHubu jsou vyžadována rozšířená oprávnění. -**Cloudflare Runtime:**Opraveny správné výstupní kódy izolace runtime pro komponenty tunelu Cloudflared.### 🧪 Tests

-**Aktualizace testovací sady:**Rozšířené testovací pokrytí pro detektory objemu, diverzitu poskytovatelů, audit konfigurace a FSM.---

[3.3.3] - 2026-03-29

🐛 Bug Fixes

-**Spolehlivost CI/CD:**Opravené akce GitHub pro stabilní verze závislostí (actions/checkout@v4, actions/upload-artifact@v4) ke zmírnění neohlášených ukončení podpory prostředí Builder. -**Obrázky Fallbacks:**Nahrazení libovolných záložních řetězců v ProviderIcon.tsx explicitním ověřením aktiv, aby se zabránilo načítání komponent <Image> uživatelského rozhraní pro soubory, které neexistují, což eliminuje chyby 404 v protokolech konzoly řídicího panelu (#745). -**Aktualizátor správce:**Dynamická detekce instalace zdroje pro aktualizaci řídicího panelu. Bezpečně deaktivuje tlačítko Aktualizovat nyní, když je OmniRoute sestaven lokálně, nikoli prostřednictvím npm, a vyzve k zadání git pull (#743). -**Chyba aktualizace ERESOLVE:**Vloženo přepsání package.json pro react/react-dom a povoleno --legacy-peer-deps v rámci interních skriptů automatického aktualizačního programu, aby se vyřešily konflikty prolomení stromu závislostí s @lobehub/ui.---

[3.3.2] - 2026-03-29

New Features

-**Cloudflare Tunnels:**Integrace Cloudflare Quick Tunnel s ovládacími prvky na palubní desce (PR #772). -**Diagnostika:**Obejití sémantické mezipaměti pro kombinované živé testy (PR #773).### 🐛 Bug Fixes

-**Stabilita streamování:**Aplikujte FETCH_TIMEOUT_MS na počáteční volání fetch() požadavků na streamování, abyste zabránili 300s časovému limitu Node.js TCP způsobujícímu selhání tiché úlohy (#769). -**i18n:**Přidejte chybějící položky windsurf a copilot do toolDescriptions ve všech 33 souborech národního prostředí (#748). -**Audit kódování GLM:**Kompletní audit poskytovatele opravující zranitelnosti ReDoS, velikost kontextového okna (128k/16k) a synchronizaci registru modelu (PR #778).---

[3.3.1] - 2026-03-29

🐛 Bug Fixes

-**OpenAI Codex:**Oprava záložního zpracování pro prvky type: "text" nesoucí nulové nebo prázdné datové sady, které způsobily zamítnutí 400 (#742). -**Opencode:**Aktualizujte zarovnání schématu na singulární poskytovatel, aby odpovídalo oficiální specifikaci (#774). -**Gemini CLI:**Vložení chybějících hlaviček kvót pro koncové uživatele, které zabrání zablokování autorizace 403 (#775). -**Obnova DB:**Refaktorujte vícedílné importy užitečného zatížení do nezpracovaných binárních polí s vyrovnávací pamětí, abyste obešli maximální limity těla reverzního proxy (#770).---

[3.3.0] - 2026-03-29

Enhancements & Refactoring

-Stabilizace vydání— Dokončeno vydání v3.2.9 (kombo diagnostika, brány kvality, oprava nástroje Gemini) a vytvořen chybějící git tag. Sloučeny všechny etapové změny do jediného odevzdání atomového vydání.### 🐛 Bug Fixes

-Test automatických aktualizací Opravený testovací výraz buildDockerComposeUpdateScript, aby odpovídal neexpandovaným odkazům na proměnné shellu ($TARGET_TAG, ${TARGET_TAG#v}) ve vygenerovaném skriptu nasazení, v souladu s refaktorovanou šablonou z v3.2.8. -Circuit Breaker Test Posílený combo-circuit-breaker.test.mjs pomocí injekce maxRetries: 0, aby se zabránilo opakování inflace před zkreslením počtu selhání během přechodů stavu jističe.---

[3.2.9] - 2026-03-29

Enhancements & Refactoring

-Combo Diagnostics— Zaveden příznak vynechání živého testu (forceLiveComboTest), který správcům umožňuje provádět skutečné kontroly stavu předřazeného systému, které obcházejí všechny místní mechanismy stavu jističů a chlazení, což umožňuje přesnou diagnostiku během průběžných výpadků (PR #759) -Quality Gates— Přidáno automatické ověřování kvality odezvy pro komba a oficiálně integrovaná podpora modelu claude-4.6 do hlavních směrovacích schémat (PR #762)### 🐛 Bug Fixes

-Ověření definice nástroje Opravená integrace rozhraní Gemini API normalizací typů výčtu uvnitř definic nástrojů, což zabraňuje chybám parametru HTTP 400 (PR #760)---

[3.2.8] - 2026-03-29

Enhancements & Refactoring

-Uživatelské rozhraní automatické aktualizace Docker Integrovaný proces aktualizace na pozadí pro nasazení Docker Compose. Uživatelské rozhraní Dashboard nyní bezproblémově sleduje události životního cyklu aktualizací a kombinuje odpovědi JSON REST s překryvnými vrstvami průběhu streamování SSE pro robustní spolehlivost napříč prostředími. -Analytika mezipaměti Opravené mapování vizualizace s nulovými metrikami migrací telemetrických protokolů sémantické mezipaměti přímo do modulu centralizovaného sledování SQLite.### 🐛 Bug Fixes

-Authentication Logic Opravena chyba, kdy ukládání nastavení řídicího panelu nebo přidávání modelů selhalo s chybou 401 Unauthorized, když bylo zakázáno requireLogin. Koncové body API nyní správně vyhodnocují přepínač globálního ověřování. Globální přesměrování vyřešeno opětovnou aktivací src/middleware.ts. -CLI Tool Detection (Windows)— Zabránění fatálním inicializačním výjimkám během detekce prostředí CLI správným zachycením chyb cross-spawn ENOENT. Přidá explicitní detekční cesty pro \AppData\Local\droid\droid.exe. -Codex Native Passthrough Normalizované parametry překladu modelu zabraňující otravě kontextu v režimu proxy pass-through, vynucující generická omezení store: false explicitně pro všechny požadavky pocházející z Codexu. -SSE Token Reporting Normalizovaná detekce finish_reason z důvodu volání nástroje poskytovatele, oprava 0% analýzy využití u odpovědí pouze pro stream bez přísných indikátorů <DONE>. -DeepSeek Tags— Implementováno explicitní mapování extrakce <think> uvnitř responsesHandler.ts, což zajišťuje, že se proudy uvažování DeepSeek mapují ekvivalentně k nativním antropickým strukturám <thinking>.---

[3.2.7] - 2026-03-29

Fixed

-Bezproblémové aktualizace uživatelského rozhraní: Funkce „Aktualizovat nyní“ na řídicím panelu nyní poskytuje živou a transparentní zpětnou vazbu pomocí událostí odeslaných serverem (SSE). Provádí instalaci balíčků, přestavby nativních modulů (better-sqlite3) a spolehlivě se restartuje PM2, přičemž místo tichého zavěšení zobrazuje zavaděče v reálném čase.---

[3.2.6] — 2026-03-29

Enhancements & Refactoring

-API Key Reveal (#740) Přidán tok kopírování klíče API s rozsahem ve Správci rozhraní API, chráněný proměnnou prostředí ALLOW_API_KEY_REVEAL. -Ovládací prvky viditelnosti postranního panelu (#739) Správci nyní mohou pomocí nastavení vzhledu skrýt jakýkoli navigační odkaz na postranním panelu, aby se omezil vizuální nepořádek. -Přísné kombinované testování (#735) Posílený koncový bod kontroly stavu kombinace tak, aby vyžadoval živé textové odpovědi od modelů namísto pouze měkkých signálů dosažitelnosti. -Podrobné protokoly streamovaného proudu (#734)— Přepnutí podrobného protokolování požadavků pro streamy SSE za účelem rekonstrukce konečného užitečného zatížení, což ušetří obrovské množství velikosti databáze SQLite a výrazně vyčistí uživatelské rozhraní.### 🐛 Bug Fixes

-OpenCode Go MiniMax Auth (#733)— Opravena logika autentizační hlavičky pro modely minimax na OpenCode Go, aby se v protokolu /messages používal x-api-key místo standardních tokenů nosiče.---

[3.2.5] — 2026-03-29

Enhancements & Refactoring

-Void Linux Deployment Support (#732)— Integrovaná šablona balení xbps-src a pokyny pro nativní kompilaci a instalaci OmniRoute s vazbami better-sqlite3 prostřednictvím cíle křížové kompilace.## [3.2.4] — 2026-03-29

Enhancements & Refactoring

-Qoder AI Migration (#660)— Kompletní migrace staršího poskytovatele jádra iFlow na Qoder AI se stabilními schopnostmi směrování API.### 🐛 Bug Fixes

-Gemini Tools HTTP 400 Payload Invalid Argument (#731)— Zabráněno vkládání pole thoughtSignature do standardních sekvencí functionCall Gemini blokujících toky směrování agentů.---

[3.2.3] — 2026-03-29

Enhancements & Refactoring

-Uživatelské rozhraní kvóty pro poskytovatele (#728)— Normalizovaná logika limitů kvót a označování dat v rozhraní Limits.### 🐛 Bug Fixes

-Core Routing Schemas & Leaks— Expanded comboStrategySchema to natively support fill-first and p2c strategies to unblock complex combo editing natively. -Thinking Tags Extraction (CLI)— Restructured CLI token responses sanitizer RegEx capturing model reasoning structures inside streams avoiding broken <thinking> extractions breaking response text output format. -Vynucení přísného formátu Posílené provádění sanitace potrubí, díky čemuž je univerzálně použitelné pro cíle režimu překladu.---

[3.2.2] — 2026-03-29

New Features

-Čtyřfázový kanál protokolu požadavků (#705) Refaktorovaná perzistence protokolů pro úsporu komplexních dat ve čtyřech různých fázích kanálu: požadavek klienta, přeložený požadavek poskytovatele, odezva poskytovatele a přeložená odezva klienta. Zaveden streamPayloadCollector pro robustní zkrácení streamu SSE a serializaci užitečného zatížení.### 🐛 Bug Fixes

-Opravy mobilního uživatelského rozhraní (#659) Zabránění komponentám tabulky na řídicím panelu v narušení rozvržení v úzkých výřezech přidáním správného vodorovného posouvání a omezení přetečení do „DashboardLayout“. -Opravy Claude Prompt Cache (#708)— Zajištěno, že bloky cache_control v záložních smyčkách Claude-to-Claude jsou věrně zachovány a bezpečně předány zpět do modelů Anthropic. -Definice nástroje Gemini (#725)— Opraveny chyby překladu schématu při deklarování jednoduchých typů parametrů „objekt“ pro volání funkce Gemini.## [3.2.1] — 2026-03-29

New Features

-Global Fallback Provider (#689)— Když jsou vyčerpány všechny kombinované modely (502/503), OmniRoute se nyní pokusí o konfigurovatelný globální záložní model, než vrátí chybu. Povolte nastavení globalFallbackModel v nastavení.### 🐛 Bug Fixes

-Oprava #721— Opraveno vynechání připnutí kontextu během odpovědí na volání nástroje. Nestreamované značkování používalo nesprávnou cestu JSON (json.messagesjson.choices[0].message). Vkládání streamování se nyní spouští u bloků finish_reason pro streamy pouze pro volání nástroje. injectModelTag() nyní přidává syntetické pinové zprávy pro neřetězcový obsah. -Oprava #709— Potvrzeno již opraveno (v3.1.9) — system-info.mjs vytváří adresáře rekurzivně. ZAVŘENO. -Oprava #707— Potvrzeno již opraveno (v3.1.9) — prázdná dezinfekce názvu nástroje v chatCore.ts. ZAVŘENO.### 🧪 Tests

  • Přidáno 6 testů jednotek pro připínání kontextu s odezvami na volání nástroje (nulový obsah, obsah pole, zpáteční cesta, opětovné vložení)## [3.2.0] — 2026-03-28

New Features

-Uživatelské rozhraní pro správu mezipaměti Přidán vyhrazený řídicí panel sémantické mezipaměti na `/dashboard/cache` s cíleným zrušením platnosti API a podporou 31 jazyků i18n (PR #701 od @oyi77) Sledování kvót GLM Přidáno sledování využití v reálném čase a sledování kvót relací pro poskytovatele kódování GLM (Z.AI) (PR #698 od @christopher-s) -Detailed Log Payloads— Kabelové úplné čtyřfázové zachycování užitečného zatížení kanálu (originál, přeložený, odezva poskytovatele, streamované-delty) přímo do uživatelského rozhraní (PR #705 od @rdself)### 🐛 Bug Fixes

-Oprava #708— Zabránění úniku tokenů pro uživatele Claude Code směrující přes OmniRoute správným zachováním nativních hlaviček `cache_control` během průchodu Claude-to-Claude (PR #708 od @tombii) -Oprava #719 Nastavení hranic interního ověření pro `ModelSyncScheduler`, aby se zabránilo neověřeným selháním démona při spuštění (PR #719 od @rdself) -Oprava #718— Přestavěné vykreslování odznaku v uživatelském rozhraní Limity poskytovatele, které zabraňuje překrývání špatných hranic kvót (PR #718 od @rdself) Oprava č. 704 Opravené chyby Combo Fallbacks při chybách obsahových zásad HTTP 400, které brání mrtvému směrování při rotaci modelu (PR #704 od @rdself)### 🔒 Security & Dependencies

  • Nakopnuta `cesta k-regexpu` do `8.4.0` řešící zranitelnosti Dependabot (PR #715)## [3.1.10] — 2026-03-28

🐛 Bug Fixes

-Oprava #706— Opraveno vykreslování záložních ikon způsobených přepsáním font-sans Tailwind V4 použitím !important na .material-symbols-outlined. -Oprava #703 Opraveno přerušené streamy GitHub Copilot povolením „odpovědí“ na překlad formátu „openai“ pro jakékoli vlastní modely využívající „apiFormat: „responses“. -**Oprava č. 702**— Nahrazení paušálního sledování využití přesnými výpočty cen DB pro odezvy streamování i nestreamování. -**Oprava #716**— Vyčištěn stav překladu volání nástroje Claude, správně analyzovat argumenty streamování a zabránit blokům OpenAI tool_callsv opakování poleid`.## [3.1.9] — 2026-03-28

New Features

-Schema Coercion Automatické vynucování řetězců kódovaných numerických omezení schématu JSON (např. „minimum“: „1“) na správné typy, čímž se zabrání 400 chybám od klientů Cursor, Cline a dalších klientů odesílaných chybně tvarovaná schémata nástrojů. -Dezinfekce popisu nástroje— Zajistěte, aby popisy nástrojů byly vždy řetězce; před odesláním poskytovatelům převede null, undefined nebo číselné popisy na prázdné řetězce. -Tlačítko Vymazat všechny modely Přidány překlady i18n pro akci poskytovatele „Vymazat všechny modely“ ve všech 30 jazycích. -Codex Auth Export Přidána tlačítka exportu Codex auth.json a místní aplikace pro bezproblémovou integraci CLI. -Poznámky BYOK pro Windsurf— Do karty nástrojů Windsurf CLI byla přidána oficiální upozornění na omezení, která dokumentují omezení BYOK.### 🐛 Bug Fixes

-Oprava #709system-info.mjs již nepadá, když výstupní adresář neexistuje (přidán mkdirSync s rekurzivním příznakem). -Oprava č. 710— A2A TaskManager singleton nyní používá globalThis k zabránění úniku stavu při rekompilaci trasy Next.js API v režimu pro vývojáře. Testovací sada E2E byla aktualizována, aby zvládla 401 elegantně. -Oprava #711— Přidáno vynucení omezení max_tokens specifické pro poskytovatele pro upstream požadavky. -Oprava #605 / #592— Odstraňte předponu proxy_ z názvů nástrojů v odpovědích Claude, které se nestreamují; opravena ověřovací URL LongCat. -Call Logs Max Cap Upgradovaný getMaxCallLogs() s vrstvou mezipaměti, podporou env var (CALL_LOGS_MAX) a integrací nastavení DB.### 🧪 Tests

  • Testovací sada rozšířena z 964 → 1027 testů (63 nových testů)
  • Přidán schema-coercion.test.mjs — 9 testů pro vynucení numerického pole a dezinfekci popisu nástroje
  • Přidán t40-opencode-cli-tools-integration.test.mjs — testy integrace OpenCode/Windsurf CLI
  • Rozšířená větev testů funkcí s komplexními nástroji pro pokrytí### 📁 New Files
Soubor Účel
open-sse/translator/helpers/schemaCoercion.ts Schéma donucení a popis nástroje sanitační nástroje
tests/unit/schema-coercion.test.mjs Unit testy pro schéma nátlaku
tests/unit/t40-opencode-cli-tools-integration.test.mjs Testy integrace nástroje CLI
COVERAGE_PLAN.md Dokument plánování pokrytí testů ### 🐛 Bug Fixes

-Claude Prompt Caching Passthrough— Opraveno odstraňování značek cache_control v režimu Claude passthrough (Claude → OmniRoute → Claude), což způsobilo, že uživatelé Claude Code vyčerpali svou kvótu Antropického API 5-10x rychleji než přímá připojení. OmniRoute nyní zachovává klientské značky cache_control, když sourceFormat i targetFormat jsou Claude, což zajišťuje správné fungování rychlého ukládání do mezipaměti a dramaticky snižuje spotřebu tokenů.## [3.1.8] - 2026-03-27

🐛 Bug Fixes & Features

-**Jádro platformy:**Implementováno zpracování globálního stavu pro skryté modely a komba, které jim brání v zahlcení katalogu nebo úniku do připojených agentů MCP (#681). -**Stabilita:**Opravené pády streamování související se selháním integrace nativního poskytovatele Antigravity kvůli neošetřeným polím s nedefinovaným stavem (#684). -**Localization Sync:**Nasazen plně přepracovaný synchronizátor i18n, který detekuje chybějící vnořené vlastnosti JSON a dovybavuje 30 lokalit postupně (#685).## [3.1.7] - 27. 3. 2026### 🐛 Bug Fixes

-**Stabilita streamování:**Opraveno hasValuableContent vracející undefined pro prázdné bloky v tocích SSE (#676). -**Tool Calling:**Opraven problém v sseParser.ts, kdy nestreamingové odpovědi Claude s vícenásobným voláním nástrojů vynechávaly id následných volání nástrojů kvůli nesprávné deduplikaci na základě indexu (#671).---

[3.1.6] — 2026-03-27

🐛 Bug Fixes

-Claude Native Tool Name Restoration— Názvy nástrojů jako TodoWrite již nemají předponu proxy_ v Claude passthrough odpovědích (streaming i non-streaming). Zahrnuje pokrytí testem jednotky (PR #663 od @coobabm) -Vyčistit všechny modely aliasů— Tlačítko „Vymazat všechny modely“ nyní také odstraní přidružené aliasy modelu, čímž zabrání duchům modelů v uživatelském rozhraní (PR #664 od @rdself)---

[3.1.5] — 2026-03-27

🐛 Bug Fixes

-Automatický úpadek Backoff Účty s omezenou rychlostí se nyní automaticky obnovují, když vyprší jejich cooldown období, čímž se opravuje patová situace, kdy vysoká backoffLevel trvale odebrala prioritu účtům (PR #657 od @brendandebeasi)### 🌍 i18n

-Oprava překladu do čínštiny— Komplexní přepsání zh-CN.json s vylepšenou přesností (PR #658 od @only4copilot)---

[3.1.4] — 2026-03-27

🐛 Bug Fixes

-Oprava přepisu streamování Explicitní stream: true v těle požadavku má nyní přednost před hlavičkou Accept: application/json. Klienti, kteří odesílají obojí, správně obdrží SSE streamingové odpovědi (#656)### 🌍 i18n

-Vylepšení českého řetězce— Vylepšená terminologie napříč cs.json (PR #655 od @zen0bit)---

[3.1.3] — 2026-03-26

🌍 i18n & Community

-~70 chybějících překladových klíčůpřidáno do „en.json“ a 12 jazyků (PR #652 od @zen0bit) -Česká dokumentace aktualizována— CLI-TOOLS, API_REFERENCE, průvodce VM_DEPLOYMENT (PR #652) -Skripty pro ověření překladucheck_translations.py a validate_translation.py pro CI/QA (PR #651 od @zen0bit)---

[3.1.2] — 2026-03-26

🐛 Bug Fixes

-Kritické: Regrese volání nástroje— Opraveny chyby proxy_Bash vypnutím předpony názvu nástroje proxy_ v průchodové cestě Claude. Nástroje jako Bash, Read, Write byly přejmenovány na proxy_Bash, proxy_Read atd., což způsobilo, že je Claude odmítl (#618) -Dokumentace o zákazu účtu Kiro zdokumentováno jako falešně pozitivní proti podvodům AWS, nejedná se o problém s OmniRoute (#649)### 🧪 Tests

-936 testů, 0 selhání---

[3.1.1] — 2026-03-26

New Features

-Metadata schopnosti vidění: Přidány capabilities.vision, input_modalities a output_modalities do položek /v1/models pro modely schopné vidění (PR #646) -Modely Gemini 3.1: Přidány gemini-3.1-pro-preview a gemini-3.1-flash-lite-preview k poskytovateli Antigravity (#645)### 🐛 Bug Fixes

-Chyba Ollama Cloud 401: Opravena nesprávná základní adresa URL rozhraní API změněno z api.ollama.com na oficiální ollama.com/v1/chat/completions (#643) -Opakování tokenu s vypršenou platností: Přidáno omezené opakování s exponenciálním stažením (5→10→20 min) pro vypršená připojení OAuth namísto jejich trvalého přeskakování (PR #647)### 🧪 Tests

-936 testů, 0 selhání---

[3.1.0] — 2026-03-26

New Features

Šablony problémů GitHubu: Přidány standardizované hlášení o chybě, žádosti o funkce a šablony problémů s konfigurací/proxy (#641) -Vymazat všechny modely: Přidáno tlačítko "Vymazat všechny modely" na stránku s podrobnostmi o poskytovateli s podporou i18n ve 29 jazycích (#634)### 🐛 Bug Fixes

-Locale Conflict (in.json): Přejmenován soubor národního prostředí pro hindštinu z in.json (indonéský kód ISO) na hi.json, aby byly opraveny konflikty překladů ve Weblate (#642) -Prázdné názvy nástrojů v kódu: Čištění názvů nástrojů přesunuto před nativní průchod kódu Codex, oprava 400 chyb od dodavatelů, když nástroje měly prázdné názvy (#637) -Streamování artefaktů nového řádku: Do dezinfekčního prostředku odezvy přidáno collapseExcessiveNewlines, sbalení běhů 3+ po sobě jdoucích nových řádků z myslících modelů do standardního dvojitého nového řádku (#638) -Claude Reasoning Effort: Převeden parametr OpenAI reasoning_effort na Claudův nativní blok rozpočtu myšlení napříč všemi cestami požadavků, včetně automatické úpravy max_tokens (#627) -Obnovení tokenu Qwen: Implementováno proaktivní obnovení tokenu OAuth před vypršením platnosti (5minutová vyrovnávací paměť), aby se zabránilo selhání požadavků při použití tokenů s krátkou životností (#631)### 🧪 Tests

-936 testů, 0 selhání(+10 testů od 3.0.9)---

[3.0.9] — 2026-03-26

🐛 Bug Fixes

-Tokeny NaN v kódu Claude / odpovědi klienta (#617):

  • sanitizeUsage() nyní křížově mapuje input_tokensprompt_tokens a output_tokenscompletion_tokens před filtrem bílé listiny a opravuje odpovědi zobrazující počty tokenů NaN/0, když poskytovatelé vrátí názvy polí použití ve stylu Claude### Bezpečnost

  • Aktualizovaný balíček yaml, který opravuje zranitelnost přetečení zásobníku (GHSA-48c2-rrv3-qjmp)### 📋 Issue Triage

Uzavřeno #613 (Codestrální vyřešeno řešením Custom Provider)

  • Komentář k #615 (OpenCode duální koncový bod řešení poskytnuto, sledováno jako požadavek na funkci) Komentováno #618 (viditelnost volání nástroje vyžaduje test verze 3.0.9)
  • Komentováno #627 (úroveň úsilí již podporováno)---

[3.0.8] — 2026-03-25

🐛 Bug Fixes

-Chyby překladu pro poskytovatele formátu OpenAI v Claude CLI (#632):

  • Zpracovat formát pole reasoning_details[] ze StepFun/OpenRouter — převede se na reasoning_content
  • Zpracovat alias pole reasoning od některých poskytovatelů → normalizováno na reasoning_content
  • Názvy polí použití napříč mapami: input_tokensprompt_tokens, output_tokenscompletion_tokens v filterUsageFormat
  • Opravte extractUsage, aby akceptoval jak input_tokens/output_tokens, tak prompt_tokens/completion_tokens jako platná pole použití
  • Vztahuje se na cesty streamování (sanitizeStreamingChunk, překladač openai-to-claude.ts) i nestreamingové cesty (sanitizeMessage)---

[3.0.7] — 2026-03-25

🐛 Bug Fixes

-**Antigravity Token Refresh:**Opravená chyba client_secret is missing pro uživatele nainstalované npm clientSecretDefault byl prázdný v providerRegistry, což způsobilo, že Google odmítl požadavky na obnovení tokenu (#588) -**OpenCode Zen Models:**Přidáno modelsUrl do položky registru OpenCode Zen, takže "Import z /models" funguje správně (#612) -**Artefakty streamování:**Opraveno nadměrné množství nových řádků zanechaných v odpovědích po odstranění podpisu značky myšlení (#626) -**Proxy Fallback:**Přidáno automatické opakování bez proxy, když relé SOCKS5 selže -**Test proxy:**Testovací koncový bod nyní řeší skutečné přihlašovací údaje z DB prostřednictvím proxyId### New Features

-**Výběr účtu/klíče Playground:**Trvalá, vždy viditelná rozbalovací nabídka pro výběr konkrétních účtů/klíčů poskytovatelů pro testování načte všechna připojení při spuštění a filtry podle vybraného poskytovatele -**CLI Tools Dynamic Models:**Výběr modelu se nyní dynamicky načítá z /v1/models API poskytovatelé jako Kiro nyní zobrazují svůj úplný katalog modelů -**Seznam antigravitačních modelů:**Aktualizováno o Claude Sonnet 4.5, Claude Sonnet 4, GPT 5, GPT 5 Mini; povoleno „passthroughModels“ pro dynamický přístup k modelu (#628)### 🔧 Maintenance

  • Sloučené PR #625 — Oprava pozadí ve světlém režimu poskytovatele---

[3.0.6] — 2026-03-25

🐛 Bug Fixes

-**Limity/Proxy:**Opravené načítání limitu Codexu pro účty za proxy servery SOCKS5 obnovení tokenu nyní běží v kontextu proxy -**CI:**Opravená chyba uplatnění testu integrace v1/models v prostředí CI bez připojení k poskytovateli -**Nastavení:**Testovací tlačítko proxy nyní okamžitě zobrazuje výsledky úspěchu/neúspěchu (dříve skryté za zdravotními údaji)### New Features

-**Hřiště:**Přidána rozevírací nabídka pro výběr účtu pokud má poskytovatel více účtů, otestujte konkrétní připojení jednotlivě### 🔧 Maintenance

  • Sloučené PR #623 — oprava základní cesty URL rozhraní LongCat API---

[3.0.5] — 2026-03-25

New Features

-**Uživatelské rozhraní Limity:**Do ovládacího panelu připojení byla přidána funkce seskupování značek, která zlepšuje vizuální organizaci účtů s vlastními značkami.---

[3.0.4] — 2026-03-25

🐛 Bug Fixes

-**Streamování:**Opraveno poškození stavu TextDecoder uvnitř combo sanitize TransformStream, které způsobilo zkomolený výstup SSE odpovídající vícebajtovým znakům (PR #614) -**Uživatelské rozhraní poskytovatelů:**Bezpečně vykreslujte značky HTML v popisech chyb připojení poskytovatele pomocí dangerouslySetInnerHTML -**Nastavení proxy:**Přidány chybějící vlastnosti těla užitečného obsahu username a password, které umožňují úspěšné ověření ověřených proxy z řídicího panelu. -**Rozhraní API poskytovatele:**Vázaná měkká výjimka se vrátí na getCodexUsage, která zabrání selhání API HTTP 500, když selže načítání tokenu---

[3.0.3] — 2026-03-25

New Features

-**Modely s automatickou synchronizací:**Přidán přepínač uživatelského rozhraní a koncový bod „synchronizace modelů“ pro automatickou synchronizaci seznamů modelů podle poskytovatele pomocí plánovaného plánovače intervalů (PR #597)### 🐛 Bug Fixes

-**Časové limity:**Zvýšení výchozích proxy serverů FETCH_TIMEOUT_MS a STREAM_IDLE_TIMEOUT_MS na 10 minut, aby správně podporovaly modely hlubokého uvažování (jako o1) bez přerušení požadavků (Oprava #609) -**CLI Tool Detection:**Vylepšená detekce mezi platformami zpracovávající cesty NVM, Windows PATHEXT (zabraňující problému .cmd wrapper) a vlastní předpony NPM (PR #598) -**Protokoly streamování:**Implementovaná akumulace rozdílu tool_calls v protokolech odpovědí streamování, takže volání funkcí jsou přesně sledována a uchovávána v DB (PR #603) -**Katalog modelů:**Odebrána výjimka z autentizace, řádně skrývá modely comfyui a sdwebui, když není explicitně nakonfigurován žádný poskytovatel (PR #599)### 🌐 Translations

-**cs:**Vylepšené české překladové řetězce v celé aplikaci (PR #601)## [3.0.2] — 2026-03-25

🚀 Enhancements & Features

feat(ui): Connection Tag Grouping

  • Přidáno pole Tag/Group do EditConnectionModal (uložené v providerSpecificData.tag) bez nutnosti migrace schémat DB.
  • Připojení v zobrazení poskytovatele se nyní dynamicky seskupují podle značek s vizuálními oddělovači.
  • Neoznačená připojení se zobrazí jako první bez záhlaví, poté následují označené skupiny v abecedním pořadí.
  • Seskupení tagů se automaticky vztahuje na sekci Codex/Copilot/Antigravity Limits, protože v řadách připojení existují přepínače.### 🐛 Bug Fixes

fix(ui): Proxy Management UI Stabilization

-**Chybějící odznaky na kartách připojení:**Opraveno použitím resolveProxyForConnection() místo statického mapování. -**Test připojení zakázáno v uloženém režimu:**Aktivovalo tlačítko Test vyřešením konfigurace proxy z uloženého seznamu. -**Konfigurační modální zmrazení:**Přidáno volání onClose() po uložení/vymazání, aby se zabránilo zamrznutí uživatelského rozhraní. -Dvojnásobné počítání využití:ProxyRegistryManager nyní načítá využití dychtivě při připojení s deduplikací pomocí scope + scopeId. Počty využití byly nahrazeny tlačítkem Test zobrazujícím IP/latenci inline.#### fix(translator): function_call prefix stripping

  • Opravena neúplná oprava z PR #607, kde pouze bloky tool_use odstranily Claudovu předponu proxy_. Nyní klienti používající formát OpenAI Responses API také správně obdrží nástroje nástrojů bez předpony proxy_.---

[3.0.1] — 2026-03-25

🔧 Hotfix Patch — Critical Bug Fixes

Tři kritické regrese hlášené uživateli po uvedení verze 3.0.0 byly vyřešeny.#### fix(translator): strip proxy_ prefix in non-streaming Claude responses (#605)

Předpona proxy_ přidaná Claudem OAuth byla pouze odstraněna z odpovědístreamování. Vnestreamingovémrežimu neměl translateNonStreamingResponse žádný přístup k toolNameMap, což způsobilo, že klienti dostávali pozměněné názvy nástrojů jako proxy_read_file místo read_file.

**Oprava:**Přidán volitelný parametr toolNameMap do translateNonStreamingResponse a aplikováno odstranění předpon v obslužném programu bloku Claude tool_use. chatCore.ts nyní prochází mapou.#### fix(validation): add LongCat specialty validator to skip /models probe (#592)

LongCat AI neodhaluje GET /v1/models. Obecný validátor validateOpenAICompatibleProvider propadl nouzovi dokončení chatu pouze v případě, že bylo nastaveno validationModelId, které LongCat nekonfiguruje. To způsobilo selhání ověření poskytovatele se zavádějící chybou při přidání/uložení.

**Oprava:**Do mapy speciálních validátorů přidáno longcat, které přímo zjišťuje /chat/completions a jakoukoli neautorizační odpověď považuje za povolení.#### fix(translator): normalize object tool schemas for Anthropic (#595)

Nástroje MCP (např. pencil, computer_use) předávají definice nástrojů s {type:"object"}, ale bez pole properties. Rozhraní API společnosti Anthropic je odmítá s: schema objektu chybí vlastnosti.

**Oprava:**V openai-to-claude.ts vložte properties: {} jako bezpečné výchozí nastavení, když type je "object" a properties chybí.---

🔀 Community PRs Merged (2)

PR Autor Shrnutí
#589 @flobo3 docs(i18n): oprava ruského překladu pro Playground a Testbed
#591 @rdself fix(ui): zlepšení kontrastu světelného režimu limitů poskytovatele a zobrazení úrovně plánu ---

Issues Resolved

#592 #595 #605---

🧪 Tests

-926 testů, 0 selhání(beze změny od verze 3.0.0)---

[3.0.0] — 2026-03-24

🎉 OmniRoute v3.0.0 — The Free AI Gateway, Now with 67+ Providers

Největší verze všech dob.Od 36 poskytovatelů ve verzi 2.9.5 po67+ poskytovatelůve verzi 3.0.0 — se serverem MCP, protokolem A2A, automatickým kombinovaným modulem, ikonami poskytovatelů, rozhraním API pro registrované klíče, 926 testy a příspěvky od12 členů komunitynapříč10 sloučenými PR.

Konsolidováno od v3.0.0-rc.1 do rc.17 (17 kandidátů na vydání během 3 dnů intenzivního vývoje).---

🆕 New Providers (+31 since v2.9.5)

Poskytovatel Přezdívka Úroveň Poznámky
OpenCode Zen opencode-zen Zdarma 3 modely přes opencode.ai/zen/v1 (PR #530 od @kang-heewon)
OpenCode Go opencode-go Zaplaceno 4 modely přes opencode.ai/zen/go/v1 (PR #530 od @kang-heewon)
LongCat AI "lc" Zdarma 50 milionů tokenů/den (Flash-Lite) + 500 000/den (Chat/Thinking) během veřejné beta verze
Opylení AI "pol" Zdarma Není potřeba žádný klíč API — GPT-5, Claude, Gemini, DeepSeek V3, Llama 4 (1 req/15s)
Cloudflare Workers AI cf Zdarma 10 000 neuronů/den ~ 150 LLM odezev nebo 500 s Whisper zvuk, okrajová inference
Scaleway AI scw Zdarma 1 milion bezplatných tokenů pro nové účty v souladu s EU/GDPR (Paříž)
AI/ML API "aiml" Zdarma 0,025 $/den bezplatné kredity více než 200 modelů prostřednictvím jediného koncového bodu
Puter AI "pu" Zdarma 500+ modelů (GPT-5, Claude Opus 4, Gemini 3 Pro, Grok 4, DeepSeek V3)
Alibaba Cloud (DashScope) "ali" Zaplaceno Mezinárodní a čínské koncové body přes alicode/alicode-intl
Kódovací plán Alibaba bcp Zaplaceno Alibaba Model Studio s rozhraním API kompatibilním s Anthropic
Kimi kódování (klíč API) "kmca" Zaplaceno Vyhrazený přístup Kimi založený na klíči API (odděleně od OAuth)
Kódování MiniMax "minimax" Zaplaceno Mezinárodní koncový bod
MiniMax (Čína) minimax-cn Zaplaceno Koncový bod specifický pro Čínu
Z.AI (GLM-5) "zai" Zaplaceno Modely GLM nové generace Zhipu AI
Vertex AI "vertex" Zaplaceno Google Cloud — servisní účet JSON nebo OAuth access_token
Ollama Cloud "ollamacloud" Zaplaceno Ollama hostovaná API služba
Syntetické "syntetický" Zaplaceno Průchozí modely brány
Kilo Gateway "kg" Zaplaceno Průchozí modely brány
Perplexity Search pplx-search Zaplaceno Vyhrazený koncový bod založený na vyhledávání
Serper Search serper-search Zaplaceno Integrace rozhraní API pro vyhledávání na webu
Odvážné hledání brave-hledej Zaplaceno Integrace Brave Search API
Exa Search "exa-search" Zaplaceno Integrace API pro neuronové vyhledávání
Tavily Search tavily-search Zaplaceno Integrace rozhraní API pro vyhledávání AI
NanoBanana nb Zaplaceno API pro generování obrázků
ElevenLabs "el" Zaplaceno Hlasová syntéza převodu textu na řeč
Cartesia "kartézie" Zaplaceno Ultra rychlá syntéza hlasu TTS
PlayHT "hra" Zaplaceno Klonování hlasu a TTS
Ve světě "ve světě" Zaplaceno Hlasový chat postav AI
SD WebUI sdwebui Vlastní hostitel Generování lokálního obrazu stabilní difúze
ComfyUI 'comfyui' Vlastní hostitel Generování lokálního pracovního postupu ComfyUI založené na uzlech
Kódování GLM glm Zaplaceno Koncový bod specifický pro kódování BigModel/Zhipu Celkem: 67+ poskytovatelů(4 zdarma, 8 OAuth, 55 API klíč) + neomezený vlastní poskytovatelé kompatibilní s OpenAI/Anthropic.---

Major Features

🔑 Registered Keys Provisioning API (#464)

Automaticky generujte a vydávejte klíče rozhraní API OmniRoute programově s vynucováním kvót pro jednotlivé poskytovatele a účty.

Koncový bod Metoda Popis
/api/v1/registrované-klíče 'POST' Vydejte nový klíč nezpracovaný klíč se vrátilpouze jednou
/api/v1/registrované-klíče "ZÍSKAT" Vypsat registrované klíče (maskované)
/api/v1/registrované-klíče/{id} "GET/DELETE" Získat metadata / Zrušit
/api/v1/quotas/check "ZÍSKAT" Před vydáním kvóty ověřte
/api/v1/providers/{id}/limits "GET/PUT" Konfigurace limitů vydávání na poskytovatele
/api/v1/accounts/{id}/limits "GET/PUT" Konfigurace limitů vydávání na účet
/api/v1/issues/report 'POST' Hlásit události kvót na GitHub Issues

**Zabezpečení:**Klíče uložené jako hash SHA-256. Nezpracovaný klíč zobrazený jednou při vytvoření, nikdy jej nelze znovu získat.#### 🎨 Provider Icons via @lobehub/icons (#529)

Více než 130 log poskytovatelů používajících komponenty React (SVG) @lobehub/icons. Záložní řetězec:Lobehub SVG → existující PNG → obecná ikona. Používá se na stránkách Dashboard, Providers a Agents se standardizovanou komponentou ProviderIcon.#### 🔄 Model Auto-Sync Scheduler (#488)

Automaticky obnovuje seznamy modelů pro připojené poskytovatele každých24 hodin. Běží při startu serveru. Konfigurovatelné pomocí MODEL_SYNC_INTERVAL_HOURS.#### 🔀 Per-Model Combo Routing (#563)

Mapujte vzory názvů modelů (glob) na konkrétní kombinace pro automatické směrování:

  • claude-sonnet* → code-combo, gpt-4o* → openai-combo, gemini-* → google-combo
  • Nová tabulka model_combo_mappings s porovnáváním glob-to-regex
  • Sekce uživatelského rozhraní řídicího panelu: "Pravidla směrování modelu" s vloženým přidáním/úpravou/přepínáním/mazáním#### 🧭 API Endpoints Dashboard

Interaktivní katalog, správa webhooků, prohlížeč OpenAPI to vše na jedné kartě v /dashboard/endpoint.#### 🔍 Web Search Providers

5 nových integrací poskytovatelů vyhledávání:Perplexity Search,Serper,Brave Search,Exa,Tavily umožňující uzemněné reakce umělé inteligence s webovými daty v reálném čase.#### 📊 Search Analytics

Nová karta v /dashboard/analytics rozdělení poskytovatelů, míra návštěvnosti mezipaměti, sledování nákladů. API: GET /api/v1/search/analytics.#### 🛡️ Per-API-Key Rate Limits (#452)

Sloupce max_requests_per_day a max_requests_per_minute s vynucením posuvného okna v paměti, které vrací HTTP 429.#### 🎵 Media Playground

Kompletní hřiště pro generování médií na /dashboard/media: generování obrázků, videa, hudby, přepisu zvuku (limit pro nahrávání 2 GB) a převodu textu na řeč.---

🔒 Security & CI/CD

-Oprava CodeQL Opraveno 10+ výstrah: 6 opakování polynomu, 1 nezabezpečená náhodnost (Math.random()crypto.randomUUID()), 1 vložení příkazu shellu -Ověření trasy— Schémata Zod + validateBody() na176/176 trasách API— Vynuceno CI -CVE oprava dompurifikace zranitelnosti XSS (GHSA-v2wj-7wpq-c8vv) vyřešena pomocí přepsání npm -Zploštělý Naražený 3.3.3 → 3.4.2 (znečištění prototypu CWE-1321) -Docker Upgradovaný docker/setup-buildx-action v3 → v4---

🐛 Bug Fixes (40+)

OAuth & Auth

-#537— Gemini CLI OAuth: vymažte chybu, kterou lze provést, když v Dockeru chybí „GEMINI_OAUTH_CLIENT_SECRET“ -#549— Cesty nastavení CLI nyní rozlišují skutečný klíč API z keyId (nikoli maskovaných řetězců) -#574— Přihlášení již nezamrzá po přeskočení nastavení hesla průvodce -#506— Přepsáno machineId napříč platformami (Windows REG.exe → macOS ireg → Linux → záložní název hostitele)#### Providers & Routing

-#536— LongCat AI: opraveny baseUrl a authHeader -#535— Přepsání připnutého modelu: body.model správně nastaveno na pinnedModel -#570— Modely Claude bez předpony se nyní převádějí na poskytovatele Anthropic -#585— Interní značky <omniModel> již neunikají klientům při streamování SSE -#493— Pojmenování modelu vlastního poskytovatele již není narušeno odstraňováním předpon -#490— Streamování + ochrana kontextové mezipaměti prostřednictvím vkládání TransformStream -#511— Značka <omniModel> vložena do prvního bloku obsahu (nikoli za [DONE])#### CLI & Tools

-#527— Claude Code + smyčka Codex: bloky tool_result nyní převedeny na text -#524— Konfigurace OpenCode uložena správně (XDG_CONFIG_HOME, formát TOML) -#522— Správce API: odstraněno zavádějící tlačítko „Kopírovat maskovaný klíč“. -#546--version vrací unknown ve Windows (PR od @k0valik) -#544— Bezpečná detekce nástroje CLI prostřednictvím známých instalačních cest (PR od @k0valik) -#510— Windows MSYS2/Git-Bash cesty automaticky normalizovány -#492— CLI detekuje uzel spravovaný mise/nvm, když chybí app/server.js#### Streaming & SSE

-PR #587— Vrácení importu resolveDataDir v odpovědíchTransformer for Cloudflare Workers compat (@k0valik) -PR #495— Úzké místo 429 nekonečné čekání: zrušte čekající úlohy na limitu sazby (@xandr0s) -#483— Zastavit koncové data: null po signálu [DONE] -#473— Zombie SSE streamy: časový limit snížen na 300 s → 120 s pro rychlejší návrat#### Media & Transcription

-Přepis— Deepgram video/mp4audio/mp4 MIME mapování, automatická detekce jazyka, interpunkce -TTS chybové zobrazení „[object Object]“ opraveno pro vnořené chyby ve stylu ElevenLabs -Limity nahrávání Přepis médií zvýšen na 2 GB (nginx client_max_body_size 2g + maxDuration=300)---

🔧 Infrastructure & Improvements

Sub2api Gap Analysis (T01T15 + T23T42)

T01 sloupec „requested_model“ v protokolech hovorů (migrace 009) -T02— Odstraní prázdné textové bloky z vnořeného tool_result.content T03 Analyzujte hlavičky kvóty x-codex-5h-* / x-codex-7d-* -T04— hlavička X-Session-Id pro externí pevné směrování -T05— Perzistence DB s rychlostním limitem s vyhrazeným API -T06— Účet deaktivován → trvalé blokování (1-rok cooldown) -T07 X-Forwarded-For IP validation (extractClientIp()) -T08— Limity relací na klíč API s vynucením posuvného okna -T09— Rozsahy limitů pro kodex vs Spark (samostatné fondy) -T10— Vyčerpání kreditů → zřetelný 1h cooldown -T11— „maximální“ úsilí o uvažování → 131072 tokenů rozpočtu -T12— Cenové položky MiniMax M2.7 -T13 Oprava zastaralého zobrazení kvóty (resetování povědomí o okně) -T14— Rychlá kontrola TCP serveru proxy (≤2 s, 30 s v mezipaměti) -T15— Normalizace obsahu pole pro Anthropic T23 Inteligentní záložní obnovení kvóty (extrakce záhlaví) -T24— cooldown 503 + mapování 406 -T25 Záložní ověření poskytovatele -T29— Vertex AI Service Account JWT auth -T33— Přeměna z úrovně myšlení na rozpočet -T36 klasifikace chyb 403 vs 429 T38 Centralizované specifikace modelu (modelSpecs.ts) -T39 Záložní koncový bod pro fetchAvailableModels -T41— Úloha na pozadí automaticky přesměrovává na modely flash -T42— Mapování poměru stran generování obrazu#### Other Improvements

-Vlastní hlavičky upstream pro každý model— prostřednictvím konfiguračního uživatelského rozhraní (PR #575 od @zhangqiang8vip) -Délka kontextu modelu konfigurovatelná v metadatech modelu (PR #578 od @hijak) -Odstranění předpony modelu možnost odstranit předponu poskytovatele z názvů modelů (PR #582 od @jay77721) Ukončení podpory rozhraní Gemini CLI označeno jako zastaralé s upozorněním na omezení protokolu Google OAuth -YAML parser nahrazení vlastního analyzátoru js-yaml pro správnou analýzu specifikace OpenAPI -ZWS v5— oprava úniku HMR (485 DB připojení → 1, paměť 2,4 GB → 195 MB) -Export protokolu Nové tlačítko exportu JSON na řídicím panelu s rozevíracím seznamem časového rozsahu -Aktualizační oznamovací banner domovská stránka řídicího panelu zobrazí, když jsou k dispozici nové verze---

🌐 i18n & Documentation

-30 jazykůpři 100% paritě synchronizováno 2 788 chybějících klíčů -Čeština— Úplný překlad: 22 dokumentů, 2 606 řetězců uživatelského rozhraní (PR od @zen0bit) čínština (zh-CN) kompletní retranslace (PR od @only4copilot) -VM Deployment Guide— Přeloženo do angličtiny jako zdrojový dokument -Reference API Přidány koncové body /v1/embeddings a /v1/audio/speech -Počet poskytovatelů Aktualizováno z 36+/40+/44+ na**67+**v rámci README a všech 30 i18n README---

🔀 Community PRs Merged (10)

PR Autor Shrnutí
#587 @k0valik oprava(sse): vrátit zpět import resolveDataDir pro Cloudflare Workers compat
#582 @jay77721 feat(proxy): možnost odstranění předpony názvu modelu
#581 @jay77721 fix(npm): propojení elektron-release s npm-publish workflow
#578 @hijak feat: konfigurovatelná délka kontextu v metadatech modelu
#575 @zhangqiang8vip feat: upstream záhlaví podle modelu, kompatibilní PATCH, zarovnání chatu
#562 @coobabm oprava: Správa relací MCP, Claude passthrough, detectFormat
#561 @zen0bit fix(i18n): Opravy českého překladu
#555 @k0valik fix(sse): centralizované resolveDataDir() pro rozlišení cesty
#546 @k0valik fix(cli): --version vrací unknown ve Windows
#544 @k0valik fix(cli): bezpečná detekce nástroje CLI prostřednictvím instalačních cest
#542 @rdself fix(ui): kontrast světelného režimu proměnné motivu CSS
#530 @kang-heewon feat: Poskytovatelé OpenCode Zen + Go s OpencodeExecutor
#512 @zhangqiang8vip feat: kompatibilita modelu podle protokolu (compatByProtocol)
#497 @zhangqiang8vip oprava: úniky prostředků HMR v dev-mode (ZWS v5)
#495 @xandr0s oprava: Úzké místo 429 nekonečné čekání (upuštění čekajících úloh)
#494 @zhangqiang8vip feat: MiniMax vývojář→oprava systémové role
#480 @prakersh oprava: extrakce využití splachování proudu
#479 @prakersh feat: Codex 5.3/5.4 a antropické cenové položky
#475 @only4copilot feat(i18n): vylepšený čínský překlad

Děkujeme všem přispěvatelům!🙏---

📋 Issues Resolved (50+)

#452 #458 #462 #464 #466 #473 #474 #481 #483 #487 #488 #489 #490 9#49 #49 9#49 #506 #508 #509 #510 #511 #513 #520 #521 #522 #524 #525 #527 #529 5#53 5#53 #536 #537 #541 #546 #549 #563 #570 #574 #585`---

🧪 Tests

-926 testů, 0 selhání(nárůst z 821 ve verzi 2.9.5)

  • +105 nových testů zahrnujících: mapování model-kombo, registrované klíče, OpencodeExecutor, poskytovatel Bailian, ověřování trasy, klasifikaci chyb, mapování poměru stran a další---

📦 Database Migrations

Migrace Popis
008 tabulky registered_keys, provider_key_limits, account_key_limits
009 Sloupec requested_model v call_logs
010 Tabulka model_combo_mappings pro kombinované směrování podle modelu ---

⬆️ Upgrading from v2.9.5

# npm
npm install -g omniroute@3.0.0

# Docker
docker pull diegosouzapw/omniroute:3.0.0

# Migrations run automatically on first startup

**Přelomové změny:**Žádné. Všechny existující konfigurace, komba a klíče API jsou zachovány. Migrace databáze 008-010 se spouští automaticky při spuštění.---

[3.0.0-rc.17] — 2026-03-24

🔒 Security & CI/CD

-Oprava CodeQL Opraveno 10+ upozornění:

  • 6 opakování polynomu v provider.ts / chatCore.ts (nahrazeno (?:^|/) alternativními vzory shodou na základě segmentů)
  • 1 nezabezpečená náhodnost v acp/manager.ts (Math.random()crypto.randomUUID())
  • 1 shell-command-injection v prepublish.mjs (escapování cesty JSON.stringify()) -Ověření trasy Přidána schémata Zod + validateBody() k 5 trasám bez ověření:
  • model-combo-mappings (POST, PUT), webhooks (POST, PUT), openapi/try (POST)
  • CI check:route-validation:t06 nyní prošlo:176/176 tras ověřeno### 🐛 Bug Fixes

-#585— Interní značky <omniModel> již neunikají klientům v odpovědích SSE. Přidána odchozí sanitace TransformStream do combo.ts### ⚙️ Infrastructure

-Docker Upgradován docker/setup-buildx-action z verze 3 → v4 (oprava ukončení podpory Node.js 20) -Čištění CI Odstraněno 150+ neúspěšných/zrušených běhů pracovního postupu### 🧪 Tests

  • Testovací sada:926 testů, 0 selhání(+3 nové)---

[3.0.0-rc.16] — 2026-03-24

New Features

  • Zvýšené limity přepisu médií
  • Přidána délka kontextu modelu do metadat registru
  • Přidána vlastní záhlaví pro každý model upstream prostřednictvím konfiguračního uživatelského rozhraní
  • Opraveno více chyb, ověřování Zod pro záplaty a vyřešeny různé problémy komunity.## [3.0.0-rc.15] — 2026-03-24

New Features

-#563— Kombinované směrování podle modelu: mapujte vzory názvů modelů (glob) na konkrétní kombinace pro automatické směrování

  • Nová tabulka model_combo_mappings (migrace 010) se vzorem, combo_id, prioritou, povoleno
  • DB funkce resolveComboForModel() s porovnáváním glob-to-regex (nerozlišují se malá a velká písmena, zástupné znaky * a ?)
  • getComboForModel() v model.ts: rozšiřuje getCombo() o záložní vzor modelu
  • chat.ts: rozhodnutí o směrování nyní kontroluje mapování model-komba před manipulací s jedním modelem
  • API: GET/POST /api/model-combo-mappings, GET/PUT/DELETE /api/model-combo-mappings/:id
  • Řídicí panel: sekce "Pravidla směrování modelu" přidána na stránku Kombinace s vloženým přidáním/úpravou/přepínáním/mazáním Příklady: claude-sonnet* → code-combo, gpt-4o* → openai-combo, gemini-* → google-combo### 🌐 i18n

-Plná i18n Sync: 2 788 chybějících klíčů přidáno do 30 jazykových souborů všechny jazyky nyní ve 100% paritě s en.json -Stránka agentů i18n: Sekce OpenCode Integration plně internacionalizována (název, popis, skenování, štítky ke stažení) -6 nových klíčůpřidáno do jmenného prostoru agents pro sekci OpenCode### 🎨 UI/UX

-Ikony poskytovatelů: přidáno 16 chybějících ikon poskytovatelů (3 zkopírovány, 2 staženy, 11 vytvořeno SVG) -Záložní SVG: Komponenta ProviderIcon aktualizována pomocí 4vrstvé strategie: Lobehub → PNG → SVG → Obecná ikona -Otisky prstů agentů: Synchronizováno s nástroji CLI přidán droid, openclaw, kopilot, opencode do seznamu otisků prstů (celkem 14)### Bezpečnost

-CVE oprava: Vyřešená zranitelnost dompurify XSS (GHSA-v2wj-7wpq-c8vv) prostřednictvím přepsání npm vynucením dompurify@^3.3.2

  • npm audit nyní hlásí0 zranitelností### 🧪 Tests

  • Testovací sada:923 testů, 0 selhání(+15 nových testů mapování kombinovaného modelu)---

[3.0.0-rc.14] — 2026-03-23

🔀 Community PRs Merged

PR Autor Shrnutí
#562 @coobabm fix(ux): Správa relací MCP, normalizace průchodu Clauda, modální OAuth, detectFormat
#561 @zen0bit fix(i18n): Opravy českého překladu — názvy HTTP metod a aktualizace dokumentace ### 🧪 Tests
  • Testovací sada:908 testů, 0 selhání---

[3.0.0-rc.13] — 2026-03-23

🔧 Bug Fixes

-**config:**vyřeší skutečný klíč API z keyId v trasách nastavení CLI (codex-settings, droid-settings, kilo-settings), aby se zabránilo zápisu maskovaných řetězců (#549)---

[3.0.0-rc.12] — 2026-03-23

🔀 Community PRs Merged

PR Autor Shrnutí
#546 @k0valik fix(cli): --version vrací unknown ve Windows místo importu ESM použijte JSON.parse(readFileSync)
#555 @k0valik fix(sse): centralizované resolveDataDir() pro rozlišení cesty v přihlašovacích údajích, autoCombo, záznamníku odpovědí a záznamníku požadavků
#544 @k0valik fix(cli): bezpečná detekce nástroje CLI prostřednictvím známých instalačních cest (8 nástrojů) s ověřováním symbolických odkazů, kontrolami typu souboru, omezením velikosti, minimální env ve healthchecku
#542 @rdself fix(ui): zlepšit kontrast světlého režimu — přidat chybějící proměnné motivu CSS (bg-primary, bg-subtle, text-primary) a opravit pouze tmavé barvy v detailu protokolu ### 🔧 Bug Fixes

-Oprava TDZ v cliRuntime.tsvalidateEnvPath byl použit před inicializací při spuštění modulu pomocí getExpectedParentPaths(). Přeuspořádané deklarace k opravě ReferenceError. -Opravy sestavení Přidány pino a pino-pretty do serverExternalPackages, aby se zabránilo Turbopacku narušit interní načítání Pina.### 🧪 Tests

  • Testovací sada:905 testů, 0 selhání---

[3.0.0-rc.10] — 2026-03-23

🔧 Bug Fixes

-#509 / #508— Regrese sestavení Electronu: downgrade Next.js z 16.1.x na 16.0.10, aby se odstranila nestabilita hašování modulu Turbopack, která způsobovala prázdné obrazovky v balíčku Electron desktop. -Opravy testů jednotek— Opravena dvě zastaralá testovací tvrzení (poměr/rozlišení nanobanana-image-handler, mapování polí thinking-budget Gemini thinkingConfig), která se po nedávných změnách implementace posunula. -#541— Reakce na zpětnou vazbu od uživatelů ohledně složitosti instalace; nejsou nutné žádné změny kódu.---

[3.0.0-rc.9] — 2026-03-23

New Features

-T29— Vertex AI SA JSON Executor: implementováno pomocí knihovny jose ke zpracování ověřování JWT/Service Account spolu s konfigurovatelnými oblastmi v uživatelském rozhraní a automatickým vytvářením URL modelu partnera. -T42— Mapování poměru stran generování obrázků: vytvořena logika sizeMapper pro obecné formáty OpenAI (velikost), přidáno nativní zpracování imagen3 a aktualizované koncové body NanoBanana, aby automaticky využívaly mapované poměry stran. -T38— Centralizované specifikace modelu: modelSpecs.ts vytvořené pro limity a parametry na model.### 🔧 Improvements

-T40— Integrace nástrojů OpenCode CLI: nativní integrace opencode-zen a opencode-go dokončena v dřívější PR.---

[3.0.0-rc.8] — 2026-03-23

🔧 Bug Fixes & Improvements (Fallback, Quota & Budget)

-T24503 cooldown čeká na opravu + 406 mapování: mapováno 406 Not Acceptable na 503 Service Unavailable se správnými intervaly ochlazení. -T25— Záložní ověření poskytovatele: elegantní návrat ke standardním ověřovacím modelům, když není k dispozici konkrétní validationModelId. -T36— upřesnění obsluhy poskytovatele 403 vs 429: extrahováno do errorClassifier.ts, aby se správně oddělila selhání pevných oprávnění (403) od limitů rychlosti (429). -T39— Endpoint Fallback pro fetchAvailableModels: implementován třívrstvý mechanismus (/models -> /v1/models -> místní obecný katalog) + aktualizace nástroje MCP list_models_catalog, aby odrážely zdroj a varování. -T33— Přeměna úrovně myšlení na rozpočet: převádí úrovně kvalitativního myšlení na přesné přidělení rozpočtu. -T41— Automatické přesměrování úloh na pozadí: automaticky přesměrovává náročné úlohy vyhodnocování na pozadí do flashových/efektivních modelů. -T23— Inteligentní záložní reset kvóty: přesně extrahuje hodnoty hlavičky x-ratelimit-reset / retry-after nebo mapuje statické cooldowny.---

[3.0.0-rc.7] — 2026-03-23 (What's New vs v2.9.5 — will be released as v3.0.0)

**Upgrade z v2.9.5:**16 problémů vyřešeno · 2 sloučeny PR komunity · 2 noví poskytovatelé · 7 nových koncových bodů API · 3 nové funkce · migrace DB 008+009 · 832 úspěšných testů · 15 vylepšení mezery sub2api (T01T15 dokončeno).### 🆕 New Providers

Poskytovatel Přezdívka Úroveň Poznámky
OpenCode Zen opencode-zen Zdarma 3 modely přes opencode.ai/zen/v1 (PR #530 od @kang-heewon)
OpenCode Go opencode-go Zaplaceno 4 modely přes opencode.ai/zen/go/v1 (PR #530 od @kang-heewon)

Oba poskytovatelé používají nový OpencodeExecutor s víceformátovým směrováním (/chat/completions, /messages, /responses, /models/{model}:generateContent).---

New Features

🔑 Registered Keys Provisioning API (#464)

Automaticky generujte a vydávejte klíče rozhraní API OmniRoute programově s vynucováním kvót pro jednotlivé poskytovatele a účty.

Koncový bod Metoda Popis
/api/v1/registrované-klíče 'POST' Vydejte nový klíč nezpracovaný klíč se vrátilpouze jednou
/api/v1/registrované-klíče "ZÍSKAT" Vypsat registrované klíče (maskované)
/api/v1/registrované-klíče/{id} "ZÍSKAT" Získat klíčová metadata
/api/v1/registrované-klíče/{id} "SMAZAT" Zrušit klíč
/api/v1/registrované-klíče/{id}/revoke 'POST' Odvolat (pro klienty bez podpory DELETE)
/api/v1/quotas/check "ZÍSKAT" Před vydáním kvóty ověřte
/api/v1/providers/{id}/limits "GET/PUT" Konfigurace limitů vydávání na poskytovatele
/api/v1/accounts/{id}/limits "GET/PUT" Konfigurace limitů vydávání na účet
/api/v1/issues/report 'POST' Hlásit události kvót na GitHub Issues

**DB — Migrace 008:**Tři nové tabulky: registered_keys, provider_key_limits, account_key_limits. **Zabezpečení:**Klíče uložené jako hash SHA-256. Nezpracovaný klíč zobrazený jednou při vytvoření, nikdy jej nelze znovu získat. Typy kvót:maxActiveKeys, dailyIssueLimit, hourlyIssueLimit na poskytovatele a na účet. **Idempotency:**Pole idempotency_key zabraňuje duplicitnímu vydání. Vrátí 409 IDEMPOTENCY_CONFLICT, pokud byl klíč již použit. Rozpočet na klíč:dailyBudget / hourlyBudget — omezuje, kolik požadavků může klíč směrovat na okno. **Přehledy GitHubu:**Volitelné. Nastavte GITHUB_ISSUES_REPO + GITHUB_ISSUES_TOKEN pro automatické vytváření problémů GitHubu při překročení kvóty nebo selhání vydání.#### 🎨 Provider Icons — @lobehub/icons (#529)

Všechny ikony poskytovatelů na řídicím panelu nyní používají komponenty React @lobehub/icons (více než 130 poskytovatelů s SVG). Záložní řetězec:Lobehub SVG → existující /providers/{id}.png → obecná ikona. Používá správný vzor React ErrorBoundary.#### 🔄 Model Auto-Sync Scheduler (#488)

OmniRoute nyní automaticky obnovuje seznamy modelů pro připojené poskytovatele každých24 hodin.

  • Spouští se při spuštění serveru přes existující háček /api/sync/initialize
  • Konfigurovatelné pomocí proměnné prostředí MODEL_SYNC_INTERVAL_HOURS
  • Pokrývá 16 hlavních poskytovatelů
  • Zaznamenává čas poslední synchronizace v databázi nastavení---

🔧 Bug Fixes

OAuth & Auth

-**#537 — Gemini CLI OAuth:**Vymažte chybu, kterou lze provést, když v nasazeních Docker/vlastně hostovaných chybí GEMINI_OAUTH_CLIENT_SECRET. Dříve zobrazované od Googlu záhadné „client_secret is missing“. Nyní poskytuje specifické instrukce docker-compose.yml a ~/.omniroute/.env.#### Providers & Routing

-#536 — LongCat AI:Opraveny baseUrl (api.longcat.chat/openai) a authHeader (Autorizace: Nositel). -#535 — Přepsání připnutého modelu:body.model je nyní správně nastaven na pinnedModel, když je aktivní ochrana kontextové mezipaměti. -**#532 — Ověření klíče OpenCode Go:**Nyní používá testovací koncový bod zen/v1 (testKeyBaseUrl) — stejný klíč funguje pro obě úrovně.#### CLI & Tools

-**#527 — Claude Code + smyčka Codex:Bloky tool_result jsou nyní převedeny na text namísto vynechání, čímž se zastaví nekonečné smyčky výsledků nástroje. -#524 — Uložení konfigurace OpenCode:Přidán handler saveOpenCodeConfig() (s vědomím XDG_CONFIG_HOME, píše TOML). -#521 — Přihlášení se zaseklo:Přihlášení již nezamrzá po přeskočení nastavení hesla přesměruje se správně na onboarding. -#522 — Správce API:Odstraněno zavádějící tlačítko „Kopírovat maskovaný klíč“ (nahrazeno popiskem ikony zámku). -#532 — Konfigurace OpenCode Go:**Obslužný program nastavení průvodce nyní zpracovává opencode toolId.#### Developer Experience

-#489 — Antigravity:Chybějící googleProjectId vrací strukturovanou chybu 422 s pokyny pro opětovné připojení namísto záhadného selhání. -#510 — Cesty Windows:Cesty MSYS2/Git-Bash (/c/Program Files/...) jsou nyní automaticky normalizovány na C:\Program Files\.... -#492 — Spuštění CLI:omniroute CLI nyní detekuje uzel spravovaný mise/nvm, když chybí app/server.js a zobrazuje cílené pokyny k opravě.---

📖 Documentation Updates

-#513— Resetování hesla dockeru: INITIAL_PASSWORD řešení env var zdokumentováno -#520— pnpm: zdokumentován krok pnpm schválit-sestaví lépe-sqlite3---

Issues Resolved in v3.0.0

#464 #488 #489 #492 #510 #513 #520 #521 #522 #524 #527 #529 #532 7#535 7#535---

🔀 Community PRs Merged

PR Autor Shrnutí
#530 @kang-heewon Poskytovatelé OpenCode Zen + Go s OpencodeExecutor a vylepšenými testy ---

[3.0.0-rc.7] - 2026-03-23

🔧 Improvements (sub2api Gap Analysis — T05, T08, T09, T13, T14)

-T05— Perzistence DB s rychlostním limitem: setConnectionRateLimitUntil(), isConnectionRateLimited(), getRateLimitedConnections() v providers.ts. Stávající sloupec „rate_limited_until“ je nyní vystaven jako vyhrazené rozhraní API obnovení tokenu OAuth se NESMÍ dotknout tohoto pole, aby se zabránilo smyčkám s omezením rychlosti. -T08— Limit relace na klíč API: max_sessions INTEGER DEFAULT 0 přidáno do api_keys prostřednictvím automatické migrace. sessionManager.ts získá registerKeySession(), unregisterKeySession(), checkSessionLimit() a getActiveSessionCountForKey(). Volající v chatCore.js mohou vynutit limit a snížit na req.close. -T09— Rozsahy limitů rychlosti Codex vs Spark: getCodexModelScope() a getCodexRateLimitKey() v codex.ts. Standardní modely (gpt-5.x-codex, codex-mini) získají rozsah "codex"; spark modely (codex-spark*) získají rozsah "spark". Klíče sazebního limitu by měly být ${accountId}:${scope}, takže vyčerpání jednoho fondu neblokuje druhý. -T13— Oprava zastaralého zobrazení kvóty: getEffectiveQuotaUsage(used, resetAt) vrací 0, když uplynulo okno pro resetování; formatResetCountdown(resetAt) vrací lidsky čitelný řetězec odpočítávání (např. "2h 35m"). Oba exportované z providers.ts + localDb.ts pro spotřebu řídicího panelu. -T14 Rychlé selhání serveru proxy: nový soubor src/lib/proxyHealth.ts s isProxyReachable(proxyUrl, timeoutMs=2000) (kontrola TCP, časový limit ≤2s místo 30s), getCachedProxyHealth(), invalidní a Health getAllProxyHealthStatuses(). Výsledky jsou standardně uloženy do mezipaměti 30s; konfigurovatelné pomocí PROXY_FAST_FAIL_TIMEOUT_MS / PROXY_HEALTH_CACHE_TTL_MS.### 🧪 Tests

  • Testovací sada:832 testů, 0 selhání---

[3.0.0-rc.6] - 2026-03-23

🔧 Bug Fixes & Improvements (sub2api Gap Analysis — T01T15)

-T01— sloupec requested_model v call_logs (migrace 009): sledujte, který model klient původně požadoval v porovnání se skutečným směrovaným modelem. Povolí analýzu záložní frekvence. -T02— Odstranění prázdných textových bloků z vnořených tool_result.content: zabraňuje chybám Anthropic 400 (bloky textového obsahu musí být neprázdné), když Claude Code řetězí výsledky nástroje. -T03— Analyzujte hlavičky x-codex-5h-* / x-codex-7d-*: parseCodexQuotaHeaders() + getCodexResetTime() extrahují okna kvót Codexu pro přesné naplánování ochlazování namísto obecné 5minutové zálohy. -T04— Záhlaví X-Session-Id pro externí pevné směrování: extractExternalSessionId() v sessionManager.ts čte záhlaví x-session-id / x-omniroute-session s předponou ext:, aby se zabránilo kolizi s interním ID relace SHA-256. Kompatibilní s Nginx (hlavička s pomlčkou). -T06— Účet deaktivován → trvalé zablokování: isAccountDeactivated() v accountFallback.ts detekuje 401 deaktivačních signálů a použije jednoroční cooldown, aby se zabránilo opakování trvale mrtvých účtů. -T07— X-Forwarded-For IP validace: nový src/lib/ipUtils.ts s extractClientIp() a getClientIpFromRequest() — přeskakuje unknown/non-IP záznamy v řetězcích X-Forwarded-For (žádosti Nginx/proxy-forwarded). -T10— Vyčerpání kreditů → zřetelná rezerva: isCreditsExhausted() v accountFallback.ts vrací 1h cooldown s příznakem creditsExhausted, odlišným od obecného omezení sazby 429. -T11— „maximální“ úsilí o uvažování → 131072 tokenů rozpočtu: „EFFORT_BUDGETS“ a „THINKING_LEVEL_MAP“ aktualizovány; zpětné mapování nyní vrací "max" pro odpovědi s plným rozpočtem. Test jednotky aktualizován. -T12— Do cenové tabulky přidány položky MiniMax M2.7: „minimax-m2.7“, „MiniMax-M2.7“, „minimax-m2.7-highspeed“ (sub2api PR #1120). Ceny M2.5/GLM-4.7/GLM-5/Kimi již existovaly. -T15— Normalizace obsahu pole: Pomocník normalizeContentToString() v openai-to-claude.ts správně sbalí zprávy systému/nástroje ve formátu pole do řetězce před odesláním do Anthropic.### 🧪 Tests

  • Testovací sada:832 testů, 0 selhání(beze změny oproti rc.5)---

[3.0.0-rc.5] - 2026-03-22

New Features

-#464— API pro zřizování registrovaných klíčů: automatické vydávání klíčů API s vynucováním kvót pro jednotlivé poskytovatele a účty

  • POST /api/v1/registered-keys — vydat klíče s podporou idempotence
  • GET /api/v1/registered-keys — seznam (maskovaných) registrovaných klíčů
  • GET /api/v1/registered-keys/{id} — získat metadata klíče
  • DELETE /api/v1/registered-keys/{id} / POST ../{id}/revoke — zrušit klíče
  • GET /api/v1/quotas/check — před vydáním ověřte
  • PUT /api/v1/providers/{id}/limits — nastavte limity pro vydávání poskytovatelů
  • PUT /api/v1/accounts/{id}/limits — nastavte limity pro vydání účtu
  • POST /api/v1/issues/report volitelné hlášení problémů GitHub
  • Migrace DB 008: tabulky registered_keys, provider_key_limits, account_key_limits---

[3.0.0-rc.4] - 2026-03-22

New Features

-#530 (PR)— Přidání poskytovatelů OpenCode Zen a OpenCode Go (od @kang-heewon)

  • Nový OpencodeExecutor s víceformátovým směrováním (/chat/completions, /messages, /responses)
  • 7 modelů na obou úrovních---

[3.0.0-rc.3] - 2026-03-22

New Features

-#529— Ikony poskytovatelů nyní používají @lobehub/icons s elegantním záložním PNG a komponentou „ProviderIcon“ (podporováno více než 130 poskytovatelů) -#488— Automaticky aktualizovat seznamy modelů každých 24 hodin pomocí modelSyncScheduler (konfigurovatelné pomocí MODEL_SYNC_INTERVAL_HOURS)### 🔧 Bug Fixes

-#537— Gemini CLI OAuth: nyní zobrazuje jasnou žalovatelnou chybu, když chybí GEMINI_OAUTH_CLIENT_SECRET v nasazeních Docker/self-hosted---

[3.0.0-rc.2] - 2026-03-22

🔧 Bug Fixes

-#536— Ověření klíče AI LongCat: opraveno baseUrl (api.longcat.chat/openai) a authHeader (Oprávnění: nositel) -#535— Přepsání připnutého modelu: body.model je nyní nastaven na pinnedModel, když ochrana kontextové mezipaměti detekuje připnutý model -#524— Konfigurace OpenCode je nyní uložena správně: přidán obslužný program saveOpenCodeConfig() (s vědomím XDG_CONFIG_HOME, píše TOML)---

[3.0.0-rc.1] - 2026-03-22

🔧 Bug Fixes

-#521— Přihlášení se po přeskočení nastavení hesla již nezasekává (přesměruje na přihlášení) -#522— Správce API: Odstraněno zavádějící tlačítko „Kopírovat maskovaný klíč“ (nahrazeno popiskem ikony zámku) -#527— Cyklus superschopností Claude Code + Codex: bloky tool_result jsou nyní převedeny na text namísto vynechání -#532— Ověření klíče API OpenCode GO nyní používá správný koncový bod zen/v1 (testKeyBaseUrl) #489— Antigravitace: chybí googleProjectId vrací strukturovanou chybu 422 s pokyny pro opětovné připojení -#510— Windows: Cesty MSYS2/Git-Bash (/c/Program Files/...) jsou nyní normalizovány na C:\Program Files\... -#492omniroute CLI nyní detekuje mise/nvm, když chybí app/server.js a zobrazuje cílenou opravu### Dokumentace

-#513— Resetování hesla dockeru: INITIAL_PASSWORD řešení env var zdokumentováno -#520— pnpm: zdokumentováno pnpm schválit-builds better-sqlite3### Closed Issues

#489, #492, #510, #513, #520, #521, #522, #525, #527, #532---

[2.9.5] — 2026-03-22

Sprint: Noví poskytovatelé OpenCode, oprava pověření pro vkládání, chyba maskovaného klíče CLI, oprava CACHE_TAG_PATTERN.### 🐛 Bug Fixes

-Nástroje CLI ukládají maskovaný klíč API do konfiguračních souborů— POST cesty claude-settings, cline-settings a openclaw-settings nyní přijímají parametr keyId a řeší skutečný klíč API z DB před zápisem na disk. ClaudeToolCard aktualizováno tak, aby místo maskovaného zobrazovaného řetězce odesílalo keyId. Opravy #523, #526. -Vlastní poskytovatelé vkládání: Chyba Žádná pověření/v1/embeddings nyní sleduje credentialsProviderId odděleně od směrovací předpony, takže pověření jsou načítána z odpovídajícího ID uzlu poskytovatele, nikoli z veřejného řetězce předpony. Opravuje regresi, kdy google/gemini-embedding-001 a podobné modely vlastních poskytovatelů vždy selžou s chybou pověření. Opravy související s #532. (PR #528 od @jacob2826) -Regulační výraz ochrany kontextové mezipaměti chybí prefixCACHE_TAG_PATTERN v comboAgentMiddleware.ts aktualizován tak, aby odpovídal oběma doslovným (obrácené lomítko-n) a skutečný nový řádek U+000A, který streamování combo.ts vloží kolem značky <omniModel> po opravě #515. Opravy #531.### New Providers

-OpenCode Zen Bezplatná brána na opencode.ai/zen/v1 se 3 modely: minimax-m2.5-free, big-pickle, gpt-5-nano -OpenCode Go Předplatitelská služba na opencode.ai/zen/go/v1 se 4 modely: glm-5, kimi-k2.5, minimax-m2.7 (formát Claude), minimax-m2.5 (formát Claude)

  • Oba poskytovatelé používají nový OpencodeExecutor, který dynamicky směruje do /chat/completions, /messages, /responses nebo /models/{model}:generateContent na základě požadovaného modelu. (PR #530 od @kang-heewon)---

[2.9.4] — 2026-03-21

Sprint: Opravy chyb zachovat klíč mezipaměti výzvy Codex, opravit escapování tagContent JSON, synchronizovat stav tokenu, jehož platnost vypršela, do DB.### 🐛 Bug Fixes

-fix(translator): Zachovat prompt_cache_key v Responses API → překlad dokončení chatu (#517) — Pole je signál afinity mezipaměti používaný Codexem; jeho odstranění bránilo rychlým zásahům do mezipaměti. Opraveno v openai-responses.ts a responsesApiHelper.ts.

-fix(combo): Escape v tagContent, takže vložený řetězec JSON je platný (#515) — Doslovné nové řádky šablony (U+000A) nejsou povoleny bez kódování uvnitř hodnot řetězce JSON. Nahrazeno \n doslovnými sekvencemi v open-sse/services/combo.ts.

-fix(usage): Synchronizace stavu tokenu s vypršením platnosti zpět do DB při selhání živého ověření (#491) — Když živá kontrola Limits & Quotas vrátí 401/403, spojení testStatus je nyní aktualizováno v databázi „vypršela“, takže stránka Poskytovatelé odráží stejný degradovaný stav. Opraveno v src/app/api/usage/[connectionId]/route.ts.---

[2.9.3] — 2026-03-21

Sprint: Přidejte 5 nových bezplatných poskytovatelů AI — LongCat, Pollinations, Cloudflare AI, Scaleway, AI/ML API.### New Providers

-feat(poskytovatelé/longcat): Přidejte LongCat AI (lc/) 50 milionů tokenů/den zdarma (Flash-Lite) + 500 000/den (Chat/Thinking) během veřejné beta verze. Standardní Bearer auth kompatibilní s OpenAI. -feat(providers/pollinations): Add Pollinations AI (pol/) není potřeba žádný klíč API. Proxy GPT-5, Claude, Gemini, DeepSeek V3, Llama 4 (1 req/15s zdarma). Vlastní exekutor zpracovává volitelné ověření. -feat(providers/cloudflare-ai): Přidejte Cloudflare Workers AI (cf/) 10 000 neuronů/den zdarma (~150 LLM odpovědí nebo 500s Whisper audio). Více než 50 modelů na světové špičce. Vlastní exekutor vytvoří dynamickou adresu URL s accountId z přihlašovacích údajů. -feat(poskytovatelé/scaleway): Přidejte generativní API Scaleway (scw/) 1 milion tokenů zdarma pro nové účty. V souladu s EU/GDPR (Paříž). Qwen3 235B, Lama 3.1 70B, Mistral Small 3.2. -feat(poskytovatelé/aimlapi): Přidejte AI/ML API (aiml/) kredit 0,025 $/den zdarma, více než 200 modelů (GPT-4o, Claude, Gemini, Llama) prostřednictvím jednoho koncového bodu agregátoru.### 🔄 Provider Updates

-feat(providers/together): Přidejte hasFree: true + 3 trvale bezplatná ID modelu: Llama-3.3-70B-Instruct-Turbo-Free, Llama-Vision-Free, DeepSeek-R1-Distill-Llama-70B-Free -feat(providers/gemini): Přidejte hasFree: true + freeNote (1 500 req/den, není potřeba kreditní karta, aistudio.google.com) -chore(poskytovatelé/gemini): Pro přehlednost přejmenujte zobrazovaný název na „Gemini (Google AI Studio)“### ⚙️ Infrastructure

-feat(executors/pollinations): Nový PollinationsExecutor — vynechává hlavičku Authorization, když není poskytnut žádný klíč API -feat(executors/cloudflare-ai): Nový CloudflareAIExecutor dynamická konstrukce URL vyžaduje accountId v přihlašovacích údajích poskytovatele -feat(executors): Zaregistrujte mapování exekutorů pollinations, pol, cloudflare-ai, cf### Dokumentace

-docs(readme): Rozšířený bezplatný combo stack na 11 poskytovatelů (0 $ navždy) -docs(readme): Přidány 4 nové bezplatné sekce poskytovatelů (LongCat, Pollinations, Cloudflare AI, Scaleway) s tabulkami modelů -docs(readme): Aktualizovaná tabulka cen se 4 novými řádky bezplatných úrovní -docs(i18n/pt-BR): Aktualizovaná tabulka cen + přidány sekce LongCat/Pollinations/Cloudflare AI/Scaleway v portugalštině -docs(new-features/ai): 10 souborů se specifikací úloh + hlavní plán implementace v docs/new-features/ai/### 🧪 Tests

  • Testovací sada:821 testů, 0 selhání(beze změny)---

[2.9.2] — 2026-03-21

Sprint: Opravte přepis médií (Deepgram/HuggingFace Content-Type, detekce jazyka) a zobrazení chyb TTS.### 🐛 Bug Fixes

-fix(transscription): Zvukový přepis Deepgram a HuggingFace nyní správně mapuje video/mp4audio/mp4 a další typy MIME médií prostřednictvím nového pomocníka resolveAudioContentType(). Dříve nahrávání souborů .mp4 konzistentně vracelo „Nebyla zjištěna žádná řeč“, protože Deepgram přijímal Content-Type: video/mp4. -fix(transscription): Přidáno detect_language=true do požadavků Deepgramu automaticky detekuje jazyk zvuku (portugalštinu, španělštinu atd.) namísto výchozí angličtiny. Opravuje neanglické přepisy vracející prázdné nebo nesmyslné výsledky. -fix(transscription): Přidáno punctuate=true do požadavků Deepgramu na kvalitnější výstup přepisu se správnou interpunkcí. -fix(tts): Chybové zobrazení [objekt objektu] v odpovědích převodu textu na řeč opraveno v audioSpeech.ts a audioTranscription.ts. Funkce upstreamErrorResponse() nyní správně extrahuje zprávy vnořených řetězců od poskytovatelů, jako je ElevenLabs, které vracejí { error: { message: "...", status_code: 401 } } namísto plochého chybového řetězce.### 🧪 Tests

  • Testovací sada:821 testů, 0 selhání(beze změny)### Triaged Issues

-#508— Regrese formátu volání nástroje: požadované protokoly proxy a informace o řetězci poskytovatelů (needs-info) -#510— Cesta ke kontrole stavu Windows CLI: požadované informace o verzi shellu/uzlu (needs-info) -#485— Volání nástroje Kiro MCP: uzavřeno z důvodu externího problému Kiro (nikoli OmniRoute) -#442— Koncový bod Baseten /models: uzavřen (zdokumentované ruční řešení) -#464— Klíčové rozhraní API: potvrzeno jako položka plánu---

[2.9.1] — 2026-03-21

Sprint: Opravte ztrátu dat SSE omniModel, slučte kompatibilitu modelu podle protokolu.### Bug Fixes

-#511— Kritické: Značka <omniModel> byla odeslána po finish_reason:stop v tocích SSE, což způsobilo ztrátu dat. Značka je nyní vložena do prvního neprázdného bloku obsahu, což zaručuje doručení dříve, než sady SDK uzavře připojení.### Merged PRs

-PR #512(@zhangqiang8vip): Kompatibilita modelu podle protokolu — normalizeToolCallId a preserveOpenAIDeveloperRole lze nyní konfigurovat na klientský protokol (OpenAI, Claude, Responses API). Nové pole compatByProtocol v konfiguraci modelu s ověřením Zod.### Triaged Issues

-#510— Windows CLI healthcheck_failed: požadovaná informace PATH/verze -#509— Regrese Turbopack Electron: chyba Next.js upstream, zdokumentovaná řešení -#508— černá obrazovka macOS: navrhované řešení --disable-gpu---

[2.9.0] — 2026-03-20

Sprint: Oprava Id mezi platformami, limity rychlosti na klíč API, mezipaměť kontextu streamování, Alibaba DashScope, analytika vyhledávání, ZWS v5 a 8 problémů uzavřeno.### New Features

-feat(search): Karta Search Analytics v /dashboard/analytics rozdělení poskytovatelů, míra zásahů do mezipaměti, sledování nákladů. Nové API: GET /api/v1/search/analytics (#feat/search-provider-routing) -feat(provider): Alibaba Cloud DashScope přidán s vlastní validací cesty ke koncovému bodu konfigurovatelné chatPath a modelsPath na uzel (#feat/custom-endpoint-paths) -feat(api): Limity počtu požadavků na klíč API sloupce max_requests_per_day a max_requests_per_minute s vynucením posuvného okna v paměti, které vrací HTTP 429 (#452) -feat(dev): ZWS v5 — oprava úniku HMR (485 DB připojení → 1), paměť 2,4 GB → 195 MB, singletony globalThis, oprava upozornění Edge Runtime (@zhangqiang8vip)### 🐛 Bug Fixes

-fix(#506): Multiplatformní machineIdgetMachineIdRaw() přepsaný s vodopádem try/catch (Windows REG.exe → macOS ioreg → čtení souboru Linux → název hostitele → os.hostname()). Eliminuje větvení process.platform, které Bundler Next.js eliminuje mrtvý kód, oprava 'hlava' není rozpoznána ve Windows. Také opravy #466. -fix(#493): Vlastní pojmenování modelu poskytovatele odstraněno nesprávné odstranění předpon v DefaultExecutor.transformRequest(), které poškodilo ID modelů v rozsahu org, jako je zai-org/GLM-5-FP8. -fix(#490): Streaming + ochrana kontextové mezipaměti — TransformStream zachytí SSE a vloží značku <omniModel> před značku [DONE], čímž povolí ochranu kontextové mezipaměti pro odpovědi streamování. -fix(#458): Ověření kombinovaného schématu — pole system_message, tool_filter_regex, context_cache_protection nyní procházejí ověřením Zod při uložení. -fix(#487): Vyčištění karty KIRO MITM odstraněno ZWS_README, vygenerovaná karta AntigravityToolCard pro použití dynamických metadat nástroje.### 🧪 Tests

  • Přidány testy filtračních jednotek nástrojů v antropickém formátu (PR #397) 8 regresních testů pro tool.name bez obalu .function
  • Testovací sada:821 testů, 0 selhání(nárůst z 813)### 📋 Issues Closed (8)

-#506— Windows machineId head nebyl rozpoznán (opraveno) -#493— Pojmenování modelu vlastního poskytovatele (opraveno) -#490— Streamovací kontextová mezipaměť (opraveno) #452— Limity požadavků na klíč API (implementováno) -#466— Chyba přihlášení do systému Windows (stejná hlavní příčina jako #506) -#504— MITM neaktivní (očekávané chování) -#462— Gemini CLI PSA (vyřešeno) -#434— Selhání aplikace Electron (duplikát #402)## [2.8.9] — 2026-03-20

Sprint: Sloučení komunitních PR, oprava karty KIRO MITM, aktualizace závislostí.### Merged PRs

-PR #498(@Sajid11194): Oprava selhání ID počítače se systémem Windows (undefined\REG.exe). Nahrazuje node-machine-id nativními dotazy na registr OS.Zavírá #486. -PR #497(@zhangqiang8vip): Oprava úniků prostředků HMR v režimu dev — 485 uniklých připojení DB → 1, paměť 2,4 GB → 195 MB. Singletons globalThis, oprava upozornění Edge Runtime, stabilita testu Windows. (+1168/-338 přes 22 souborů) -PR #499-503(Dependabot): Aktualizace akcí GitHub — docker/build-push-action@7, actions/checkout@6, peter-evans/dockerhub-description@5, docker/setup-qemu-action@4, -a.### Bug Fixes

-#505— Karta KIRO MITM nyní zobrazuje pokyny specifické pro nástroj (api.anthropic.com) namísto textu specifického pro antigravitaci. -#504— Odpověď s vysvětlením uživatelského rozhraní (MITM "Neaktivní" je očekávané chování, když proxy neběží).---

[2.8.8] — 2026-03-20

Sprint: Opravte selhání dávkového testu OAuth, přidejte tlačítko „Testovat vše“ na stránky jednotlivých poskytovatelů.### Bug Fixes

-Zhroucení dávkového testu OAuth(ERR_CONNECTION_REFUSED): Nahrazeno sekvenční for-loop limitem 5 souběžných připojení + 30 s na jedno připojení časový limit prostřednictvím Promise.race() + Promise.allSettled(). Zabraňuje selhání serveru při testování velkých skupin poskytovatelů OAuth (~30+ připojení).### Funkce

-Tlačítko "Otestovat vše" na stránkách poskytovatelů: Stránky jednotlivých poskytovatelů (např. /providers/codex) nyní zobrazují v záhlaví Připojení tlačítko "Testovat vše", pokud existují 2 a více připojení. Používá POST /api/providers/test-batch s {mode: "provider", providerId}. Výsledky zobrazené modálně se shrnutím vyhovění/neúspěchu a diagnostikou pro jednotlivá připojení.---

[2.8.7] — 2026-03-20

Sprint: Sloučit PR č. 495 (propad 429 úzkých míst), oprava č. 496 (poskytovatelé vlastního vkládání), funkce třídění.### Bug Fixes

-Nekonečné čekání 429 na úzké místo(PR #495 od @xandr0s): Na 429 limiter.stop({ dropWaitingJobs: true }) okamžitě selže všechny požadavky ve frontě, takže volající proti proudu mohou spustit nouzový režim. Limiter je odstraněn z mapy, takže další požadavek vytvoří novou instanci. -Vlastní modely vkládání nelze vyřešit(#496): POST /v1/embeddings nyní řeší vlastní modely vkládání ze VŠECH uzlů poskytovatele (nejen localhost). Umožňuje modely jako google/gemini-embedding-001 přidané prostřednictvím řídicího panelu.### Issues Responded

-#452— Limity počtu požadavků na klíč API (potvrzeno, v plánu) -#464— Automatické vydávání klíčů API s limity poskytovatele/účtu (vyžaduje více podrobností) -#488— Automaticky aktualizovat seznamy modelů (potvrzeno, na plánu) -#496— Vlastní rozlišení poskytovatele vkládání (pevné)---

[2.8.6] — 2026-03-20

Sprint: Sloučit PR #494 (oprava role MiniMax), opravit řídicí panel KIRO MITM, vyřešit 8 problémů.### Funkce

-MiniMax vývojář→oprava systémové role(PR #494 od @zhangqiang8vip): Přepínání preserveDeveloperRole podle modelu. Přidá uživatelské rozhraní „Kompatibilita“ na stránku poskytovatelů. Opravena chyba 422 „role param error“ pro MiniMax a podobné brány. -roleNormalizer: normalizeDeveloperRole() nyní přijímá parametr preserveDeveloperRole s třístavovým chováním (undefined=ponechat, true=zachovat, false=převést). -DB: Nové getModelPreserveOpenAIDeveloperRole() a mergeModelCompatOverride() v models.ts.### Bug Fixes

-KIRO MITM dashboard(#481/#487): CLIToolsPageClient nyní směruje jakýkoli nástroj configType: "mitm" do AntigravityToolCard (ovládací prvky MITM Start/Stop). Dříve byla napevno zakódována pouze Antigravitace. -AntigravityToolCard generic: Místo pevně zakódovaných hodnot Antigravity používá tool.image, tool.description, tool.id. Chrání před chybějícími „výchozími modely“.### Cleanup

  • Odstraněn ZWS_README_V2.md (dokumenty pouze pro vývoj z PR #494).### Issues Triaged (8)

-#487— Uzavřeno (KIRO MITM opraveno v této verzi) -#486— informace o potřebách (problém Windows REG.exe PATH) -#489— informace o potřebách (chybí ID antigravitačního projektu, je nutné opětovné připojení OAuth) -#492— informace o potřebách (chybějící app/server.js na chybně spravovaném uzlu) -#490— Potvrzeno (streamování + blokování kontextové mezipaměti, plánována oprava) -#491— Potvrzeno (nekonzistence stavu ověření kódu) -#493— Potvrzeno (předpona názvu modelu modálního poskytovatele, náhradní řešení poskytnuto) -#488— Nevyřízené požadavky na funkce (automatická aktualizace seznamů modelů)---

[2.8.5] — 2026-03-19

Sprint: Opravte zombie SSE streamy, kontextovou mezipaměť prvního kola, KIRO MITM a externí problémy s tříděním 5.### Bug Fixes

-Zombie SSE Streams(#473): Zkraťte STREAM_IDLE_TIMEOUT_MS z 300 s → 120 s pro rychlejší návrat komba, když se poskytovatelé zastaví uprostřed proudu. Konfigurovatelné přes env var. -Context Cache Tag(#474): Oprava injectModelTag() pro zpracování požadavků prvního kola (žádné zprávy asistenta) — ochrana kontextové mezipaměti nyní funguje od první odpovědi. -KIRO MITM(#481): Změňte KIRO configType z guidemitm tak, aby ovládací panel vykresloval MITM Start/Stop ovládací prvky. -E2E Test(CI): Oprava providers-bailian-coding-plan.spec.ts — před kliknutím na tlačítko Přidat klíč API zrušte již existující modální překrytí.### Closed Issues

  • #473 — Zombie SSE streamy obcházejí kombo záložní verzi
  • #474 — Kontextová mezipaměť <omniModel> chybí v prvním kole
  • #481 — MITM pro KIRO nelze aktivovat z palubní desky
  • #468 — vzdálený server Gemini CLI (nahrazen #462 zavržením)
  • #438 — Claude nemůže zapisovat soubory (externí problém s CLI)
  • #439 — AppImage nefunguje (dokumentované řešení libfuse2)
  • #402 — ARM64 DMG "poškozeno" (dokumentované řešení xattr -cr)
  • #460 — CLI nelze spustit ve Windows (dokumentovaná oprava PATH)---

[2.8.4] — 2026-03-19

Sprint: Ukončení podpory rozhraní Gemini CLI, oprava VM guide i18n, oprava zabezpečení Dependabot, rozšíření schématu poskytovatele.### Funkce

Ukončení podpory rozhraní Gemini CLI(#462): Označte poskytovatele „gemini-cli“ jako zastaralého s upozorněním Google omezuje používání OAuth třetích stran od března 2026 -Schéma poskytovatele(#462): Rozšiřte ověření Zod o volitelná pole deprecated, deprecationReason, hasFree, freeNote, authHint, apiHint### Bug Fixes

-VM Guide i18n(#471): Přidejte VM_DEPLOYMENT_GUIDE.md do kanálu překladu i18n, vygenerujte všech 30 překladů národního prostředí z anglického zdroje (zasekly se v portugalštině)### Bezpečnost

-deps: Bump flatted 3.3.3 → 3.4.2 — opravuje znečištění prototypu CWE-1321 (#484, @dependabot)### Closed Issues

#472 — Regrese modelových aliasů (opraveno ve verzi 2.8.2)

  • #471 — Překlady příručky VM jsou nefunkční

  • #483 — Koncová „data: null“ po „[DONE]“ (opraveno ve verzi 2.8.3)### Merged PRs

  • #484 — deps: náraz zploštělý z 3.3.3 na 3.4.2 (@dependabot)---

[2.8.3] — 2026-03-19

Sprint: český i18n, oprava protokolu SSE, překlad průvodce VM.### Funkce

-Český jazyk(#482): Plně čeština (cs) i18n — 22 dokumentů, 2606 řetězců uživatelského rozhraní, aktualizace přepínače jazyků (@zen0bit) -VM Deployment Guide: Přeloženo z portugalštiny do angličtiny jako zdrojový dokument (@zen0bit)### Bug Fixes

-SSE Protocol(#483): Zastavení odesílání koncových data: null po signálu [DONE] — oprava AI_TypeValidationError v přísných klientech AI SDK (validátory založené na Zod)### Merged PRs

  • #482 — Přidat češtinu + opravit VM_DEPLOYMENT_GUIDE.md zdroj v angličtině (@zen0bit)---

[2.8.2] — 2026-03-19

Sprint: 2 sloučené PR, oprava směrování aliasů modelů, export protokolu a třídění problémů.### Funkce

-Export protokolu: Nové tlačítko Export na /dashboard/logs s rozevíracím seznamem časového rozsahu (1h, 6h, 12h, 24h). Stáhne JSON protokolů request/proxy/call přes /api/logs/export API (#user-request)### Bug Fixes

-Směrování aliasů modelů(#472): Nastavení → Aliasy modelů nyní správně ovlivňují směrování poskytovatele, nejen detekci formátu. Dříve byl výstup resolveModelAlias() používán pouze pro getModelTargetFormat(), ale původní ID modelu bylo odesláno poskytovateli -Použití vyprázdnění streamu(#480): Údaje o využití z poslední události SSE ve vyrovnávací paměti jsou nyní správně extrahovány během vyprázdnění streamu (sloučeno z @prakersh)### Merged PRs

  • #480 — Extrahujte využití ze zbývající vyrovnávací paměti ve flush handleru (@prakersh)
  • #479 — Přidejte chybějící cenové položky Codex 5.3/5.4 a Anthropic model ID (@prakersh)---

[2.8.1] — 2026-03-19

Sprint: Pět komunitních PR opravy protokolu streamování hovorů, kompatibilita Kiro, analýza tokenů mezipaměti, čínský překlad a konfigurovatelná ID volání nástrojů.### Funkce

-feat(logs): Obsah odpovědí protokolu hovorů se nyní správně shromažďuje z nezpracovaných bloků poskytovatelů (OpenAI/Claude/Gemini) před překladem, čímž se opravuje prázdné užitečné zatížení odpovědí v režimu streamování (#470, @zhangqiang8vip) -feat(providers): 9znaková normalizace volání ID nástroje konfigurovatelná pro každý model (styl Mistral) pouze modely s povolenou možností získají zkrácená ID (#470) -feat(api): Key PATCH API rozšířené o podporu polí allowedConnections, name, autoResolve, isActive a accessSchedule (#470) -feat(dashboard): Rozložení jako první v uživatelském rozhraní protokolu požadavků (#470) -feat(i18n): Vylepšený překlad čínštiny (zh-CN) — kompletní retranslace (#475, @only4copilot)### 🐛 Bug Fixes

-fix(kiro): Odstraňte vložené pole model z těla požadavku Kiro API odmítá neznámá pole nejvyšší úrovně (#478, @prakersh) -fix(usage): Zahrnout čtení mezipaměti + tokeny vytvoření mezipaměti do součtů vstupu historie použití pro přesné analýzy (#477, @prakersh) -fix(callLogs): Podpora polí použití formátu Claude (input_tokens/output_tokens) vedle formátu OpenAI, zahrnuje všechny varianty tokenů mezipaměti (#476, @prakersh)---

[2.8.0] — 2026-03-19

Sprint: Poskytovatel Bailian Coding Plan s upravitelnými základními URL a příspěvky komunity pro Alibaba Cloud a Kimi Coding.### Funkce

-feat(providers): Přidán plán Bailian Coding Plan (bailian-coding-plan) — Alibaba Model Studio s rozhraním API kompatibilním s Anthropic. Statický katalog 8 modelů včetně Qwen3.5 Plus, Qwen3 Coder, MiniMax M2.5, GLM 5 a Kimi K2.5. Zahrnuje vlastní ověření ověření (400=platný, 401/403=neplatný) (#467, @Mind-Dragon) -feat(admin): Upravitelná výchozí adresa URL v postupech vytváření/úpravy správce poskytovatele uživatelé mohou nakonfigurovat vlastní základní adresy URL pro každé připojení. Přetrvává v „providerSpecificData.baseUrl“ s ověřením schématu Zod, které odmítá schémata bez http(s) (#467)### 🧪 Tests

  • Přidáno více než 30 testů jednotek a 2 scénáře e2e pro poskytovatele Bailian Coding Plan, které zahrnují ověření ověření, zpevnění schématu, chování na úrovni trasy a integraci mezi vrstvami---

[2.7.10] — 2026-03-19

Sprint: Dva noví poskytovatelé přispívali komunitou (Alibaba Cloud Coding, Kimi Coding API-key) a oprava Docker pino.### Funkce

-feat(providers): Přidána podpora Alibaba Cloud Coding Plan se dvěma koncovými body kompatibilními s OpenAI alicode (Čína) a alicode-intl (International), každý s 8 modely (#465, @dtk1985) -feat(providers): Přidána vyhrazená cesta poskytovatele kimi-coding-apikey přístup ke kódování Kimi založený na klíči API již není vynucený cestou kimi-coding pouze s protokolem OAuth. Zahrnuje registr, konstanty, API modelů, konfiguraci a ověřovací test (#463, @Mind-Dragon)### 🐛 Bug Fixes

-fix(docker): Do obrázku Dockeru přidána chybějící závislost split2pino-abstract-transport ji vyžaduje za běhu, ale nebyla zkopírována do samostatného kontejneru, což způsobovalo pád Nelze najít modul 'split2' (#459)---

[2.7.9] — 2026-03-18

Sprint: Nativně podporován průchod dílčích cest odpovědí Codex, opraven pád Windows MITM a upravena schémata agentů Combos.### Funkce

-feat(codex): Nativní průchod podcestou odpovědí pro Codex nativně směruje POST /v1/responses/compact do Codexu upstream, přičemž zachovává kompatibilitu Claude Code bez odstranění přípony /compact (#457)### 🐛 Bug Fixes

-fix(combos): Schémata Zod (updateComboSchema a createComboSchema) nyní zahrnují system_message, tool_filter_regex a context_cache_protection. Opravuje chybu, kdy byla nastavení specifická pro agenty vytvořená prostřednictvím řídicího panelu tiše zahozena ověřovací vrstvou backendu (#458) -fix(mitm): Zhroucení profilu Kiro MITM ve Windows opraveno — node-machine-id se nezdařilo kvůli chybějícímu env REG.exe a nouzový návrat vyvolal závažnou chybu crypto is notdefined. Záložní nyní bezpečně a správně importuje kryptoměnu (#456)---

[2.7.8] — 2026-03-18

Sprint: Chyba při úspoře rozpočtu + funkce uživatelského rozhraní kombinovaného agenta + oprava zabezpečení značky omniModel.### 🐛 Bug Fixes

-fix(budget): „Save Limits“ již nevrací 422 „warningThreshold“ je nyní správně odeslán jako zlomek (01) namísto procenta (0100) (#451) -fix(combos): Značka interní mezipaměti <omniModel> je nyní odstraněna před předáním požadavků poskytovatelům, což zabraňuje přerušení relací mezipaměti (#454)### Funkce

-feat(combos): Sekce Funkce agenta přidána do kombinovaného modu vytváření/úprav odhalte přepsání system_message, tool_filter_regex a context_cache_protection přímo z řídicího panelu (#454)---

[2.7.7] — 2026-03-18

Sprint: Docker pino havárie, pracovní oprava odpovědí Codex CLI, synchronizace uzamčení balíčku.### 🐛 Bug Fixes

-fix(docker): pino-abstract-transport a pino-pretty nyní explicitně zkopírovány ve fázi Docker runner Samostatné trasování Next.js postrádá tato peer deps, což způsobuje selhání Nelze najít modul pino-abstract-transport při spuštění (#449) -fix(responses): Odstraňte initTranlators() z cesty /v1/responses havaroval pracovník Next.js s pracovník odešel uncaughtException u požadavků Codex CLI (#450)### 🔧 Maintenance

-chore(deps): package-lock.json se nyní zadává při každém nárazu verze, aby bylo zajištěno, že Docker npm ci používá přesné verze závislostí---

[2.7.5] — 2026-03-18

Sprint: Vylepšení UX a oprava Windows CLI healthcheck.### 🐛 Bug Fixes

-fix(ux): Zobrazit nápovědu k výchozímu heslu na přihlašovací stránce noví uživatelé nyní vidí "Výchozí heslo: 123456" pod zadáním hesla (#437) -fix(cli): Claude CLI a další nástroje nainstalované npm jsou nyní správně detekovány jako spustitelné ve Windows spawn používá shell:true k vyřešení .cmd wrapperů přes PATHEXT (#447)---

[2.7.4] — 2026-03-18

Sprint: řídicí panel vyhledávacích nástrojů, opravy i18n, limity Copilota, oprava ověření Serper.### Funkce

-feat(search): Přidání vyhledávacího hřiště (10. koncový bod), stránka vyhledávacích nástrojů s porovnáním poskytovatelů/přehodnocení kanálu/historie vyhledávání, místní přehodnocení směrování, auth guards na vyhledávacím rozhraní API (#443 od @Regis-RCR)

  • Nová trasa: /dashboard/search-tools
  • Záznam na postranním panelu v části Debug
  • GET /api/search/providers a GET /api/search/stats s ochranou autorizace
  • Směrování uzlů místního poskytovatele pro /v1/rerank
  • 30+ i18n klíčů ve jmenném prostoru hledání### 🐛 Bug Fixes

-fix(search): Oprava normalizéru Brave news (vracel 0 výsledků), vynucení zkrácení max_results po normalizaci, oprava adresy URL pro načtení stránky koncových bodů (#443 od @Regis-RCR) -fix(analytics): Lokalizovat štítky dne/datu analýzy nahraďte pevně zakódované portugalské řetězce výrazem „Intl.DateTimeFormat(locale)“ (#444 od @hijak) -fix(copilot): Správné zobrazení typu účtu GitHub Copilot, filtrování zavádějících řádků s neomezenými kvótami z ovládacího panelu limitů (#445 od @hijak) -fix(providers): Zastavit odmítání platných klíčů Serper API odpovědi jiné než 4xx považujte za platné ověření (#446 od @hijak)---

[2.7.3] — 2026-03-18

Sprint: Oprava záložní kvóty přímého API Codex.### 🐛 Bug Fixes

-fix(codex): Blokování týdenně vyčerpaných účtů v přímém záložním rozhraní API (#440)

  • resolveQuotaWindow() shoda prefixů: "weekly" nyní odpovídá klíčům mezipaměti "weekly (7d)"
  • applyCodexWindowPolicy() vynucuje useWeekly/use5h přepíná správně
  • 4 nové regresní testy (celkem 766)---

[2.7.2] — 2026-03-18

Sprint: Opraven kontrast uživatelského rozhraní v režimu Light.### 🐛 Bug Fixes

-fix(logs): Oprava kontrastu světelného režimu v tlačítkách filtru protokolů požadavků a kombinovaném odznaku (#378)

  • Tlačítka Error/Success/Combo filter nyní čitelná ve světlém režimu
  • Odznak kombinované řady používá ve světlém režimu silnější fialovou---

[2.7.1] — 2026-03-17

Sprint: Jednotné směrování webového vyhledávání (POST /v1/search) s 5 poskytovateli + bezpečnostní opravy Next.js 16.1.7 (6 CVE).### New Features

-feat(search): Jednotné směrování webového vyhledávání — POST /v1/search s 5 poskytovateli (Serper, Brave, Perplexity, Exa, Tavily)

  • Auto-failover napříč poskytovateli, 6 500+ bezplatných vyhledávání za měsíc
  • Mezipaměť v paměti se slučováním požadavků (konfigurovatelné TTL) Dashboard: karta Search Analytics v /dashboard/analytics s rozpisem poskytovatelů, mírou přístupu do mezipaměti, sledováním nákladů
  • Nové API: GET /api/v1/search/analytics pro statistiky požadavků na vyhledávání
  • Migrace DB: sloupec request_type v call_logs pro sledování požadavků mimo chat
  • Ověření Zod (v1SearchSchema), ověřené, náklady zaznamenané pomocí recordCost()### Bezpečnost

-deps: Next.js 16.1.6 → 16.1.7 opravuje 6 CVE: -Kritické: CVE-2026-29057 (pašování požadavku HTTP přes http-proxy) -Vysoká: CVE-2026-27977, CVE-2026-27978 (WebSocket + akce serveru) -Střední: CVE-2026-27979, CVE-2026-27980, CVE-2026-jcc7### 📁 New Files

Soubor Účel
open-sse/handlers/search.ts Obslužný program vyhledávání se směrováním 5 poskytovatelů
open-sse/config/searchRegistry.ts Registr poskytovatelů (autorizace, cena, kvóta, TTL)
open-sse/services/searchCache.ts Mezipaměť v paměti se slučováním požadavků
src/app/api/v1/search/route.ts Cesta Next.js (POST + GET)
src/app/api/v1/search/analytics/route.ts Statistiky vyhledávání API
src/app/(dashboard)/dashboard/analytics/SearchAnalyticsTab.tsx Karta hlavního panelu Analytics
src/lib/db/migrations/007_search_request_type.sql Migrace DB
tests/unit/search-registry.test.mjs 277 řádků jednotkových testů ---

[2.7.0] — 2026-03-17

Sprint: Funkce inspirované ClawRouterem příznak toolCalling, vícejazyčná detekce záměru, záložní řešení řízené benchmarkem, deduplikace požadavků, zásuvná strategie směrovače, ceny Grok-4 Fast + GLM-5 + MiniMax M2.5 + Kimi K2.5.### New Models & Pricing

-feat(pricing): xAI Grok-4 Fast 0,20 $/0,50 $ za 1 milion tokenů, latence 1143 ms p50, podporováno volání nástroje výkon (cena): xAI Grok-4 (standardní) „0,20 /1,50 za 1 milion tokenů“, vlajková loď -feat(pricing): GLM-5 přes Z.AI — $0.5/1M, 128K výstupní kontext -feat(pricing): MiniMax M2.5 0,30 $/1 milion vstup, uvažování + agentní úkoly -feat(pricing): DeepSeek V3.2 aktualizovaná cena 0,27 $/1,10 $ za 1M -feat(pricing): Kimi K2.5 přes Moonshot API přímý přístup Moonshot API -feat(providers): Přidán poskytovatel Z.AI (alias zai) — rodina GLM-5 s výstupem 128K### 🧠 Routing Intelligence

-feat(registry): příznak toolCalling pro každý model v registru poskytovatelů kombinace nyní mohou preferovat/vyžadovat modely s možností volání nástrojů -feat(scoring): Vícejazyčná detekce záměru pro skórování AutoCombo — PT/ZH/ES/AR skripty/jazykové vzory ovlivňují výběr modelu podle kontextu požadavku -feat(fallback): Záložní řetězce řízené benchmarkem údaje o skutečné latenci (p50 z comboMetrics) používané k dynamickému přeřazení nouzových priorit -feat(dedup): Požadavek na deduplikaci přes content-hash 5sekundové okno idempotency zabraňuje duplicitním voláním poskytovatele v opakování klientů -feat(router): Připojitelné rozhraní RouterStrategy v autoCombo/routerStrategy.ts — vlastní logiku směrování lze vložit bez úpravy jádra### 🔧 MCP Server Improvements

-feat(mcp): 2 nová schémata pokročilých nástrojů: omniroute_get_provider_metrics (p50/p95/p99 na poskytovatele) a omniroute_explain_route (vysvětlení rozhodnutí o směrování) feat(mcp): Aktualizovány rozsahy ověřování nástroje MCP pro nástroje metrik poskytovatelů přidán rozsah metrics:read -feat(mcp): omniroute_best_combo_for_task nyní přijímá parametr languageHint pro vícejazyčné směrování### 📊 Observability

-feat(metrics): comboMetrics.ts rozšířené o sledování percentilu latence v reálném čase na poskytovatele/účet -feat(health): Health API (/api/monitoring/health) nyní vrací pole p50Latency a errorRate podle poskytovatele -feat(usage): Migrace historie využití pro sledování latence podle modelu### 🗄️ DB Migrations

-feat(migrations): Nový sloupec latency_p50 v tabulce combo_metrics nepřekonatelný, bezpečný pro stávající uživatele### 🐛 Bug Fixes / Closures

-zavřít(#411): lepší rozlišení hašovaného modulu sqlite3 v systému Windows opraveno ve verzi 2.6.10 (f02c5b5) -zavřít(#409): Dokončení chatu GitHub Copilot u modelů Claude selhává, když jsou připojeny soubory opraveno ve verzi 2.6.9 (838f1d6) -zavřít(#405): Duplikát #411 vyřešeno## [2.6.10] — 2026-03-17

Oprava systému Windows: předpřipravené stahování better-sqlite3 bez node-gyp/Python/MSVC (#426).### 🐛 Bug Fixes

-fix(install/#426): Ve Windows selhalo npm install -g omniroute s better_sqlite3.node není platná aplikace Win32, protože přibalený nativní binární soubor byl zkompilován pro Linux. PřidáváStrategii 1.5do scripts/postinstall.mjs: používá @mapbox/node-pre-gyp install --fallback-to-build=false (sbalený v rámci better-sqlite3) ke stažení správné předkompilované binárky pro aktuální OS/arch bez nutnosti jakýchkoliv nástrojů pro sestavení (node-node-gyp). Vrátí se zpět k npm rebuild pouze v případě, že stahování selže. Přidává chybové zprávy specifické pro platformu s jasnými pokyny k ruční opravě.---

[2.6.9] — 2026-03-17

Opravy CI (t11 any-budget), oprava chyby #409 (přílohy souborů přes Copilot+Claude), oprava pracovního postupu.### 🐛 Bug Fixes

-fix(ci): Odstraňte slovo „any“ z komentářů v openai-responses.ts a chatCore.ts, které neprošly kontrolou t11 jakékoli rozpočtu (falešně pozitivní z komentářů počítajících regulární výrazy) -fix(chatCore): Normalizujte nepodporované typy částí obsahu před předáním poskytovatelům (#409 — Kurzor odešle {type:"file"}, když jsou připojeny soubory .md; Copilot a další poskytovatelé kompatibilní s OpenAI odmítají s "type musí být buď 'image_url' nebo 'text 'text'"; oprava u`` text převede na neznámý soubor``; typy)### 🔧 Workflow

-chore(generate-release): Přidejte ATOMIC COMMIT RULE změna verze (npm version patch) MUSÍ nastat před odevzdáním souborů funkcí, aby bylo zajištěno, že značka vždy ukazuje na odevzdání obsahující všechny změny verzí společně---

[2.6.8] — 2026-03-17

Sprint: Combo jako agent (systémová výzva + filtr nástrojů), ochrana kontextové mezipaměti, automatická aktualizace, podrobné protokoly, MITM Kiro IDE.### 🗄️ DB Migrations (zero-breaking — safe for existing users)

-005_combo_agent_fields.sql: ALTER TABLE komba ADD COLUMN system_message TEXT DEFAULT NULL, tool_filter_regex TEXT DEFAULT NULL, context_cache_protection INTEGER DEFAULT 0 -006_detailed_request_logs.sql: Nová tabulka request_detail_logs se spouštěčem pro 500 záznamů kruhové vyrovnávací paměti, přihlášení pomocí přepínače nastavení### Funkce

-feat(combo): Přepsání systémové zprávy na kombinaci (#399 — pole system_message nahradí nebo vloží systémovou výzvu před předáním poskytovateli) -feat(combo): Nástrojový filtr Regex na kombinaci (#399 — tool_filter_regex uchovává pouze nástroje odpovídající vzoru; podporuje OpenAI + Antropické formáty) -feat(combo): Context Caching Protection (#401 — context_cache_protection označuje odpovědi pomocí <omniModel>poskytovatele/modelu</omniModel> a připíná model pro kontinuitu relace) -feat(settings): Automatická aktualizace přes Nastavení (#320 — GET /api/system/version + POST /api/system/update — kontroluje registr npm a aktualizace na pozadí s restartem pm2) -feat(logs): Podrobné protokoly požadavků (#378 zachycuje celá těla kanálu ve 4 fázích: požadavek klienta, přeložený požadavek, odpověď poskytovatele, odpověď klienta přepínač opt-in, 64KB úprava, 500 záznamů ring-buffer) -feat(mitm): Profil MITM Kiro IDE (#336 — src/mitm/targets/kiro.ts cílí na api.anthropic.com, znovu používá stávající infrastrukturu MITM)---

[2.6.7] — 2026-03-17

Sprint: Vylepšení SSE, rozšíření lokálních provider_nodes, proxy registr, opravy Claude passthrough.### Funkce

-feat(health): Kontrola stavu na pozadí pro místní provider_nodes s exponenciálním stažením (30s→300s) a Promise.allSettled, aby se zabránilo blokování (#423, @Regis-RCR) -feat(embeddings): Směrujte /v1/embeddings do místního provider_nodesbuildDynamicEmbeddingProvider() s ověřením názvu hostitele (#422, @Regis-RCR) -feat(audio): Směrujte TTS/STT do místního provider_nodesbuildDynamicAudioProvider() s ochranou SSRF (#416, @Regis-RCR) -feat(proxy): Registr proxy, rozhraní API pro správu a zobecnění limitu kvót (#429, @Regis-RCR)### 🐛 Bug Fixes

-fix(sse): Odstraňte pole specifická pro Clauda (metadata, antropická_verze), když je cílem OpenAI-compat (#421, @prakersh) -fix(sse): Extrahujte využití Clauda SSE (input_tokens, output_tokens, cache tokeny) v režimu passthrough stream (#420, @prakersh) -fix(sse): Vygenerujte záložní call_id pro volání nástrojů s chybějícími/prázdnými ID (#419, @prakersh) -fix(sse): Průchod Claude-to-Claude — přední tělo zcela nedotčené, bez opětovného překladu (#418, @prakersh) -fix(sse): Filtrujte osiřelé položky tool_result po komprimaci kontextu Claude Code, abyste se vyhnuli 400 chybám (#417, @prakersh) -fix(sse): Přeskočte volání nástroje s prázdným názvem v překladači Responses API, abyste zabránili nekonečným smyčkám placeholder_tool (#415, @prakersh) -fix(sse): Odstraňte prázdné bloky obsahu textu před překladem (#427, @prakersh) -fix(api): Přidejte refreshable: true do testovací konfigurace Claude OAuth (#428, @prakersh)### 📦 Dependencies

Bump vitest, @vitest/* a související závislosti devDependencies (#414, @dependabot)---

[2.6.6] — 2026-03-17

Hotfix: Kompatibilita Turbopack/Docker — odeberte protokol node: ze všech importů src/.### 🐛 Bug Fixes

-fix(build): Odstraněna předpona protokolu node: z příkazů import v 17 souborech pod src/. Importy node:fs, node:path, node:url, node:os atd. způsobily ,,Soubor Ecmascript měl chybuu sestavení Turbopack (Next.js 15 Docker) au upgradů ze starších globálních instalací npm. Dotčené soubory:migrationRunner.ts, core.ts, backup.ts, prompts.ts, dataPaths.tsa 12 dalších vsrc/app/api/asrc/lib/. -**chore(workflow)**: Aktualizováno generate-release.md`, aby synchronizace Docker Hub a nasazení duálního VPS bylypovinnékroky v každém vydání.---

[2.6.5] — 2026-03-17

Sprint: filtrování parametrů modelu uvažování, oprava místního poskytovatele 404, poskytovatel brány Kilo, nárůsty závislostí.### New Features

-feat(api): PřidánKilo Gateway(api.kilo.ai) jako nový poskytovatel klíče API (také znám jako kg) — 335+ modelů, 6 bezplatných modelů, 3 modely s automatickým směrováním (kilo-auto/frontier, kilo-auto/balanced, kilo-auto/free). Modely průchodu podporované prostřednictvím koncového bodu /api/gateway/models. (PR #408 od @Regis-RCR)### 🐛 Bug Fixes

-fix(sse): Odstraňte nepodporované parametry pro modely uvažování (o1, o1-mini, o1-pro, o3, o3-mini). Modely v rodině o1/o3 odmítají temperature, top_p, frequency_penalty, presence_penalty, logprobs, top_logprobs a n s HTTP 400. Parametry jsou nyní odstraněny na vrstvě chatCore před předáváním. Pro vyhledání používá deklarativní pole unsupportedParams na model a předem vypočítanou mapu O(1). (PR #412 od @Regis-RCR) -fix(sse): Místní poskytovatel 404 nyní vede k**uzamknutí pouze pro model (5 sekund)**namísto uzamčení na úrovni připojení (2 minuty). Když místní inferenční backend (Ollama, LM Studio, oMLX) vrátí 404 pro neznámý model, připojení zůstane aktivní a ostatní modely okamžitě pokračují v práci. Také opravuje již existující chybu, kdy model nebyl předán markAccountUnavailable(). Místní poskytovatelé zjištěni pomocí názvu hostitele (localhost, 127.0.0.1, ::1, rozšiřitelné prostřednictvím env var LOCAL_HOSTNAMES). (PR #410 od @Regis-RCR)### 📦 Dependencies

  • better-sqlite3 12.6.2 → 12.8.0
  • undici 7.24.2 → 7.24.4
  • "https-proxy-agent" 7 → 8
  • "agent-base" 7 → 8---

[2.6.4] — 2026-03-17

🐛 Bug Fixes

-fix(providers): Odstraněny neexistující názvy modelů u 5 poskytovatelů: -gemini / gemini-cli: odstraněny gemini-3.1-pro/flash a gemini-3-*-preview (neexistují v Google API v1beta); nahrazeno gemini-2.5-pro, gemini-2.5-flash, gemini-2.0-flash, gemini-1.5-pro/flash -antigravitace: odstraněny gemini-3.1-pro-high/low a gemini-3-flash (neplatné interní aliasy); nahrazeny skutečnými modely 2.x -github (Copilot): odstraněny gemini-3-flash-preview a gemini-3-pro-preview; nahrazeno gemini-2.5-flash -nvidia: opraveno nvidia/llama-3.3-70b-instructmeta/llama-3.3-70b-instruct (NVIDIA NIM používá jmenný prostor meta/ pro modely Meta); přidány nvidia/llama-3.1-70b-instruct a nvidia/llama-3.1-405b-instruct -fix(db/combo): Aktualizováno free-stack combo na vzdálené DB: odstraněn qw/qwen3-coder-plus (vypršel obnovovací token), opraven nvidia/llama-3.3-70b-instructnvidia/meta/llama-3.3-70b-instruct →mini-instruct, opraveno mini-instruct. gemini/gemini-2.5-flash, přidáno if/deepseek-v3.2---

[2.6.3] — 2026-03-16

Sprint: zod/pino hash-strip zapečen do sestavovacího potrubí, přidán poskytovatel syntetiky, opravena cesta VPS PM2.### 🐛 Bug Fixes

-fix(build): Hash-strip Turbopacku nyní běží vdobě kompilacepro VŠECHNY balíčky nejen pro better-sqlite3. Krok 5.6 v prepublish.mjs prochází každý .js v app/.next/server/ a odstraňuje 16znakovou hexadecimální příponu z jakékoli hašované require(). Opravy zod-dcb22c..., pino-... atd. MODULE_NOT_FOUND na globálních instalacích npm. Zavírá #398 -fix(deploy): PM2 na obou VPS ukazovalo na zastaralé adresáře git-clone. Překonfigurováno na app/server.js v globálním balíčku npm. Byl aktualizován pracovní postup /deploy-vps, aby používal npm pack + scp (registr npm odmítá balíčky o velikosti 299 MB).### Funkce

-feat(provider): Syntetické (syntetické.nové) odvození kompatibilní s OpenAI zaměřené na soukromí. passthroughModels: true pro dynamický katalog modelů HuggingFace. Počáteční modely: Kimi K2.5, MiniMax M2.5, GLM 4.7, DeepSeek V3.2. (PR #404 od @Regis-RCR)### 📋 Issues Closed

-zavřít #398: regrese hash npm opraveno hash-strip v době kompilace v předběžném publikování -triage #324: Snímek obrazovky chyby bez kroků požadované detaily reprodukce---

[2.6.2] — 2026-03-16

Sprint: plně opraveno hašování modulů, sloučeny 2 PR (filtr Anthropic tools + vlastní cesty koncových bodů), přidán poskytovatel Alibaba Cloud DashScope, 3 zastaralé problémy uzavřeny.### 🐛 Bug Fixes

-fix(build): Rozšířený hash-strip externals webového balíčku, aby pokryl VŠECHNY serverExternalPackages, nejen better-sqlite3. Next.js 16 Turbopack hashuje zod, pino a každý další balíček externího serveru do názvů jako zod-dcb22c6336e0bc69, které v node_modules za běhu neexistují. Všeobecný regex HASH_PATTERN nyní odstraní 16znakovou příponu a vrátí se zpět k základnímu názvu balíčku. Také přidáno NEXT_PRIVATE_BUILD_WORKER=0 do prepublish.mjs pro posílení režimu webpacku a navíc skenování po sestavení, které hlásí všechny zbývající hashované odkazy. (#396, #398, PR #403) -fix(chat): Názvy nástrojů v antropickém formátu (tool.name bez obalu .function) byly tiše vynechány filtrem prázdných jmen zavedeným v #346. LiteLLM zastupuje požadavky s předponou anthropic/ ve formátu API pro Anthropic Messages, což způsobí, že všechny nástroje budou filtrovány a Anthropic vrátí 400: tool_choice.any lze zadat pouze při poskytování nástrojů. Opraveno návratem k tool.name, když tool.function.name chybí. Přidáno 8 testů regresních jednotek. (PR #397)### Funkce

-feat(api): Vlastní cesty koncových bodů pro uzly poskytovatelů kompatibilní s OpenAI nakonfigurujte chatPath a modelsPath pro každý uzel (např. /v4/chat/completions) v uživatelském rozhraní připojení poskytovatele. Zahrnuje migraci DB (003_provider_node_custom_paths.sql) a dezinfekci cesty URL (bez procházení .., musí začínat /). (PR #400) -feat(provider): Alibaba Cloud DashScope přidán jako poskytovatel kompatibilní s OpenAI. Mezinárodní koncový bod: dashscope-intl.aliyuncs.com/compatible-mode/v1. 12 modelů: qwen-max, qwen-plus, qwen-turbo, qwen3-coder-plus/flash, qwq-plus, qwq-32b, qwen3-32b, qwen3-235b-a22b. Auth: Klíč API nosiče.### 📋 Issues Closed

-zavřít #323: Chyba připojení Cline [object Object] opravena ve verzi 2.3.7; dal uživateli pokyn k upgradu z verze 2.2.9 -zavřít #337: Sledování kreditu Kiro implementováno ve verzi 2.5.5 (#381); namířil uživatele na Dashboard → Použití -triage #402: ARM64 macOS DMG poškozené požadovaná verze macOS, přesná chyba a doporučené řešení xattr -d com.apple.quarantine---

[2.6.1] — 2026-03-15

Kritická oprava spuštění: Globální instalace npm v2.6.0 se zhroutily s chybou 500 kvůli chybě hashování názvu modulu Turbopack/webpack v nástrojovém háku Next.js 16.### 🐛 Bug Fixes

-fix(build): Vynutí, aby bylo better-sqlite3 vždy vyžadováno přesným názvem balíčku v balíku serveru webpack. Next.js 16 zkompiloval instrumentační hák do samostatného bloku a vyslal require('better-sqlite3-<hash>') — název hashovaného modulu, který v node_modules neexistuje — i když byl balíček uveden v serverExternalPackages. Do konfigurace webpacku serveru byla přidána explicitní funkce externals, takže bundler vždy vydává require('better-sqlite3'), čímž se vyřeší spouštění 500 Internal Server Error při čistých globálních instalacích. (#394, PR #395)### 🔧 CI

-ci: Přidáno workflow_dispatch do npm-publish.yml se zabezpečením synchronizace verzí pro ruční spouštění (#392) -ci: Přidán workflow_dispatch do docker-publish.yml, aktualizovány akce GitHub na nejnovější verze (#392)---

[2.6.0] - 2026-03-15

Sprint řešení problému: Opraveny 4 chyby, vylepšeno uživatelské rozhraní protokolů, přidáno sledování kreditu Kiro.### 🐛 Bug Fixes

-fix(media): ComfyUI a SD WebUI se již nezobrazují v seznamu poskytovatelů stránky Media, pokud nejsou nakonfigurovány načte /api/providers při připojení a skryje místní poskytovatele bez připojení (#390) -fix(auth): Round-robin již znovu nevybírá účty s omezenou sazbou ihned po cooldownu — backoffLevel se nyní používá jako primární klíč řazení v rotaci LRU (#340) -fix(oauth): Qoder (a další poskytovatelé, kteří přesměrovávají na své vlastní uživatelské rozhraní) již nenechají modal OAuth zaseknutý na „Čekání na autorizaci“ automatický přechod detektoru se zavřeným vyskakovacím oknem do režimu ručního zadávání adresy URL (#344) -fix(logs): Tabulka protokolu požadavků je nyní čitelná ve světlém režimu stavové odznaky, počty tokenů a kombinované značky používají adaptivní třídy barev „tmavé:“ (#378)### Funkce

-feat(kiro): Do nástroje pro získávání využití bylo přidáno sledování kreditu Kiro dotazy „getUserCredits“ z koncového bodu AWS CodeWhisperer (#337)### 🛠 Chores

-chore(tests): Zarovnané test:plan3, test:fixes, test:security pro použití stejného zavaděče tsx/esm jako npm test — eliminuje falešné zápory rozlišení modulu v cílených sériích (PR #386)---

[2.5.9] - 2026-03-15

Oprava nativního průchodu Codex + zpevnění validace těla trasy.### 🐛 Bug Fixes

-fix(codex): Zachování nativního průchodu rozhraní Responses API pro klienty Codexu zabraňuje zbytečným překladovým mutacím (PR #387) -fix(api): Ověření těl požadavků na trasách cen/synchronizace a směrování úkolů zabraňuje selháním způsobeným nesprávně tvarovanými vstupy (PR #388) -fix(auth): Tajemství JWT přetrvávají i po restartování prostřednictvím src/lib/db/secrets.ts — eliminuje chyby 401 po restartu pm2 (PR #388)---

[2.5.8] - 2026-03-15

Oprava sestavení: obnovte konektivitu VPS přerušenou nedokončeným publikováním v2.5.7.### 🐛 Bug Fixes

-fix(build): scripts/prepublish.mjs stále používá zastaralý příznak --webpack, což způsobuje, že samostatné sestavení Next.js tiše selže publikování npm bylo dokončeno bez app/server.js, což narušuje nasazení VPS---

[2.5.7] - 2026-03-15

Opravy zpracování chyb mediálního hřiště.### 🐛 Bug Fixes

fix(media): Přepis „Je vyžadován klíč API“ falešně pozitivní, když zvuk neobsahuje žádnou řeč (hudba, ticho) nyní se místo toho zobrazuje „Nebyla zjištěna žádná řeč“ -fix(media): upstreamErrorResponse v audioTranscription.ts a audioSpeech.ts nyní vrací správný JSON ({error:{message}}), což umožňuje správnou detekci chyby pověření 401/403 v MediaPageClient -fix(media): parseApiError nyní zpracovává pole err_msg Deepgramu a detekuje v chybových zprávách "klíč api" pro přesnou klasifikaci chyb pověření---

[2.5.6] - 2026-03-15

Kritické opravy zabezpečení/autorizace: Antigravity OAuth nefunkční + relace JWT ztracené po restartu.### 🐛 Bug Fixes

-fix(oauth) #384: Antigravitační Google OAuth nyní správně odesílá client_secret do koncového bodu tokenu. Záložní hodnotou pro ANTIGRAVITY_OAUTH_CLIENT_SECRET byl prázdný řetězec, což je nepravdivé — takže client_secret nebyl nikdy zahrnut do požadavku, což způsobilo chyby "client_secret is missing" pro všechny uživatele bez vlastní var. Zavírá #383. -fix(auth) #385: JWT_SECRET je nyní zachováno v SQLite (namespace='secrets') při první generaci a znovu načteno při dalších spuštěních. Dříve se při každém spuštění procesu generoval nový náhodný tajný klíč, který po restartu nebo upgradu zrušil platnost všech existujících souborů cookie/relací. Ovlivňuje JWT_SECRET i API_KEY_SECRET. Zavírá #382.---

[2.5.5] - 2026-03-15

Oprava odstranění duplicitního seznamu modelů, zpevnění samostatného sestavení Electron a sledování kreditu Kiro.### 🐛 Bug Fixes

-fix(models) #380: GET /api/models nyní zahrnuje aliasy poskytovatelů při sestavování filtru aktivního poskytovatele modely pro claude (jinak cc) a github (jinak gh) byly vždy zobrazeny bez ohledu na to, zda bylo připojení nakonfigurováno, protože klíče PROVIDER_MODELses poskytovatele jsou uloženy pod aliasy poskytovatelů. Opraveno rozšířením každého aktivního ID poskytovatele tak, aby zahrnovalo také jeho alias prostřednictvím „PROVIDER_ID_TO_ALIAS“. Zavírá #353. -fix(electron) #379: Nový scripts/prepare-electron-standalone.mjs uvádí vyhrazený balíček /.next/electron-standalone před balením Electron. Přeruší se s jasnou chybou, pokud je node_modules symbolický odkaz (elektron-builder by dodal runtime závislost na sestavení stroje). Čištění cest napříč platformami prostřednictvím path.basename. Autor: @kfiramar.### New Features

-feat(kiro) #381: Sledování zůstatku kreditu Kiro koncový bod využití nyní vrací kreditní data pro účty Kiro voláním codewhisperer.us-east-1.amazonaws.com/getUserCredits (stejný koncový bod, který Kiro IDE používá interně). Vrátí zbývající kredity, celkovou povolenku, datum obnovení a úroveň předplatného. Zavírá #337.## [2.5.4] - 2026-03-15

Oprava spouštění loggeru, oprava zabezpečení bootstrap přihlášení a zlepšení spolehlivosti HMR pro vývojáře. Infrastruktura CI posílila.### 🐛 Bug Fixes (PRs #374, #375, #376 by @kfiramar)

-fix(logger) #376: Obnovení cesty protokolu transportu pino — formatters.level v kombinaci s transport.targets pino zamítne. Konfigurace podporované transportem nyní odstraňují formátovač úrovně pomocí getTransportCompatibleConfig(). Také opravuje numerické mapování úrovní v /api/logs/console: 30→info, 40→warn, 50→error (bylo posunuto o jednu). -fix(login) #375: Přihlašovací stránka se nyní zavádí z veřejného koncového bodu /api/settings/require-login namísto chráněného /api/settings. V nastaveních chráněných heslem stránka předběžného ověření dostávala 401 a zbytečně se vracela k bezpečným výchozím hodnotám. Veřejná cesta nyní vrací všechna metadata bootstrapu (requireLogin, hasPassword, setupComplete) s konzervativní 200 záložní chybou. -fix(dev) #374: Přidejte localhost a 127.0.0.1 do allowedDevOrigins v next.config.mjs — HMR websocket byl zablokován při přístupu k aplikaci přes adresu zpětné smyčky, což způsobovalo opakovaná upozornění na křížový původ.### 🔧 CI & Infrastructure

-ESLint OOM oprava: eslint.config.mjs nyní ignoruje vscode-extension/**, electron/**, docs/**, app/.next/** a clipr/** ESLint havaroval s hromadou JS OOM skenováním blochbs Code a zkompilovaným bloss.bin -Oprava testu jednotky: Odebráno zastaralé ALTER TABLE provider_connections ADD COLUMN "skupina" ze 2 testovacích souborů — sloupec je nyní součástí základního schématu (přidáno v #373), což způsobuje SQLITE_ERROR: duplicitní název sloupce při každém spuštění CI. -Pre-commit hook: Přidáno npm run test:unit do .husky/pre-commit — testy jednotek nyní blokují nefunkční commity, než dosáhnou CI.## [2.5.3] - 2026-03-14

Kritické opravy chyb: migrace schématu DB, načítání spouštěcího prostředí, vymazání chybového stavu poskytovatele a oprava popisku i18n. Zlepšení kvality kódu nad každým PR.### 🐛 Bug Fixes (PRs #369, #371, #372, #373 by @kfiramar)

-fix(db) #373: Přidání sloupce provider_connections.group do základního schématu + migrace záložních záložek pro existující databáze sloupec byl použit ve všech dotazech, ale chybí v definici schématu -fix(i18n) #371: Nahraďte neexistující klíč t("deleteConnection") existujícím klíčem providers.delete — opravuje chybu běhu MISSING_MESSAGE: providers.deleteConnection na stránce s podrobnostmi o poskytovateli -fix(auth) #372: Vymažte zastaralá metadata chyb (errorCode, lastErrorType, lastErrorSource) z účtů poskytovatelů po skutečném obnovení dříve se obnovené účty stále jevily jako neúspěšné -fix(startup) #369: Sjednoťte načítání env napříč npm run start, run-standalone.mjs a Electron tak, aby respektovala prioritu DATA_DIR/.env → ~/.omniroute/.env → ./.env zabraňuje generování nové existující databáze `STORAGE_ENCRYPTION overcrypted### 🔧 Code Quality

  • Zdokumentované vzory result.success vs response?.ok v auth.ts (oba záměrné, nyní vysvětleno)
  • Normalizováno overridePath?.trim() v electron/main.js, aby odpovídalo bootstrap-env.mjs
  • Přidán komentář k objednávce sloučení preferredEnv při spuštění Electronu

Zásady kvót účtu Codex s automatickým střídáním, rychlým přepínáním vrstev, modelem gpt-5.4 a opravou analytického štítku.### New Features (PRs #366, #367, #368)

-Zásady kvóty Codex (PR #366): Okno kvóty 5 hodin/týden na účet přepíná na panelu poskytovatele. Účty jsou automaticky přeskočeny, když povolená okna dosáhnou 90% prahu a znovu přijaty po resetAt. Zahrnuje quotaCache.ts s bez vedlejších účinků získávání stavu. -Codex Fast Tier Toggle (PR #367): Dashboard → Settings → Codex Service Tier. Ve výchozím nastavení vypnutý přepínač vkládá service_tier: "flex" pouze pro požadavky Codex, což snižuje náklady ~ 80%. Úplný zásobník: karta uživatelského rozhraní + koncový bod API + exekutor + překladač + obnovení po spuštění. -model gpt-5.4 (PR #368): Přidá cx/gpt-5.4 a codex/gpt-5.4 do registru modelů Codex. Včetně regresního testu.### 🐛 Bug Fixes

-oprava #356: Grafy Analytics (nejlepší poskytovatel, podle účtu, rozdělení poskytovatelů) nyní u poskytovatelů kompatibilních s OpenAI namísto nezpracovaných interních ID zobrazují pro člověka čitelné názvy/štítky poskytovatelů.

Hlavní vydání: strategie striktně náhodného směrování, řízení přístupu pomocí klíče API, skupiny připojení, externí synchronizace cen a opravy kritických chyb pro modely myšlení, kombinované testování a ověřování názvů nástrojů.### New Features (PRs #363 & #365)

-Strategie přísného náhodného směrování: Fisher-Yates shuffle deck se zárukou proti opakování a serializací mutex pro souběžné požadavky. Nezávislé balíčky na kombo a na poskytovatele. -Ovládání přístupu ke klíči API: allowedConnections (omezení, která připojení může klíč používat), is_active (povolení/zakázání klíče s 403), accessSchedule (řízení přístupu na základě času), přepínání autoResolve, přejmenování klíčů pomocí PATCH. -Skupiny připojení: Seskupte připojení poskytovatelů podle prostředí. Zobrazení akordeonu na stránce Limits s persistencí localStorage a inteligentním automatickým přepínáním. -Externí synchronizace cen (LiteLLM): 3úrovňové rozlišení cen (přepisy uživatelem → synchronizováno → výchozí). Přihlaste se pomocí PRICING_SYNC_ENABLED=true. Nástroj MCP omniroute_sync_pricing. 23 nových testů. -i18n: 30 jazyků aktualizovaných s přísnou náhodnou strategií, řetězci pro správu klíčů API. pt-BR plně přeloženo.### 🐛 Bug Fixes

-oprava #355: Časový limit nečinnosti streamu zvýšen z 60 s na 300 s — zabraňuje přerušení modelů dlouhého myšlení (claude-opus-4-6, o3 atd.) během dlouhých fází uvažování. Konfigurovatelné prostřednictvím STREAM_IDLE_TIMEOUT_MS. -oprava #350: Kombinovaný test nyní obchází REQUIRE_API_KEY=true pomocí interní hlavičky a používá univerzálně formát kompatibilní s OpenAI. Timeout prodloužen z 15s na 20s. -oprava #346: Nástroje s prázdným function.name (zaslané Claude Code) jsou nyní filtrovány dříve, než je obdrží poskytovatelé upstream, čímž se zabrání chybám "Neplatný vstup[N].name: prázdný řetězec".### 🗑️ Closed Issues

-#341: Odstraněna sekce ladění nahrazení je /dashboard/logs a /dashboard/health.

Podpora API Key Round-Robin pro nastavení poskytovatelů s více klíči a potvrzení směrování zástupných znaků a rolování okna kvót již na místě.### New Features

-API Key Round-Robin (T07): Připojení poskytovatelů nyní může obsahovat více klíčů API (Upravit připojení → Další klíče API). Požadavky se neustále střídají mezi primárními a extra klíči pomocí providerSpecificData.extraApiKeys[]. Klíče jsou uchovávány v paměti indexované pro každé připojení nejsou nutné žádné změny schématu databáze.### 📝 Already Implemented (confirmed in audit)

-Wildcard Model Routing (T13): wildcardRouter.ts s odpovídajícím zástupným znakem ve stylu glob (gpt*, claude-?-sonnet atd.) je již integrován do model.ts s hodnocením specifičnosti. -Quota Window Rolling (T08): accountFallback.ts:isModelLocked() již automaticky posouvá okno dopředu — pokud Date.now() > entry.until, zámek je okamžitě odstraněn (žádné zastaralé blokování).

Vylepšení uživatelského rozhraní, doplnění strategie směrování a elegantní zpracování chyb pro omezení použití.### New Features

-Fill-First & P2C Routing Strategies: Přidány fill-first (vyčerpat kvótu před pokračováním) a p2c (výběr Power-of-Two-Choices s nízkou latencí) do kombinovaného výběru strategie s úplnými naváděcími panely a barevně odlišenými odznaky. -Přednastavené modely bezplatného zásobníku: Vytvoření kombinace pomocí šablony bezplatného zásobníku nyní automaticky vyplní 7 nejlepších modelů bezplatných poskytovatelů ve své třídě (Gemini CLI, Kiro, Qoder×2, Qwen, NVIDIA NIM, Groq). Uživatelé pouze aktivují poskytovatele a dostanou hned po vybalení 0 $ měsíčně. -Širší Combo Modal: Kombinovaný modal Create/Edit nyní používá max-w-4xl pro pohodlnou editaci velkých komb.### 🐛 Bug Fixes

-Stránka limitů HTTP 500 pro Codex a GitHub: getCodexUsage() a getGitHubUsage() nyní vracejí uživatelsky přívětivou zprávu, když poskytovatel vrátí 401/403 (prošlý token), namísto vyvolání a způsobení chyby 500 na stránce Limits. -MaintenanceBanner false-positive: Banner již při načítání stránky falešně nezobrazuje „Server je nedostupný“. Opraveno voláním checkHealth() ihned po připojení a odstraněním zastaralého uzavření show-state. -Popisky ikon poskytovatele: Tlačítka ikon pro úpravy (tužka) a smazání v řádku připojení poskytovatele nyní obsahují nativní popisky HTML všech 6 ikon akcí je nyní samo zdokumentováno.

Několik vylepšení od analýzy problémů komunity, podpora nových poskytovatelů, opravy chyb pro sledování tokenů, směrování modelů a spolehlivost streamování.### New Features

-Task-Aware Smart Routing (T05): Automatický výběr modelu na základě typu obsahu požadavku — kódování → deepseek-chat, analýza → gemini-2.5-pro, vize → gpt-4o, sumarizace → gemini-2.5-flash. Konfigurovatelné přes Nastavení. Nové API GET/PUT/POST /api/settings/task-routing. -HuggingFace Provider: Přidán HuggingFace Router jako poskytovatel kompatibilní s OpenAI s Llama 3.1 70B/8B, Qwen 2.5 72B, Mistral 7B, Phi-3.5 Mini. -Vertex AI Provider: Přidán poskytovatel Vertex AI (Google Cloud) s Gemini 2.5 Pro/Flash, Gemma 2 27B, Claude přes Vertex. -Nahrání souborů na hřišti: Nahrání zvuku pro přepis, nahrání obrázků pro modely vidění (automatická detekce podle názvu modelu), vykreslení obrázků v textu pro výsledky generování obrázků. -Vizuální zpětná vazba pro výběr modelu: Již přidané modely v kombinovaném výběru nyní zobrazují ✓ zelený odznak zabraňuje duplicitní záměně. -Kompatibilita Qwen (PR #352): Aktualizováno nastavení otisku prstu User-Agent a CLI pro kompatibilitu poskytovatele Qwen. -Round-Robin State Management (PR #349): Vylepšená kruhová logika pro zpracování vyloučených účtů a správné udržování stavu rotace. -Clipboard UX (PR #360): Posílené operace se schránkou s nouzovou funkcí pro nezabezpečené kontexty; Vylepšení normalizace nástroje Claude.### 🐛 Bug Fixes

-Oprava #302 — OpenAI SDK stream=False drop tool_calls: T01 Přijmout vyjednávání záhlaví již nevynucuje streamování, když je body.stream explicitně false. Způsobovalo tiché zrušení tool_calls při použití OpenAI Python SDK v režimu bez streamování. -Oprava #73 — Claude Haiku směrován na OpenAI bez prefixu poskytovatele: Modely claude-* odeslané bez prefixu poskytovatele nyní správně směrují k poskytovateli antigravity (Anthropic). Přidána také heuristika gemini-*/gemma-*gemini. -Oprava #74 — Token počítá vždy 0 pro Antigravity/Claude streaming: Událost message_start SSE, která nese input_tokens nebyla analyzována pomocí extractUsage(), což způsobilo pokles všech vstupních tokenů. Sledování vstupních/výstupních tokenů nyní funguje správně pro odezvy streamování. -Oprava #180 — Duplikáty importu modelu bez zpětné vazby: ModelSelectModal nyní zobrazuje ✓ zelené zvýraznění modelů, které již jsou v kombinaci, takže je zřejmé, že jsou již přidány. -Chyby generování mediální stránky: Výsledky obrázků se nyní vykreslují jako značky <img> namísto nezpracovaných JSON. Výsledky přepisu se zobrazí jako čitelný text. Chyby pověření zobrazují místo tichého selhání oranžový banner. -Tlačítko pro obnovení tokenu na stránce poskytovatele: Pro poskytovatele OAuth bylo přidáno uživatelské rozhraní pro ruční obnovení tokenu.### 🔧 Improvements

-Provider Registry: HuggingFace a Vertex AI přidány do providerRegistry.ts a providers.ts (frontend). -Read Cache: Nový src/lib/db/readCache.ts pro efektivní ukládání DB čtení do mezipaměti. -Quota Cache: Vylepšená mezipaměť kvót s vystěhováním na základě TTL.### 📦 Dependencies

  • dompurify → 3.3.3 (PR #347)
  • undici → 7.24.2 (PR #348, #361)
  • docker/setup-qemu-action → v4 (PR #342)
  • docker/setup-buildx-action → v4 (PR #343)### 📁 New Files
Soubor Účel
open-sse/services/taskAwareRouter.ts Logika směrování s ohledem na úkoly (7 typů úkolů)
src/app/api/settings/task-routing/route.ts API pro konfiguraci směrování úloh
src/app/api/providers/[id]/refresh/route.ts Ruční obnovení tokenu OAuth
src/lib/db/readCache.ts Efektivní mezipaměť pro čtení DB
src/shared/utils/clipboard.ts Tvrzená schránka s nouzovým ## [2.4.1] - 2026-03-13

🐛 Fix

-Modální kombinace: Volná sada viditelná a nápadná— Šablona Volná sada byla skryta (4. v mřížce se 3 sloupci). Opraveno: přesunuto na pozici 1, přepnuto na mřížku 2x2, takže jsou vidět všechny 4 šablony, zelený okraj + zvýraznění odznaku ZDARMA.## [2.4.0] - 2026-03-13

Hlavní vydání— Bezplatný ekosystém Stack, generální oprava přepisovacího hřiště, více než 44 poskytovatelů, komplexní bezplatná dokumentace úrovně a plošná vylepšení uživatelského rozhraní.### Funkce

-Komba: Šablona Free Stack— Nová 4. šablona „Free Stack (0 )“ využívající cyklickou obsluhu napříč Kiro + Qoder + Qwen + Gemini CLI. Při prvním použití navrhuje předpřipravenou kombinaci s nulovými náklady. -**Média/přepis: Deepgram jako výchozí**— Deepgram (Nova 3, 200 zdarma) je nyní výchozím poskytovatelem přepisu. AssemblyAI (50 $ zdarma) a Groq Whisper (zdarma navždy) zobrazené s bezplatnými kreditními odznaky. -README: Sekce „Začít zdarma“— Nová tabulka v 5 krocích z počátečního README ukazující, jak nastavit umělou inteligenci s nulovými náklady během několika minut. -README: Free Transscription Combo— Nová sekce s návrhem kombinace Deepgram/AssemblyAI/Groq a podrobnostmi o bezplatném kreditu na poskytovatele. -providers.ts: příznak hasFree NVIDIA NIM, Cerebras a Groq označené odznakem hasFree a freeNote pro uživatelské rozhraní poskytovatelů. -i18n: templateFreeStack keys— Free Stack combo šablona přeložená a synchronizovaná do všech 30 jazyků.## [2.3.16] - 2026-03-13

Dokumentace

-README: Poskytovatelé 44+ Aktualizovány všechny 3 výskyty „poskytovatelů 36+“ na „44+“, což odráží skutečný počet kódů (44 poskytovatelů v providers.ts) -README: Nová sekce "🆓 Modely zdarma — Co vlastně dostáváte"— Přidána tabulka 7 poskytovatelů s limity sazeb pro každý model pro: Kiro (Claude neomezeně přes AWS Builder ID), Qoder (5 modelů neomezeně), Qwen (4 modely neomezeně), Gemini CLI (180 000/měsíc), NVIDIA NIM (~40 RPM) od 1 do 40 ot./min. 60 000 TPM), Groq (30 RPM / 14,4 000 RPD). Zahrnuje doporučení kombinace /usr/bin/bash Ultimate Free Stack. -README: Aktualizace cenové tabulky Přidán Cerebras do úrovně API KEY, opravena NVIDIA z „1000 kreditů“ na „dev-forever free“, aktualizované počty a názvy modelů Qoder/Qwen -README: Modely Qoder 8→5(pojmenované: kimi-k2-thinking, qwen3-coder-plus, deepseek-r1, minimax-m2, kimi-k2) -README: Qwen 3→4 modely(pojmenované: qwen3-coder-plus, qwen3-coder-flash, qwen3-coder-next, vision-model)## [2.3.15] - 2026-03-13

Funkce

-Hlavní panel Auto-Combo (Priorita úrovně): Přidán 🏷️ Tier jako 7. štítek faktoru hodnocení v zobrazení rozdělení faktorů /dashboard/auto-combo všech 7 faktorů skóre Auto-Combo je nyní viditelných. -i18n — sekce autoCombo: Přidáno 20 nových překladových klíčů pro řídicí panel Auto-Combo (title, status, modePack, providerScores, factorTierPriority atd.) do všech 30 jazykových souborů.## [2.3.14] - 2026-03-13

🐛 Bug Fixes

-Qoder OAuth (#339): Obnoveno platné výchozí clientSecret dříve byl prázdný řetězec, což způsobovalo „chybné přihlašovací údaje klienta“ při každém pokusu o připojení. Veřejné pověření je nyní výchozí záložní (lze přepsat pomocí env var QODER_OAUTH_CLIENT_SECRET). -Server MITM nenalezen (#335): prepublish.mjs nyní zkompiluje src/mitm/*.ts do JavaScriptu pomocí tsc před zkopírováním do balíčku npm. Dříve byly zkopírovány pouze nezpracované soubory .ts což znamená, že server.js nikdy neexistoval v globálních instalacích npm/Volta. -GeminiCLI chybí projectId (#338): Namísto vyvolání tvrdé chyby 500, když v uložených přihlašovacích údajích chybí projectId (např. po restartu Dockeru), OmniRoute nyní zaprotokoluje varování a pokusí se o požadavek namísto selhání OmniRoute vrací smysluplnou chybu na straně poskytovatele. -Neshoda elektronické verze (#323): Synchronizována verze electron/package.json s 2.3.13 (byla 2.0.13), takže binární verze pro stolní počítače odpovídá balíčku npm.### New Models (#334)

-Kiro: claude-sonnet-4, claude-opus-4.6, deepseek-v3.2, minimax-m2.1, qwen3-coder-next, auto -Kodex: gpt5.4### 🔧 Improvements

-Tier Scoring (API + Validation): Přidána tierPriority (váha 0,05) do schématu Zod ScoringWeights a cesty API combos/auto 7. faktor skórování je nyní plně akceptován REST API a ověřen na vstupu. Váha „stability“ upravena z „0,10“ na „0,05“, aby celkový součet zůstal = „1,0“.### New Features

-Tiered Quota Scoring (Auto-Combo): Přidána „tierPriority“ jako 7. bod hodnocení účty s úrovněmi Ultra/Pro jsou nyní upřednostňovány před úrovněmi zdarma, když jsou ostatní faktory stejné. Nová volitelná pole accountTier a quotaResetIntervalSecs na ProviderCandidate. Všechny 4 balíčky režimů byly aktualizovány ("rychlá dodávka", "úspora nákladů", "kvalita na prvním místě", "offline-friendly"). -Intra-Family Model Fallback (T5): Když je model nedostupný (404/400/403), OmniRoute se nyní automaticky vrátí k sourozeneckým modelům ze stejné rodiny, než vrátí chybu (modelFamilyFallback.ts). -Konfigurovatelný časový limit API Bridge: API_BRIDGE_PROXY_TIMEOUT_MS env var umožňuje operátorům vyladit časový limit proxy serveru (výchozí 30s). Opravuje chyby 504 při pomalých odezvách proti proudu. (#332) -Hvězdná historie: Widget star-history.com byl nahrazen starchart.cc (?varianta=adaptive) ve všech 30 souborech README přizpůsobuje se světlému/tmavému motivu, aktualizace v reálném čase.### 🐛 Bug Fixes

-Auth — První heslo: Při nastavování prvního hesla řídicího panelu je nyní akceptována env var INITIAL_PASSWORD. Používá timingSafeEqual pro porovnávání v konstantním čase a zabraňuje útokům na čas. (#333) -README Truncation: Opravena chybějící uzavírací značka </details> v sekci Odstraňování problémů, která způsobila, že GitHub přestal vykreslovat vše pod ní (Tech Stack, Dokumenty, Plán, Přispěvatelé). -instalace pnpm: Odstraněno nadbytečné přepsání @swc/helpers z package.json, které bylo v konfliktu s přímou závislostí a způsobovalo chyby EOVERRIDE na pnpm. Přidána konfigurace pnpm.onlyBuiltDependencies. -CLI Path Injection (T12): Přidán validátor isSafePath() v cliRuntime.ts k blokování procházení cesty a metaznaků shellu ve vars env CLI_*_BIN. -CI: Regenerovaný package-lock.json po odstranění přepsání, aby se opravily chyby npm ci v akcích GitHubu.### 🔧 Improvements

-Formát odpovědi (T1): response_format (json_schema/json_object) nyní vloženo jako systémová výzva pro Claude, což umožňuje kompatibilitu strukturovaného výstupu. -429 opakování (T2): Opakování uvnitř URL pro 429 odpovědí (2× pokusy s 2s zpožděním), než se vrátíte na další URL. -Gemini CLI Headers (T3): Přidána záhlaví otisků prstů User-Agent a X-Goog-Api-Client pro kompatibilitu Gemini CLI. -Cenový katalog (T9): Přidány cenové položky deepseek-3.1, deepseek-3.2 a qwen3-coder-next.### 📁 New Files

Soubor Účel
open-sse/services/modelFamilyFallback.ts Definice modelových rodin a logika záložních řešení v rámci rodiny ### Fixed

-KiloCode: časový limit kontroly stavu kilokódu již byl opraven ve verzi 2.3.11 -OpenCode: Přidejte opencode do registru cliRuntime s časovým limitem 15s pro kontrolu stavu -OpenClaw / Cursor: Zvyšte časový limit pro kontrolu stavu na 15 s pro varianty s pomalým startem -VPS: Nainstalujte balíčky droid a openclaw npm; aktivovat CLI_EXTRA_PATHS pro kiro-cli -cliRuntime: Přidejte registraci nástroje opencode a prodlužte časový limit pro pokračování## [2.3.11] - 2026-03-12

Fixed

-KiloCode healthcheck: Zvyšte healthcheckTimeoutMs ze 4000 ms na 15000 ms kilokód vykreslí banner s logem ASCII při spuštění, což způsobí falešné healthcheck_failed v prostředích s pomalým/studeným startem## [2.3.10] - 2026-03-12

Fixed

-Lint: Oprava selhání check:any-budget:t11 nahraďte as any za as Record<string, unknown> v OAuthModal.tsx (3 výskyty)### Docs

-CLI-TOOLS.md: Kompletní průvodce pro všech 11 nástrojů CLI (claude, codex, gemini, opencode, cline, kilocode, continue, kiro-cli, kurzor, droid, openclaw) -i18n: CLI-TOOLS.md synchronizovaný do 30 jazyků s přeloženým názvem + úvodem## [2.3.8] - 2026-03-12

[2.3.9] - 2026-03-12

Added

-/v1/completions: Nový starší koncový bod dokončení OpenAI přijímá pole „prompt“ string i „messages“, automaticky se normalizuje na formát chatu -EndpointPage: Nyní zobrazuje všechny 3 typy koncových bodů kompatibilní s OpenAI: dokončení chatu, rozhraní API odpovědí a dokončení starších verzí -i18n: Přidáno completionsLegacy/completionsLegacyDesc do 30 jazykových souborů### Fixed

-OAuthModal: Oprava [object Object] zobrazený u všech chyb připojení OAuth — správně extrahovat .message z objektů chybové odpovědi ve všech 3 voláních throw new Error(data.error) (výměna, kód zařízení, autorizace)

  • Ovlivňuje Cline, Codex, GitHub, Qwen, Kiro a všechny ostatní poskytovatele OAuth## [2.3.7] - 2026-03-12

Fixed

-Cline OAuth: Přidejte decodeURIComponent před dekódování base64, aby se správně analyzovaly ověřovací kódy zakódované v URL z adresy URL pro zpětné volání, oprava chyb „neplatný nebo prošlý autorizační kód“ ve vzdálených nastaveních (LAN IP) -Cline OAuth: mapTokens nyní vyplňuje jméno = jméno + příjmení || email takže účty Cline zobrazují skutečná uživatelská jména namísto "ID účtu" -Názvy účtů OAuth: Všechny výměnné toky OAuth (výměna, průzkum, zpětné volání) nyní normalizují jméno = email, když jméno chybí, takže každý účet OAuth zobrazuje svůj e-mail jako zobrazovaný štítek na panelu poskytovatelů Názvy účtů OAuth: Odstraněna sekvenční záložní reklama „Účet N“ v db/providers.ts účty bez e-mailu/názvu nyní používají stabilní štítek založený na ID prostřednictvím getAccountDisplayName() namísto pořadového čísla, které se mění při smazání účtů## [2.3.6] - 2026-03-12

Fixed

-Testovací dávka poskytovatele: Opraveno schéma Zod, aby akceptovalo providerId: null (frontend odešle hodnotu null pro režimy bez poskytovatele); nesprávně vracel "Neplatný požadavek" pro všechny dávkové testy -Testovací modální poskytovatel: Opraveno zobrazení [object Object] normalizací chybových objektů API na řetězce před vykreslením v setTestResults a ProviderTestResultsView -i18n: Přidány chybějící klíče cliTools.toolDescriptions.opencode, cliTools.toolDescriptions.kiro, cliTools.guides.opencode, cliTools.guides.kiro do en.json -i18n: Synchronizováno 1111 chybějících klíčů ve všech 29 souborech v neanglickém jazyce pomocí anglických hodnot jako záložních## [2.3.5] - 2026-03-11

Fixed

-@swc/helpers: Přidána trvalá oprava postinstall pro zkopírování @swc/helpers do node_modules samostatné aplikace — zabraňuje pádu MODULE_NOT_FOUND při globálních instalacích npm## [2.3.4] - 2026-03-10

Added

  • Více integrací poskytovatelů a vylepšení řídicího panelu