diff --git a/docs/i18n/cs/API_REFERENCE.md b/docs/i18n/cs/API_REFERENCE.md index 02357b14bc..a0aa245032 100644 --- a/docs/i18n/cs/API_REFERENCE.md +++ b/docs/i18n/cs/API_REFERENCE.md @@ -38,15 +38,15 @@ Content-Type: application/json ### Vlastní záhlaví -Záhlaví | Směr | Popis ---- | --- | --- -`X-OmniRoute-No-Cache` | Žádost | Nastavením na `true` se vynechá mezipaměť -`X-OmniRoute-Progress` | Žádost | Nastaveno na `true` pro události průběhu -`Idempotency-Key` | Žádost | Klíč pro deduplikaci (okno 5 s) -`X-Request-Id` | Žádost | Alternativní klíč pro odstranění duplicitních dat -`X-OmniRoute-Cache` | Odpověď | `HIT` or `MISS` (nestreamované) -`X-OmniRoute-Idempotent` | Odpověď | `true` , pokud je odstraněna duplikace -`X-OmniRoute-Progress` | Odpověď | `enabled` pokud je zapnuto sledování průběhu +| Záhlaví | Směr | Popis | +| ------------------------ | ------- | ------------------------------------------------- | +| `X-OmniRoute-No-Cache` | Žádost | Nastavením na `true` se vynechá mezipaměť | +| `X-OmniRoute-Progress` | Žádost | Nastaveno na `true` pro události průběhu | +| `Idempotency-Key` | Žádost | Klíč pro deduplikaci (okno 5 s) | +| `X-Request-Id` | Žádost | Alternativní klíč pro odstranění duplicitních dat | +| `X-OmniRoute-Cache` | Odpověď | `HIT` or `MISS` (nestreamované) | +| `X-OmniRoute-Idempotent` | Odpověď | `true` , pokud je odstraněna duplikace | +| `X-OmniRoute-Progress` | Odpověď | `enabled` pokud je zapnuto sledování průběhu | --- @@ -108,18 +108,18 @@ Authorization: Bearer your-api-key ## Koncové body kompatibility -Metoda | Cesta | Formát ---- | --- | --- -ZVEŘEJNIT | `/v1/chat/completions` | OpenAI -ZVEŘEJNIT | `/v1/messages` | Antropický -ZVEŘEJNIT | `/v1/responses` | Reakce OpenAI -ZVEŘEJNIT | `/v1/embeddings` | OpenAI -ZVEŘEJNIT | `/v1/images/generations` | OpenAI -ZÍSKAT | `/v1/models` | OpenAI -ZVEŘEJNIT | `/v1/messages/count_tokens` | Antropický -ZÍSKAT | `/v1beta/models` | Blíženci -ZVEŘEJNIT | `/v1beta/models/{...path}` | Gemini generuje obsah -ZVEŘEJNIT | `/v1/api/chat` | Ollama +| Metoda | Cesta | Formát | +| ------ | --------------------------- | --------------------- | +| POST | `/v1/chat/completions` | OpenAI | +| POST | `/v1/messages` | Antropický | +| POST | `/v1/responses` | Reakce OpenAI | +| POST | `/v1/embeddings` | OpenAI | +| POST | `/v1/images/generations` | OpenAI | +| GET | `/v1/models` | OpenAI | +| POST | `/v1/messages/count_tokens` | Antropický | +| GET | `/v1beta/models` | Blíženci | +| POST | `/v1beta/models/{...path}` | Gemini generuje obsah | +| POST | `/v1/api/chat` | Ollama | ### Vyhrazené trasy poskytovatelů @@ -166,154 +166,154 @@ Příklad odpovědi: ### Ověřování -Koncový bod | Metoda | Popis ---- | --- | --- -`/api/auth/login` | ZVEŘEJNIT | Přihlášení -`/api/auth/logout` | ZVEŘEJNIT | Odhlásit se -`/api/settings/require-login` | ZÍSKAT/VLOŽIT | Vyžaduje se přepnutí přihlášení +| Koncový bod | Metoda | Popis | +| ----------------------------- | ------- | ------------------------------- | +| `/api/auth/login` | POST | Přihlášení | +| `/api/auth/logout` | POST | Odhlásit se | +| `/api/settings/require-login` | GET/PUT | Vyžaduje se přepnutí přihlášení | ### Správa poskytovatelů -Koncový bod | Metoda | Popis ---- | --- | --- -`/api/providers` | ZÍSKAT/ODESLAT | Seznam / vytvoření poskytovatelů -`/api/providers/[id]` | ZÍSKAT/VLOŽIT/ODSTRANIT | Správa poskytovatele -`/api/providers/[id]/test` | ZVEŘEJNIT | Testovací připojení poskytovatele -`/api/providers/[id]/models` | ZÍSKAT | Seznam modelů poskytovatelů -`/api/providers/validate` | ZVEŘEJNIT | Ověření konfigurace poskytovatele -`/api/provider-nodes*` | Různé | Správa uzlů poskytovatelů -`/api/provider-models` | ZÍSKAT/ODESLAT/SMAZAT | Vlastní modely +| Koncový bod | Metoda | Popis | +| ---------------------------- | --------------- | --------------------------------- | +| `/api/providers` | GET/POST | Seznam / vytvoření poskytovatelů | +| `/api/providers/[id]` | GET/PUT/DELETE | Správa poskytovatele | +| `/api/providers/[id]/test` | POST | Testovací připojení poskytovatele | +| `/api/providers/[id]/models` | GET | Seznam modelů poskytovatelů | +| `/api/providers/validate` | POST | Ověření konfigurace poskytovatele | +| `/api/provider-nodes*` | Různé | Správa uzlů poskytovatelů | +| `/api/provider-models` | GET/POST/DELETE | Vlastní modely | ### Toky OAuth -Koncový bod | Metoda | Popis ---- | --- | --- -`/api/oauth/[provider]/[action]` | Různé | OAuth specifický pro poskytovatele +| Koncový bod | Metoda | Popis | +| -------------------------------- | ------ | ---------------------------------- | +| `/api/oauth/[provider]/[action]` | Různé | OAuth specifický pro poskytovatele | ### Směrování a konfigurace -Koncový bod | Metoda | Popis ---- | --- | --- -`/api/models/alias` | ZÍSKAT/ODESLAT | Aliasy modelů -`/api/models/catalog` | ZÍSKAT | Všechny modely podle poskytovatele + typu -`/api/combos*` | Různé | Správa kombinací -`/api/keys*` | Různé | Správa klíčů API -`/api/pricing` | ZÍSKAT | Cena modelu +| Koncový bod | Metoda | Popis | +| --------------------- | -------- | ----------------------------------------- | +| `/api/models/alias` | GET/POST | Aliasy modelů | +| `/api/models/catalog` | GET | Všechny modely podle poskytovatele + typu | +| `/api/combos*` | Různé | Správa kombinací | +| `/api/keys*` | Různé | Správa klíčů API | +| `/api/pricing` | GET | Cena modelu | ### Využití a analýzy -Koncový bod | Metoda | Popis ---- | --- | --- -`/api/usage/history` | ZÍSKAT | Historie používání -`/api/usage/logs` | ZÍSKAT | Protokoly používání -`/api/usage/request-logs` | ZÍSKAT | Protokoly na úrovni požadavků -`/api/usage/[connectionId]` | ZÍSKAT | Využití na připojení +| Koncový bod | Metoda | Popis | +| --------------------------- | ------ | ----------------------------- | +| `/api/usage/history` | GET | Historie používání | +| `/api/usage/logs` | GET | Protokoly používání | +| `/api/usage/request-logs` | GET | Protokoly na úrovni požadavků | +| `/api/usage/[connectionId]` | GET | Využití na připojení | ### Nastavení -Koncový bod | Metoda | Popis ---- | --- | --- -`/api/settings` | ZÍSKAT/VLOŽIT | Obecná nastavení -`/api/settings/proxy` | ZÍSKAT/VLOŽIT | Konfigurace síťového proxy serveru -`/api/settings/proxy/test` | ZVEŘEJNIT | Testovací připojení k proxy serveru -`/api/settings/ip-filter` | ZÍSKAT/VLOŽIT | Seznam povolených/blokovaných IP adres -`/api/settings/thinking-budget` | ZÍSKAT/VLOŽIT | Zdůvodnění rozpočtu tokenů -`/api/settings/system-prompt` | ZÍSKAT/VLOŽIT | Globální systémový výzva +| Koncový bod | Metoda | Popis | +| ------------------------------- | ------- | -------------------------------------- | +| `/api/settings` | GET/PUT | Obecná nastavení | +| `/api/settings/proxy` | GET/PUT | Konfigurace síťového proxy serveru | +| `/api/settings/proxy/test` | POST | Testovací připojení k proxy serveru | +| `/api/settings/ip-filter` | GET/PUT | Seznam povolených/blokovaných IP adres | +| `/api/settings/thinking-budget` | GET/PUT | Zdůvodnění rozpočtu tokenů | +| `/api/settings/system-prompt` | GET/PUT | Globální systémový výzva | ### Monitorování -Koncový bod | Metoda | Popis ---- | --- | --- -`/api/sessions` | ZÍSKAT | Sledování aktivních relací -`/api/rate-limits` | ZÍSKAT | Limity sazeb na účet -`/api/monitoring/health` | ZÍSKAT | Kontrola stavu -`/api/cache` | ZÍSKAT/SMAZAT | Statistiky mezipaměti / vymazat +| Koncový bod | Metoda | Popis | +| ------------------------ | ---------- | ------------------------------- | +| `/api/sessions` | GET | Sledování aktivních relací | +| `/api/rate-limits` | GET | Limity sazeb na účet | +| `/api/monitoring/health` | GET | Kontrola stavu | +| `/api/cache` | GET/DELETE | Statistiky mezipaměti / vymazat | ### Zálohování a export/import -Koncový bod | Metoda | Popis ---- | --- | --- -`/api/db-backups` | ZÍSKAT | Seznam dostupných záloh -`/api/db-backups` | DÁT | Vytvořte ruční zálohu -`/api/db-backups` | ZVEŘEJNIT | Obnovení z konkrétní zálohy -`/api/db-backups/export` | ZÍSKAT | Stáhnout databázi jako soubor .sqlite -`/api/db-backups/import` | ZVEŘEJNIT | Nahrajte soubor .sqlite pro nahrazení databáze -`/api/db-backups/exportAll` | ZÍSKAT | Stáhnout plnou zálohu jako archiv .tar.gz +| Koncový bod | Metoda | Popis | +| --------------------------- | ------ | ---------------------------------------------- | +| `/api/db-backups` | GET | Seznam dostupných záloh | +| `/api/db-backups` | DÁT | Vytvořte ruční zálohu | +| `/api/db-backups` | POST | Obnovení z konkrétní zálohy | +| `/api/db-backups/export` | GET | Stáhnout databázi jako soubor .sqlite | +| `/api/db-backups/import` | POST | Nahrajte soubor .sqlite pro nahrazení databáze | +| `/api/db-backups/exportAll` | GET | Stáhnout plnou zálohu jako archiv .tar.gz | ### Synchronizace s cloudem -Koncový bod | Metoda | Popis ---- | --- | --- -`/api/sync/cloud` | Různé | Operace synchronizace s cloudem -`/api/sync/initialize` | ZVEŘEJNIT | Inicializovat synchronizaci -`/api/cloud/*` | Různé | Správa cloudu +| Koncový bod | Metoda | Popis | +| ---------------------- | ------ | ------------------------------- | +| `/api/sync/cloud` | Různé | Operace synchronizace s cloudem | +| `/api/sync/initialize` | POST | Inicializovat synchronizaci | +| `/api/cloud/*` | Různé | Správa cloudu | ### Nástroje CLI -Koncový bod | Metoda | Popis ---- | --- | --- -`/api/cli-tools/claude-settings` | ZÍSKAT | Stav Clauda CLI -`/api/cli-tools/codex-settings` | ZÍSKAT | Stav příkazového řádku Codexu -`/api/cli-tools/droid-settings` | ZÍSKAT | Stav příkazového řádku Droidu -`/api/cli-tools/openclaw-settings` | ZÍSKAT | Stav rozhraní příkazového řádku OpenClaw -`/api/cli-tools/runtime/[toolId]` | ZÍSKAT | Generické běhové prostředí CLI +| Koncový bod | Metoda | Popis | +| ---------------------------------- | ------ | ---------------------------------------- | +| `/api/cli-tools/claude-settings` | GET | Stav Clauda CLI | +| `/api/cli-tools/codex-settings` | GET | Stav příkazového řádku Codexu | +| `/api/cli-tools/droid-settings` | GET | Stav příkazového řádku Droidu | +| `/api/cli-tools/openclaw-settings` | GET | Stav rozhraní příkazového řádku OpenClaw | +| `/api/cli-tools/runtime/[toolId]` | GET | Generické běhové prostředí CLI | Mezi odpovědi CLI patří: `installed` , `runnable` , `command` , `commandPath` , `runtimeMode` , `reason` . ### Agenti ACP -Koncový bod | Metoda | Popis ---- | --- | --- -`/api/acp/agents` | ZÍSKAT | Zobrazit seznam všech detekovaných agentů (vestavěných + vlastních) se stavem -`/api/acp/agents` | ZVEŘEJNIT | Přidat vlastního agenta nebo obnovit mezipaměť detekce -`/api/acp/agents` | VYMAZAT | Odebrání vlastního agenta podle parametru dotazu `id` +| Koncový bod | Metoda | Popis | +| ----------------- | ------- | ----------------------------------------------------------------------------- | +| `/api/acp/agents` | GET | Zobrazit seznam všech detekovaných agentů (vestavěných + vlastních) se stavem | +| `/api/acp/agents` | POST | Přidat vlastního agenta nebo obnovit mezipaměť detekce | +| `/api/acp/agents` | VYMAZAT | Odebrání vlastního agenta podle parametru dotazu `id` | Odpověď GET obsahuje `agents[]` (id, name, binary, version, installed, protocol, isCustom) a `summary` (total, installed, notFound, builtIn, custom). ### Odolnost a limity rychlosti -Koncový bod | Metoda | Popis ---- | --- | --- -`/api/resilience` | ZÍSKAT/VLOŽIT | Získání/aktualizace profilů odolnosti -`/api/resilience/reset` | ZVEŘEJNIT | Resetujte jističe -`/api/rate-limits` | ZÍSKAT | Stav limitu sazby na účet -`/api/rate-limit` | ZÍSKAT | Konfigurace globálního limitu rychlosti +| Koncový bod | Metoda | Popis | +| ----------------------- | ------- | --------------------------------------- | +| `/api/resilience` | GET/PUT | Získání/aktualizace profilů odolnosti | +| `/api/resilience/reset` | POST | Resetujte jističe | +| `/api/rate-limits` | GET | Stav limitu sazby na účet | +| `/api/rate-limit` | GET | Konfigurace globálního limitu rychlosti | ### Evals -Koncový bod | Metoda | Popis ---- | --- | --- -`/api/evals` | ZÍSKAT/ODESLAT | Vypsat eval sady / spustit vyhodnocení +| Koncový bod | Metoda | Popis | +| ------------ | -------- | -------------------------------------- | +| `/api/evals` | GET/POST | Vypsat eval sady / spustit vyhodnocení | ### Zásady -Koncový bod | Metoda | Popis ---- | --- | --- -`/api/policies` | ZÍSKAT/ODESLAT/SMAZAT | Správa směrovacích zásad +| Koncový bod | Metoda | Popis | +| --------------- | --------------- | ------------------------ | +| `/api/policies` | GET/POST/DELETE | Správa směrovacích zásad | ### Dodržování -Koncový bod | Metoda | Popis ---- | --- | --- -`/api/compliance/audit-log` | ZÍSKAT | Protokol auditu shody (poslední N) +| Koncový bod | Metoda | Popis | +| --------------------------- | ------ | ---------------------------------- | +| `/api/compliance/audit-log` | GET | Protokol auditu shody (poslední N) | ### v1beta (kompatibilní s Gemini) -Koncový bod | Metoda | Popis ---- | --- | --- -`/v1beta/models` | ZÍSKAT | Seznam modelů ve formátu Gemini -`/v1beta/models/{...path}` | ZVEŘEJNIT | Koncový bod Gemini `generateContent` +| Koncový bod | Metoda | Popis | +| -------------------------- | ------ | ------------------------------------ | +| `/v1beta/models` | GET | Seznam modelů ve formátu Gemini | +| `/v1beta/models/{...path}` | POST | Koncový bod Gemini `generateContent` | Tyto koncové body zrcadlí formát API Gemini pro klienty, kteří očekávají nativní kompatibilitu sady Gemini SDK. ### Interní / systémová API -Koncový bod | Metoda | Popis ---- | --- | --- -`/api/init` | ZÍSKAT | Kontrola inicializace aplikace (používá se při prvním spuštění) -`/api/tags` | ZÍSKAT | Tagy modelů kompatibilní s Ollamou (pro klienty Ollamy) -`/api/restart` | ZVEŘEJNIT | Spustit řádný restart serveru -`/api/shutdown` | ZVEŘEJNIT | Spustit řádné vypnutí serveru +| Koncový bod | Metoda | Popis | +| --------------- | ------ | --------------------------------------------------------------- | +| `/api/init` | GET | Kontrola inicializace aplikace (používá se při prvním spuštění) | +| `/api/tags` | GET | Tagy modelů kompatibilní s Ollamou (pro klienty Ollamy) | +| `/api/restart` | POST | Spustit řádný restart serveru | +| `/api/shutdown` | POST | Spustit řádné vypnutí serveru | > **Poznámka:** Tyto koncové body používá interně systém nebo pro kompatibilitu s klienty Ollama. Koncoví uživatelé je obvykle nevolají. diff --git a/docs/i18n/cs/CODEBASE_DOCUMENTATION.md b/docs/i18n/cs/CODEBASE_DOCUMENTATION.md index 6375722303..d3bf80d040 100644 --- a/docs/i18n/cs/CODEBASE_DOCUMENTATION.md +++ b/docs/i18n/cs/CODEBASE_DOCUMENTATION.md @@ -110,14 +110,14 @@ omniroute/ Jediný **zdroj pravdivých informací** pro všechny konfigurace poskytovatelů. -Soubor | Účel ---- | --- -`constants.ts` | Objekt `PROVIDERS` se základními URL adresami, přihlašovacími údaji OAuth (výchozí), záhlavími a výchozími systémovými výzvami pro každého poskytovatele. Definuje také `HTTP_STATUS` , `ERROR_TYPES` , `COOLDOWN_MS` , `BACKOFF_CONFIG` a `SKIP_PATTERNS` . -`credentialLoader.ts` | Načte externí přihlašovací údaje z `data/provider-credentials.json` a sloučí je s pevně zakódovanými výchozími hodnotami v `PROVIDERS` . Uchovává tajné údaje mimo kontrolu zdrojového kódu a zároveň zachovává zpětnou kompatibilitu. -`providerModels.ts` | Centrální registr modelů: mapuje aliasy poskytovatelů → ID modelů. Funkce jako `getModels()` , `getProviderByAlias()` . -`codexInstructions.ts` | Systémové instrukce vložené do požadavků Codexu (omezení úprav, pravidla sandboxu, zásady schvalování). -`defaultThinkingSignature.ts` | Výchozí „myšlenkové“ podpisy pro modely Claude a Gemini. -`ollamaModels.ts` | Definice schématu pro lokální Ollama modely (název, velikost, rodina, kvantizace). +| Soubor | Účel | +| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `constants.ts` | Objekt `PROVIDERS` se základními URL adresami, přihlašovacími údaji OAuth (výchozí), záhlavími a výchozími systémovými výzvami pro každého poskytovatele. Definuje také `HTTP_STATUS` , `ERROR_TYPES` , `COOLDOWN_MS` , `BACKOFF_CONFIG` a `SKIP_PATTERNS` . | +| `credentialLoader.ts` | Načte externí přihlašovací údaje z `data/provider-credentials.json` a sloučí je s pevně zakódovanými výchozími hodnotami v `PROVIDERS` . Uchovává tajné údaje mimo kontrolu zdrojového kódu a zároveň zachovává zpětnou kompatibilitu. | +| `providerModels.ts` | Centrální registr modelů: mapuje aliasy poskytovatelů → ID modelů. Funkce jako `getModels()` , `getProviderByAlias()` . | +| `codexInstructions.ts` | Systémové instrukce vložené do požadavků Codexu (omezení úprav, pravidla sandboxu, zásady schvalování). | +| `defaultThinkingSignature.ts` | Výchozí „myšlenkové“ podpisy pro modely Claude a Gemini. | +| `ollamaModels.ts` | Definice schématu pro lokální Ollama modely (název, velikost, rodina, kvantizace). | #### Postup načítání přihlašovacích údajů @@ -194,17 +194,17 @@ classDiagram BaseExecutor <|-- GithubExecutor ``` -Vykonavatel | Poskytovatel | Klíčové specializace ---- | --- | --- -`base.ts` | — | Abstraktní základ: tvorba URL adres, hlavičky, logika opakování, aktualizace přihlašovacích údajů -`default.ts` | Claude, Gemini, OpenAI, GLM, Kimi, MiniMax | Aktualizace generického tokenu OAuth pro standardní poskytovatele -`antigravity.ts` | Kód Google Cloud | Generování ID projektu/relace, záložní více URL adres, vlastní analýza opakovaných pokusů z chybových zpráv („reset po 2h7m23s“) -`cursor.ts` | IDE kurzoru | **Nejsložitější** : autorizace kontrolního součtu SHA-256, kódování požadavků Protobuf, analýza binárních EventStream → SSE odpovědí -`codex.ts` | Kodex OpenAI | Vkládá systémové instrukce, spravuje úrovně myšlení, odstraňuje nepodporované parametry -`gemini-cli.ts` | Rozhraní příkazového řádku Google Gemini | Vytvoření vlastní URL adresy ( `streamGenerateContent` ), aktualizace tokenu Google OAuth -`github.ts` | GitHub Copilot | Systém duálních tokenů (GitHub OAuth + Copilot token), napodobování hlaviček VSCode -`kiro.ts` | AWS CodeWhisperer | Binární parsování AWS EventStream, rámce událostí AMZN, odhad tokenů -`index.ts` | — | Továrna: název poskytovatele map → třída exekutoru s výchozím záložním nastavením +| Vykonavatel | Poskytovatel | Klíčové specializace | +| ---------------- | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | +| `base.ts` | — | Abstraktní základ: tvorba URL adres, hlavičky, logika opakování, aktualizace přihlašovacích údajů | +| `default.ts` | Claude, Gemini, OpenAI, GLM, Kimi, MiniMax | Aktualizace generického tokenu OAuth pro standardní poskytovatele | +| `antigravity.ts` | Kód Google Cloud | Generování ID projektu/relace, záložní více URL adres, vlastní analýza opakovaných pokusů z chybových zpráv („reset po 2h7m23s“) | +| `cursor.ts` | IDE kurzoru | **Nejsložitější** : autorizace kontrolního součtu SHA-256, kódování požadavků Protobuf, analýza binárních EventStream → SSE odpovědí | +| `codex.ts` | Kodex OpenAI | Vkládá systémové instrukce, spravuje úrovně myšlení, odstraňuje nepodporované parametry | +| `gemini-cli.ts` | Rozhraní příkazového řádku Google Gemini | Vytvoření vlastní URL adresy ( `streamGenerateContent` ), aktualizace tokenu Google OAuth | +| `github.ts` | GitHub Copilot | Systém duálních tokenů (GitHub OAuth + Copilot token), napodobování hlaviček VSCode | +| `kiro.ts` | AWS CodeWhisperer | Binární parsování AWS EventStream, rámce událostí AMZN, odhad tokenů | +| `index.ts` | — | Továrna: název poskytovatele map → třída exekutoru s výchozím záložním nastavením | --- @@ -212,12 +212,12 @@ Vykonavatel | Poskytovatel | Klíčové specializace **Orchestrační vrstva** – koordinuje překlad, provádění, streamování a zpracování chyb. -Soubor | Účel ---- | --- -`chatCore.ts` | **Centrální orchestrátor** (~600 řádků). Zvládá kompletní životní cyklus požadavku: detekce formátu → překlad → odeslání exekutoru → streamovaná/nestreamovaná odpověď → aktualizace tokenu → zpracování chyb → protokolování využití. -`responsesHandler.ts` | Adaptér pro OpenAI Responses API: převádí formát odpovědí → Dokončení chatu → odesílá do `chatCore` → převádí SSE zpět do formátu odpovědí. -`embeddings.ts` | Obslužná rutina generování embeddingu: řeší model embeddingu → poskytovatele, odesílá do API poskytovatele, vrací odpověď na embedding kompatibilní s OpenAI. Podporuje 6+ poskytovatelů. -`imageGeneration.ts` | Obslužná rutina generování obrázků: řeší model obrázku → poskytovatele, podporuje režimy kompatibilní s OpenAI, Gemini-image (Antigravity) a fallback (Nebius). Vrací obrázky v base64 nebo URL. +| Soubor | Účel | +| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `chatCore.ts` | **Centrální orchestrátor** (~600 řádků). Zvládá kompletní životní cyklus požadavku: detekce formátu → překlad → odeslání exekutoru → streamovaná/nestreamovaná odpověď → aktualizace tokenu → zpracování chyb → protokolování využití. | +| `responsesHandler.ts` | Adaptér pro OpenAI Responses API: převádí formát odpovědí → Dokončení chatu → odesílá do `chatCore` → převádí SSE zpět do formátu odpovědí. | +| `embeddings.ts` | Obslužná rutina generování embeddingu: řeší model embeddingu → poskytovatele, odesílá do API poskytovatele, vrací odpověď na embedding kompatibilní s OpenAI. Podporuje 6+ poskytovatelů. | +| `imageGeneration.ts` | Obslužná rutina generování obrázků: řeší model obrázku → poskytovatele, podporuje režimy kompatibilní s OpenAI, Gemini-image (Antigravity) a fallback (Nebius). Vrací obrázky v base64 nebo URL. | #### Životní cyklus požadavku (chatCore.ts) @@ -262,22 +262,22 @@ sequenceDiagram Obchodní logika, která podporuje obslužné rutiny a vykonavatele. -Soubor | Účel ---- | --- -`provider.ts` | **Detekce formátu** ( `detectFormat` ): analyzuje strukturu těla požadavku a identifikuje formáty Claude/OpenAI/Gemini/Antigravity/Responses (včetně heuristiky `max_tokens` pro Claude). Dále: tvorba URL, tvorba hlaviček, normalizace konfigurace thinking. Podporuje dynamické poskytovatele kompatibilní `openai-compatible-*` a `anthropic-compatible-*` . -`model.ts` | Analýza řetězců modelu ( `claude/model-name` → `{provider: "claude", model: "model-name"}` ), rozlišení aliasů s detekcí kolizí, sanitizace vstupu (odmítá průchod cestou/řídicí znaky) a rozlišení informací o modelu s podporou asynchronních metod pro získávání aliasů. -`accountFallback.ts` | Ovládání limitů rychlosti: exponenciální upomínka (1 s → 2 s → 4 s → max. 2 min), správa doby zpoždění účtu, klasifikace chyb (které chyby spouštějí fallback a které ne). -`tokenRefresh.ts` | Aktualizace tokenu OAuth pro **všechny poskytovatele** : Google (Gemini, Antigravity), Claude, Codex, Qwen, iFlow, GitHub (duální token OAuth + Copilot), Kiro (AWS SSO OIDC + sociální ověřování). Zahrnuje mezipaměť deduplikace promise za provozu a opakování s exponenciálním zpožděním. -`combo.ts` | **Kombinované modely** : řetězce záložních modelů. Pokud model A selže s chybou způsobilou pro záložní model, zkuste model B, poté C atd. Vrací skutečné stavové kódy upstreamu. -`usage.ts` | Načítá data o kvótách/využití z API poskytovatelů (kvóty GitHub Copilot, kvóty modelu Antigravity, limity rychlosti Codexu, rozpisy využití Kiro, nastavení Claude). -`accountSelector.ts` | Inteligentní výběr účtu s algoritmem bodování: pro výběr optimálního účtu pro každý požadavek se zohledňuje priorita, zdravotní stav, pozice v systému round robin a stav ochlazování. -`contextManager.ts` | Správa životního cyklu kontextu požadavku: vytváří a sleduje objekty kontextu pro každý požadavek s metadaty (ID požadavku, časová razítka, informace o poskytovateli) pro ladění a protokolování. -`ipFilter.ts` | Řízení přístupu založené na IP adrese: podporuje režimy povolených seznamů a blokovaných seznamů. Před zpracováním požadavků API ověřuje IP adresu klienta podle nakonfigurovaných pravidel. -`sessionManager.ts` | Sledování relací s otisky prstů klientů: sleduje aktivní relace pomocí hašovaných identifikátorů klientů, monitoruje počty požadavků a poskytuje metriky relací. -`signatureCache.ts` | Mezipaměť deduplikace na základě signatur požadavků: zabraňuje duplicitním požadavkům ukládáním nedávných signatur požadavků do mezipaměti a vrácením odpovědí z mezipaměti pro identické požadavky v rámci časového okna. -`systemPrompt.ts` | Globální vložení systémového výzvy: přidá konfigurovatelnou systémovou výzvu ke všem požadavkům s možností kompatibility pro jednotlivé poskytovatele. -`thinkingBudget.ts` | Správa rozpočtu tokenů uvažování: podporuje režimy průchodu, automatický (konfigurace strip thinking), vlastní (pevný rozpočet) a adaptivní (měřítko složitosti) pro řízení tokenů myšlení/uvažování. -`wildcardRouter.ts` | Směrování podle vzorů zástupných znaků: rozpoznává vzory zástupných znaků (např. `*/claude-*` ) na konkrétní páry poskytovatel/model na základě dostupnosti a priority. +| Soubor | Účel | +| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `provider.ts` | **Detekce formátu** ( `detectFormat` ): analyzuje strukturu těla požadavku a identifikuje formáty Claude/OpenAI/Gemini/Antigravity/Responses (včetně heuristiky `max_tokens` pro Claude). Dále: tvorba URL, tvorba hlaviček, normalizace konfigurace thinking. Podporuje dynamické poskytovatele kompatibilní `openai-compatible-*` a `anthropic-compatible-*` . | +| `model.ts` | Analýza řetězců modelu ( `claude/model-name` → `{provider: "claude", model: "model-name"}` ), rozlišení aliasů s detekcí kolizí, sanitizace vstupu (odmítá průchod cestou/řídicí znaky) a rozlišení informací o modelu s podporou asynchronních metod pro získávání aliasů. | +| `accountFallback.ts` | Ovládání limitů rychlosti: exponenciální upomínka (1 s → 2 s → 4 s → max. 2 min), správa doby zpoždění účtu, klasifikace chyb (které chyby spouštějí fallback a které ne). | +| `tokenRefresh.ts` | Aktualizace tokenu OAuth pro **všechny poskytovatele** : Google (Gemini, Antigravity), Claude, Codex, Qwen, iFlow, GitHub (duální token OAuth + Copilot), Kiro (AWS SSO OIDC + sociální ověřování). Zahrnuje mezipaměť deduplikace promise za provozu a opakování s exponenciálním zpožděním. | +| `combo.ts` | **Kombinované modely** : řetězce záložních modelů. Pokud model A selže s chybou způsobilou pro záložní model, zkuste model B, poté C atd. Vrací skutečné stavové kódy upstreamu. | +| `usage.ts` | Načítá data o kvótách/využití z API poskytovatelů (kvóty GitHub Copilot, kvóty modelu Antigravity, limity rychlosti Codexu, rozpisy využití Kiro, nastavení Claude). | +| `accountSelector.ts` | Inteligentní výběr účtu s algoritmem bodování: pro výběr optimálního účtu pro každý požadavek se zohledňuje priorita, zdravotní stav, pozice v systému round robin a stav ochlazování. | +| `contextManager.ts` | Správa životního cyklu kontextu požadavku: vytváří a sleduje objekty kontextu pro každý požadavek s metadaty (ID požadavku, časová razítka, informace o poskytovateli) pro ladění a protokolování. | +| `ipFilter.ts` | Řízení přístupu založené na IP adrese: podporuje režimy povolených seznamů a blokovaných seznamů. Před zpracováním požadavků API ověřuje IP adresu klienta podle nakonfigurovaných pravidel. | +| `sessionManager.ts` | Sledování relací s otisky prstů klientů: sleduje aktivní relace pomocí hašovaných identifikátorů klientů, monitoruje počty požadavků a poskytuje metriky relací. | +| `signatureCache.ts` | Mezipaměť deduplikace na základě signatur požadavků: zabraňuje duplicitním požadavkům ukládáním nedávných signatur požadavků do mezipaměti a vrácením odpovědí z mezipaměti pro identické požadavky v rámci časového okna. | +| `systemPrompt.ts` | Globální vložení systémového výzvy: přidá konfigurovatelnou systémovou výzvu ke všem požadavkům s možností kompatibility pro jednotlivé poskytovatele. | +| `thinkingBudget.ts` | Správa rozpočtu tokenů uvažování: podporuje režimy průchodu, automatický (konfigurace strip thinking), vlastní (pevný rozpočet) a adaptivní (měřítko složitosti) pro řízení tokenů myšlení/uvažování. | +| `wildcardRouter.ts` | Směrování podle vzorů zástupných znaků: rozpoznává vzory zástupných znaků (např. `*/claude-*` ) na konkrétní páry poskytovatel/model na základě dostupnosti a priority. | #### Deduplikace obnovení tokenů @@ -374,13 +374,13 @@ graph TD end ``` -Adresář | Soubory | Popis ---- | --- | --- -`request/` | 8 překladatelů | Převod těl požadavků mezi formáty. Každý soubor se při importu sám zaregistruje pomocí `register(from, to, fn)` . -`response/` | 7 překladatelů | Převádí bloky odpovědí streamovaných dat mezi formáty. Zpracovává typy událostí SSE, myšlenkové bloky a volání nástrojů. -`helpers/` | 6 pomocníků | Sdílené utility: `claudeHelper` (extrakce systémových prompts, thinking config), `geminiHelper` (mapování částí/obsahu), `openaiHelper` (filtrování formátů), `toolCallHelper` (generování ID, vkládání chybějících odpovědí), `maxTokensHelper` , `responsesApiHelper` . -`index.ts` | — | Překladový engine: `translateRequest()` , `translateResponse()` , správa stavu, registr. -`formats.ts` | — | Formátovací konstanty: `OPENAI` , `CLAUDE` , `GEMINI` , `ANTIGRAVITY` , `KIRO` , `CURSOR` , `OPENAI_RESPONSES` . +| Adresář | Soubory | Popis | +| ------------ | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `request/` | 8 překladatelů | Převod těl požadavků mezi formáty. Každý soubor se při importu sám zaregistruje pomocí `register(from, to, fn)` . | +| `response/` | 7 překladatelů | Převádí bloky odpovědí streamovaných dat mezi formáty. Zpracovává typy událostí SSE, myšlenkové bloky a volání nástrojů. | +| `helpers/` | 6 pomocníků | Sdílené utility: `claudeHelper` (extrakce systémových prompts, thinking config), `geminiHelper` (mapování částí/obsahu), `openaiHelper` (filtrování formátů), `toolCallHelper` (generování ID, vkládání chybějících odpovědí), `maxTokensHelper` , `responsesApiHelper` . | +| `index.ts` | — | Překladový engine: `translateRequest()` , `translateResponse()` , správa stavu, registr. | +| `formats.ts` | — | Formátovací konstanty: `OPENAI` , `CLAUDE` , `GEMINI` , `ANTIGRAVITY` , `KIRO` , `CURSOR` , `OPENAI_RESPONSES` . | #### Klíčový design: Samoregistrující se pluginy @@ -397,15 +397,15 @@ import "./request/claude-to-openai.js"; // ← self-registers ### 4.6 Nástroje ( `open-sse/utils/` ) -Soubor | Účel ---- | --- -`error.ts` | Vytváření chybové odezvy (formát kompatibilní s OpenAI), parsování chyb v upstreamu, extrakce doby opakování Antigravity z chybových zpráv, streamování chyb SSE. -`stream.ts` | **SSE Transform Stream** — základní streamovací kanál. Dva režimy: `TRANSLATE` (plný překlad formátu) a `PASSTHROUGH` (normalizace + extrakce využití). Zpracovává ukládání bloků do vyrovnávací paměti, odhad využití a sledování délky obsahu. Instance kodéru/dekodéru pro každý stream se vyhýbají sdílenému stavu. -`streamHelpers.ts` | Nízkoúrovňové utility SSE: `parseSSELine` (tolerantní k bílým znakům), `hasValuableContent` (filtruje prázdné segmenty pro OpenAI/Claude/Gemini), `fixInvalidId` , `formatSSE` (serializace SSE s ohledem na formát s čištěním `perf_metrics` ). -`usageTracking.ts` | Extrakce využití tokenů z libovolného formátu (Claude/OpenAI/Gemini/Responses), odhad s oddělenými poměry znaků na token pro jednotlivé nástroje/zprávy, přidání vyrovnávací paměti (bezpečnostní rezerva 2000 tokenů), filtrování polí specifických pro formát, protokolování konzole s barvami ANSI. -`requestLogger.ts` | Protokolování požadavků na základě souborů (přihlášení pomocí `ENABLE_REQUEST_LOGS=true` ). Vytváří složky relací s očíslovanými soubory: `1_req_client.json` → `7_res_client.txt` . Veškeré I/O operace jsou asynchronní (aktivní a zapomenutý). Maskuje citlivé hlavičky. -`bypassHandler.ts` | Zachycuje specifické vzory z Claude CLI (extrakce názvu, zahřívání, počet) a vrací falešné odpovědi bez volání jakéhokoli poskytovatele. Podporuje streamování i nestreamování. Záměrně omezeno na rozsah Claude CLI. -`networkProxy.ts` | Rozpozná URL odchozí proxy pro daného poskytovatele s prioritou: konfigurace specifická pro poskytovatele → globální konfigurace → proměnné prostředí ( `HTTPS_PROXY` / `HTTP_PROXY` / `ALL_PROXY` ). Podporuje výjimky `NO_PROXY` . Ukládá konfiguraci do mezipaměti po dobu 30 sekund. +| Soubor | Účel | +| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `error.ts` | Vytváření chybové odezvy (formát kompatibilní s OpenAI), parsování chyb v upstreamu, extrakce doby opakování Antigravity z chybových zpráv, streamování chyb SSE. | +| `stream.ts` | **SSE Transform Stream** — základní streamovací kanál. Dva režimy: `TRANSLATE` (plný překlad formátu) a `PASSTHROUGH` (normalizace + extrakce využití). Zpracovává ukládání bloků do vyrovnávací paměti, odhad využití a sledování délky obsahu. Instance kodéru/dekodéru pro každý stream se vyhýbají sdílenému stavu. | +| `streamHelpers.ts` | Nízkoúrovňové utility SSE: `parseSSELine` (tolerantní k bílým znakům), `hasValuableContent` (filtruje prázdné segmenty pro OpenAI/Claude/Gemini), `fixInvalidId` , `formatSSE` (serializace SSE s ohledem na formát s čištěním `perf_metrics` ). | +| `usageTracking.ts` | Extrakce využití tokenů z libovolného formátu (Claude/OpenAI/Gemini/Responses), odhad s oddělenými poměry znaků na token pro jednotlivé nástroje/zprávy, přidání vyrovnávací paměti (bezpečnostní rezerva 2000 tokenů), filtrování polí specifických pro formát, protokolování konzole s barvami ANSI. | +| `requestLogger.ts` | Protokolování požadavků na základě souborů (přihlášení pomocí `ENABLE_REQUEST_LOGS=true` ). Vytváří složky relací s očíslovanými soubory: `1_req_client.json` → `7_res_client.txt` . Veškeré I/O operace jsou asynchronní (aktivní a zapomenutý). Maskuje citlivé hlavičky. | +| `bypassHandler.ts` | Zachycuje specifické vzory z Claude CLI (extrakce názvu, zahřívání, počet) a vrací falešné odpovědi bez volání jakéhokoli poskytovatele. Podporuje streamování i nestreamování. Záměrně omezeno na rozsah Claude CLI. | +| `networkProxy.ts` | Rozpozná URL odchozí proxy pro daného poskytovatele s prioritou: konfigurace specifická pro poskytovatele → globální konfigurace → proměnné prostředí ( `HTTPS_PROXY` / `HTTP_PROXY` / `ALL_PROXY` ). Podporuje výjimky `NO_PROXY` . Ukládá konfiguraci do mezipaměti po dobu 30 sekund. | #### Streamovací kanál SSE @@ -449,32 +449,32 @@ logs/ ### 4.7 Aplikační vrstva ( `src/` ) -Adresář | Účel ---- | --- -`src/app/` | Webové uživatelské rozhraní, trasy API, middleware Express, obslužné rutiny zpětných volání OAuth -`src/lib/` | Přístup k databázi ( `localDb.ts` , `usageDb.ts` ), ověřování, sdílení -`src/mitm/` | Nástroje proxy typu „man-in-the-middle“ pro zachycení provozu poskytovatelů -`src/models/` | Definice modelů databáze -`src/shared/` | Obálky kolem funkcí open-sse (provider, stream, error atd.) -`src/sse/` | Obslužné rutiny koncových bodů SSE, které propojují knihovnu open-sse s trasami Express -`src/store/` | Správa stavu aplikací +| Adresář | Účel | +| ------------- | ------------------------------------------------------------------------------------------------- | +| `src/app/` | Webové uživatelské rozhraní, trasy API, middleware Express, obslužné rutiny zpětných volání OAuth | +| `src/lib/` | Přístup k databázi ( `localDb.ts` , `usageDb.ts` ), ověřování, sdílení | +| `src/mitm/` | Nástroje proxy typu „man-in-the-middle“ pro zachycení provozu poskytovatelů | +| `src/models/` | Definice modelů databáze | +| `src/shared/` | Obálky kolem funkcí open-sse (provider, stream, error atd.) | +| `src/sse/` | Obslužné rutiny koncových bodů SSE, které propojují knihovnu open-sse s trasami Express | +| `src/store/` | Správa stavu aplikací | #### Významné trasy API -Trasa | Metody | Účel ---- | --- | --- -`/api/provider-models` | ZÍSKAT/ODESLAT/SMAZAT | CRUD pro vlastní modely na poskytovatele -`/api/models/catalog` | ZÍSKAT | Agregovaný katalog všech modelů (chat, embedding, image, custom) seskupených podle poskytovatele -`/api/settings/proxy` | ZÍSKAT/VLOŽIT/ODSTRANIT | Konfigurace hierarchické odchozí proxy ( `global/providers/combos/keys` ) -`/api/settings/proxy/test` | ZVEŘEJNIT | Ověřuje připojení proxy a vrací veřejnou IP adresu/latenci -`/v1/providers/[provider]/chat/completions` | ZVEŘEJNIT | Vyhrazené dokončování chatu pro jednotlivé poskytovatele s ověřováním modelu -`/v1/providers/[provider]/embeddings` | ZVEŘEJNIT | Vyhrazené vkládání pro jednotlivé poskytovatele s ověřováním modelu -`/v1/providers/[provider]/images/generations` | ZVEŘEJNIT | Vyhrazené generování obrázků pro každého poskytovatele s ověřováním modelu -`/api/settings/ip-filter` | ZÍSKAT/VLOŽIT | Správa povolených/blokovaných IP adres -`/api/settings/thinking-budget` | ZÍSKAT/VLOŽIT | Konfigurace rozpočtu tokenů zdůvodnění (průchozí/automatická/vlastní/adaptivní) -`/api/settings/system-prompt` | ZÍSKAT/VLOŽIT | Globální vložení systémového promptu pro všechny požadavky -`/api/sessions` | ZÍSKAT | Sledování a metriky aktivních relací -`/api/rate-limits` | ZÍSKAT | Stav limitu sazby na účet +| Trasa | Metody | Účel | +| --------------------------------------------- | --------------- | ------------------------------------------------------------------------------------------------ | +| `/api/provider-models` | GET/POST/DELETE | CRUD pro vlastní modely na poskytovatele | +| `/api/models/catalog` | GET | Agregovaný katalog všech modelů (chat, embedding, image, custom) seskupených podle poskytovatele | +| `/api/settings/proxy` | GET/PUT/DELETE | Konfigurace hierarchické odchozí proxy ( `global/providers/combos/keys` ) | +| `/api/settings/proxy/test` | POST | Ověřuje připojení proxy a vrací veřejnou IP adresu/latenci | +| `/v1/providers/[provider]/chat/completions` | POST | Vyhrazené dokončování chatu pro jednotlivé poskytovatele s ověřováním modelu | +| `/v1/providers/[provider]/embeddings` | POST | Vyhrazené vkládání pro jednotlivé poskytovatele s ověřováním modelu | +| `/v1/providers/[provider]/images/generations` | POST | Vyhrazené generování obrázků pro každého poskytovatele s ověřováním modelu | +| `/api/settings/ip-filter` | GET/PUT | Správa povolených/blokovaných IP adres | +| `/api/settings/thinking-budget` | GET/PUT | Konfigurace rozpočtu tokenů zdůvodnění (průchozí/automatická/vlastní/adaptivní) | +| `/api/settings/system-prompt` | GET/PUT | Globální vložení systémového promptu pro všechny požadavky | +| `/api/sessions` | GET | Sledování a metriky aktivních relací | +| `/api/rate-limits` | GET | Stav limitu sazby na účet | --- @@ -512,38 +512,38 @@ K hlášenému využití je přidána vyrovnávací paměť o kapacitě 2000 tok ## 6. Podporované formáty -Formát | Směr | Identifikátor ---- | --- | --- -Dokončení chatu OpenAI | zdroj + cíl | `openai` -API pro odpovědi OpenAI | zdroj + cíl | `openai-responses` -Antropický Claude | zdroj + cíl | `claude` -Google Gemini | zdroj + cíl | `gemini` -Rozhraní příkazového řádku Google Gemini | pouze cíl | `gemini-cli` -Antigravitace | zdroj + cíl | `antigravity` -AWS Kiro | pouze cíl | `kiro` -Kurzor | pouze cíl | `cursor` +| Formát | Směr | Identifikátor | +| ---------------------------------------- | ----------- | ------------------ | +| Dokončení chatu OpenAI | zdroj + cíl | `openai` | +| API pro odpovědi OpenAI | zdroj + cíl | `openai-responses` | +| Antropický Claude | zdroj + cíl | `claude` | +| Google Gemini | zdroj + cíl | `gemini` | +| Rozhraní příkazového řádku Google Gemini | pouze cíl | `gemini-cli` | +| Antigravitace | zdroj + cíl | `antigravity` | +| AWS Kiro | pouze cíl | `kiro` | +| Kurzor | pouze cíl | `cursor` | --- ## 7. Podporovaní poskytovatelé -Poskytovatel | Metoda ověřování | Vykonavatel | Klíčové poznámky ---- | --- | --- | --- -Antropický Claude | Klíč API nebo OAuth | Výchozí | Používá hlavičku `x-api-key` -Google Gemini | Klíč API nebo OAuth | Výchozí | Používá hlavičku `x-goog-api-key` -Rozhraní příkazového řádku Google Gemini | OAuth | GeminiCLI | Používá koncový bod `streamGenerateContent` -Antigravitace | OAuth | Antigravitace | Záložní více URL adres, vlastní analýza opakovaných pokusů -OpenAI | Klíč API | Výchozí | Autorizace standardního nosiče -Kodex | OAuth | Kodex | Vkládá systémové instrukce, řídí myšlení -GitHub Copilot | OAuth + token Copilot | Github | Duální token, napodobování záhlaví VSCode -Kiro (AWS) | AWS SSO OIDC nebo sociální sítě | Kiro | Analýza binárního EventStreamu -IDE kurzoru | Autorizace kontrolního součtu | Kurzor | Kódování Protobuf, kontrolní součty SHA-256 -Qwen | OAuth | Výchozí | Standardní ověřování -iFlow | OAuth (základní + nosič) | Výchozí | Duální hlavička pro autorizaci -OpenRouter | Klíč API | Výchozí | Autorizace standardního nosiče -GLM, Kimi, MiniMax | Klíč API | Výchozí | Kompatibilní s Claude, použijte `x-api-key` -`openai-compatible-*` | Klíč API | Výchozí | Dynamické: jakýkoli koncový bod kompatibilní s OpenAI -`anthropic-compatible-*` | Klíč API | Výchozí | Dynamický: jakýkoli koncový bod kompatibilní s Claude +| Poskytovatel | Metoda ověřování | Vykonavatel | Klíčové poznámky | +| ---------------------------------------- | ------------------------------- | ------------- | ---------------------------------------------------------- | +| Antropický Claude | Klíč API nebo OAuth | Výchozí | Používá hlavičku `x-api-key` | +| Google Gemini | Klíč API nebo OAuth | Výchozí | Používá hlavičku `x-goog-api-key` | +| Rozhraní příkazového řádku Google Gemini | OAuth | GeminiCLI | Používá koncový bod `streamGenerateContent` | +| Antigravitace | OAuth | Antigravitace | Záložní více URL adres, vlastní analýza opakovaných pokusů | +| OpenAI | Klíč API | Výchozí | Autorizace standardního nosiče | +| Kodex | OAuth | Kodex | Vkládá systémové instrukce, řídí myšlení | +| GitHub Copilot | OAuth + token Copilot | Github | Duální token, napodobování záhlaví VSCode | +| Kiro (AWS) | AWS SSO OIDC nebo sociální sítě | Kiro | Analýza binárního EventStreamu | +| IDE kurzoru | Autorizace kontrolního součtu | Kurzor | Kódování Protobuf, kontrolní součty SHA-256 | +| Qwen | OAuth | Výchozí | Standardní ověřování | +| iFlow | OAuth (základní + nosič) | Výchozí | Duální hlavička pro autorizaci | +| OpenRouter | Klíč API | Výchozí | Autorizace standardního nosiče | +| GLM, Kimi, MiniMax | Klíč API | Výchozí | Kompatibilní s Claude, použijte `x-api-key` | +| `openai-compatible-*` | Klíč API | Výchozí | Dynamické: jakýkoli koncový bod kompatibilní s OpenAI | +| `anthropic-compatible-*` | Klíč API | Výchozí | Dynamický: jakýkoli koncový bod kompatibilní s Claude | --- diff --git a/docs/i18n/cs/README.md b/docs/i18n/cs/README.md index d77fab67ac..50c4469cd1 100644 --- a/docs/i18n/cs/README.md +++ b/docs/i18n/cs/README.md @@ -1676,83 +1676,6 @@ Pokud si teď nechcete nastavovat vlastní přihlašovací údaje, můžete stá --- -
-🇧🇷 Versão em Português -
- -#### Pokud používáte OAuth pro Antigravity / Gemini CLI? - -Ověřeno **Antigravity** a **Gemini CLI** pomocí **Google OAuth 2.0** pro autenticitu. O Google exige que a `redirect_uri` usada no fluxo OAuth seja **exatamente** uma das URIs pre-cadastradas no Google Cloud Console to use. - -Jako credenciais OAuth embutidas no OmniRoute estão cadastradas **apenas para `localhost`** . Quando você acessa o OmniRoute em um servidor remote (ex: `https://omniroute.meuservidor.com` ), o Google rejeita a autenticação com: - -``` -Error 400: redirect_uri_mismatch -``` - -#### Řešení: Nakonfigurujte souas próprias credenciais OAuth - -Você precisa criar um **OAuth 2.0 Client ID** no Google Cloud Console com a URI do seu server. - -#### Přejít na přejezd - -**1. Přístup ke službě Google Cloud Console** - -Abra: [https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials) - -**2. Crie um novo OAuth 2.0 Client ID** - -- Klikněte na **„+ Vytvořit přihlašovací údaje“** → **„ID klienta OAuth“** -- Typ aplikace: **"Webová aplikace"** -- Název: escolha qualquer nome (např.: `OmniRoute Remote` ) - -**3. Adicione jako autorizované URI pro přesměrování** - -Žádné pole **"URI autorizovaného přesměrování"** , adicione: - -``` -https://seu-servidor.com/callback -``` - -> Substitua `seu-servidor.com` pelo domínio ou IP do seu servidor (včetně portu se necessário, např.: `http://45.33.32.156:20128/callback` ). - -**4. Uložte a kopii jako credenciais** - -Após criar, o Google Mostrará o **Client ID** eo **Client Secret** . - -**5. Nakonfigurujte jako variáveis ​​de ambiente** - -No seu `.env` (ou nas variáveis ​​de ambiente do Docker): - -```bash -# Para Antigravity: -ANTIGRAVITY_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com -ANTIGRAVITY_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret - -# Para Gemini CLI: -GEMINI_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com -GEMINI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret -GEMINI_CLI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret -``` - -**6. Reinicie o OmniRoute** - -```bash -# Se usando npm: -npm run dev - -# Se usando Docker: -docker restart omniroute -``` - -**7. Připojte se znovu** - -Řídicí panel → Poskytovatelé → Antigravity (nebo Gemini CLI) → OAuth - -Agora nebo Google redirecionará corretamente para `https://seu-servidor.com/callback` ea autenticação funcionará. - ---- - #### Řešení temporário (sem configurar credenciais próprias) Chcete-li získat přístup k kriterii pověření, můžete použít adresu **URL** : diff --git a/src/i18n/messages/cs.json b/src/i18n/messages/cs.json index f10b1e6268..4e43851eb5 100644 --- a/src/i18n/messages/cs.json +++ b/src/i18n/messages/cs.json @@ -27,7 +27,7 @@ "manage": "Spravovat", "name": "Jméno", "actions": "Akce", - "status": "Status", + "status": "Stav", "type": "Typ", "model": "Model", "models": "modely", @@ -184,7 +184,7 @@ "overviewDescription": "Sledujte vzorce používání API, spotřebu tokenů, náklady a trendy aktivity napříč všemi poskytovateli a modely.", "evalsDescription": "Spusťte sady vyhodnocovacích programů pro testování a ověření koncových bodů LLM. Porovnejte kvalitu modelu, detekujte regrese a srovnávajte latenci.", "overview": "Přehled", - "evals": "Evals" + "evals": "Evaly" }, "apiManager": { "title": "API Klíče", @@ -309,7 +309,7 @@ "refreshAuditLogAria": "Obnovit protokol auditu", "tableAria": "Záznamy protokolu auditu", "failedFetchAuditLog": "Nepodařilo se načíst protokol auditu", - "notAvailable": "—", + "notAvailable": "-", "description": "Administrativní akce a bezpečnostní události", "showing": "Zobrazeno {count} záznamů (offset {offset})", "previous": "Předchozí" @@ -422,8 +422,8 @@ "notReady": "Nepřipraven", "active": "Aktivní", "inactive": "Neaktivní", - "startMitm": "Start MITM", - "stopMitm": "Stop MITM", + "startMitm": "Start MITM proxy", + "stopMitm": "Stop MITM proxy", "mitmStarted": "MITM úspěšně zahájen!", "mitmStopped": "MITM úspěšně zastaven!", "failedStart": "Nepodařilo se spustit MITM", @@ -478,7 +478,7 @@ "failedRestoreBackup": "Obnovení zálohy se nezdařilo", "applied": "Aplikováno!", "failed": "Selhalo", - "resetDone": "Reset!", + "resetDone": "Resetováno!", "omnirouteConfiguredOpenAiCompatible": "OmniRoute je nakonfigurován jako poskytovatel kompatibilní s OpenAI", "provider": "Poskytovatel", "model": "Model", @@ -677,7 +677,7 @@ "saving": "Ukládání...", "weighted": "Vážené", "leastUsed": "Nejméně používané", - "costOpt": "Cost-Opt", + "costOpt": "Optimalizace nákladů", "strategyGuideTitle": "Jak tuto strategii používat", "strategyGuideWhen": "Kdy použít", "strategyGuideAvoid": "Vyhněte se, když", @@ -1093,7 +1093,7 @@ "latencyP95": "p95", "latencyP99": "p99", "millisecondsShort": "{hodnota}ms", - "notAvailable": "—", + "notAvailable": "-", "totalRequests": "Celkový počet žádostí", "noDataYet": "Zatím žádná data", "promptCache": "Mezipaměť výzev", @@ -1164,7 +1164,7 @@ "target": "Cíl", "details": "Podrobnosti", "ipAddress": "IP adresa", - "notAvailable": "—", + "notAvailable": "-", "noEntries": "Nenalezeny žádné položky protokolu auditu", "previous": "Předchozí", "next": "Další" @@ -1370,7 +1370,7 @@ "add": "Přidat", "edit": "Upravit", "delete": "Vymazat", - "anthropic": "Antropický", + "anthropic": "Anthropic", "openai": "OpenAI", "singleConnectionPerCompatible": "Na kompatibilní uzel je povoleno pouze jedno připojení. Pokud potřebujete více připojení, přidejte další uzel.", "connections": "Připojení", @@ -1419,7 +1419,7 @@ "aliasExistsAlert": "Alias ​​„{alias}“ již existuje. Použijte prosím jiný model nebo upravte existující alias.", "openRouterAnyModelHint": "OpenRouter podporuje jakýkoli model. Přidejte modely a vytvořte aliasy pro rychlý přístup.", "modelIdFromOpenRouter": "ID modelu (z OpenRouteru)", - "openRouterModelPlaceholder": "antropický/klaudi-3-opus", + "openRouterModelPlaceholder": "Anthropic/klaudi-3-opus", "customModels": "Vlastní modely", "customModelsHint": "Přidejte ID modelů, která nejsou ve výchozím seznamu. Budou k dispozici pro směrování.", "modelId": "ID modelu", @@ -1704,7 +1704,7 @@ "modelName": "Název modelu", "modelNamePlaceholder": "claude-sonnet-4-20250514", "providersCommaSeparated": "Poskytovatelé (odděleni čárkami, seřazeni podle priority)", - "providersCommaSeparatedPlaceholder": "antropický, otevřený, blíženec", + "providersCommaSeparatedPlaceholder": "Anthropic, otevřený, blíženec", "createChain": "Vytvořit řetězec", "noFallbackChains": "Žádné záložní řetězce", "noFallbackChainsDesc": "Vytvořte řetězec pro definování záložního pořadí poskytovatelů pro daný model.", @@ -1921,7 +1921,7 @@ "formatConverterDescription": "Vložte nebo zadejte tělo požadavku JSON. Překladač automaticky rozpozná zdrojový formát a převede jej do cílového formátu. Použijte to k ladění způsobu, jakým OmniRoute překládá požadavky mezi formáty (OpenAI ↔ Claude ↔ Gemini ↔ Responses API).", "input": "Vstup", "output": "Výstup", - "auto": "Auto", + "auto": "Automaticky", "swapFormats": "Vyměnit formáty", "translateAction": "Přeložit", "clear": "Jasný", @@ -2325,7 +2325,7 @@ "featureCloudSyncDesc": "Synchronizujte svá nastavení napříč zařízeními okamžitě.", "featureCliSupportTitle": "Podpora příkazového řádku", "featureCliSupportDesc": "Funguje s Claude Code, Codex, Cline, Cursor a dalšími.", - "featureDashboardTitle": "Dashboard", + "featureDashboardTitle": "Nástěnka", "featureDashboardDesc": "Vizuální dashboard pro analýzu provozu v reálném čase.", "howItWorks": "Jak funguje OmniRoute", "howItWorksDescription": "Data plynule proudí z vaší aplikace přes naši inteligentní směrovací vrstvu k nejlepšímu poskytovateli pro daný úkol.", @@ -2348,14 +2348,14 @@ "copied": "✓ Zkopírováno", "startingOmniRoute": "Spouštění OmniRoute...", "serverRunningOnLabel": "Server běží na", - "dashboardLabel": "Dashboard", + "dashboardLabel": "Nástěnka", "readyToRoute": "Připraveno k trasování! ✓", "configureProvidersNote": "📝 Nakonfigurujte poskytovatele v dashboardu nebo použijte proměnné prostředí", "dataLocation": "Umístění dat:", "dataLocationMacLinux": "macOS/Linux:", "dataLocationWindows": "Okna:", "product": "Produkt", - "dashboardLink": "Dashboard", + "dashboardLink": "Nástěnka", "changelog": "Seznam změn", "resources": "Zdroje", "documentation": "Dokumentace", @@ -2369,7 +2369,7 @@ "flowToolCline": "Cline", "flowToolCursor": "Kurzor", "flowProviderOpenAI": "OpenAI", - "flowProviderAnthropic": "Antropický", + "flowProviderAnthropic": "Anthropic", "flowProviderGemini": "Blíženci", "flowProviderGithubCopilot": "GitHub Copilot", "interactiveDiagram": "Interaktivní diagram viditelný na ploše", @@ -2581,7 +2581,7 @@ "addAgent": "Přidat agenta" }, "autoCombo": { - "title": "Auto-Combo Engine", + "title": "Auto-Kombo Engine", "statusNormal": "Normální", "statusIncident": "Režim incidentu", "modePack": "Balíček režimů",