====== CLIProxyAPI ======
//Vytvořeno: **21.8.2026** | Aktualizováno: **~~LASTMOD~~**//
[[https://github.com/router-for-me/CLIProxyAPI|CLIProxyAPI]] je lokální proxy služba v Go, která převádí rozhraní OpenAI, Gemini, Anthropic/Claude, Codex a Grok. Umožňuje použít jeden AI klient nebo coding agent s modelem přihlášeným u jiného podporovaného poskytovatele.
===== Princip =====
CLIProxyAPI stojí mezi klientem a modelem. Přijme požadavek v protokolu klienta, přeloží jej pro zvolený upstream a odpověď vrátí zpět v očekávaném formátu.
Claude Code → CLIProxyAPI → Codex/GPT, Claude, Gemini, Grok nebo jiný kompatibilní upstream
Projekt podporuje OAuth přihlášení pro Codex, Claude Code, Gemini/Antigravity a Grok Build, API klíče i vlastní OpenAI-compatible upstreamy. Podle podpory upstreamu zprostředkuje streaming, tool/function calling, multimodální vstupy a některé WebSocket scénáře.
===== Ověřená instalace pro Claude Code a ChatGPT =====
Následující postup byl ověřený na Alpine Linuxu pro ARM64. CLIProxyAPI bylo sestavené ze zdrojových kódů; projekt vyžadoval Go alespoň ve verzi 1.26. Lokální Go 1.25.10 proto sestavení odmítlo. Pokud není vynucený ''GOTOOLCHAIN=local'', Go si může potřebný toolchain stáhnout automaticky.
Pro izolované lokální použití má proxy poslouchat na ''127.0.0.1'' a používat samostatný adresář ''~/.cli-proxy-api'' pro konfiguraci a OAuth credentials. V ověřené instalaci běžela na portu ''8317''.
==== Přihlášení k ChatGPT přes Codex OAuth ====
Podle [[https://help.router-for.me/agent-client/claude-code|dokumentace pro Claude Code]] umí CLIProxyAPI vystavit Anthropic-compatible rozhraní. Pro headless prostředí fungovalo přihlášení Codex device-code flow:
./cli-proxy-api --codex-device-login
Příkaz vypíše jednorázový kód. Ten se dokončí v prohlížeči na zařízení, kde je možné se přihlásit k ChatGPT účtu. Po úspěšném přihlášení se credentials uloží do ''~/.cli-proxy-api''.
Proxy se následně spustí například takto:
cd ~/cliproxyapi && nohup ./cli-proxy-api -config ~/.cli-proxy-api/config.yaml > ~/cliproxyapi.log 2>&1 &
Ověřené byly endpointy ''/v1/models'' i Anthropic-compatible ''/v1/messages''; proxy vrátila modely i odpověď z GPT modelu. Proces spuštěný přes ''nohup'' přežije zavření terminálu, ale ne restart kontejneru nebo hostitele. Trvalé spuštění přes OpenRC či jiný init systém je potřeba nastavit zvlášť.
==== Samostatný příkaz ''claudex'' ====
Globální ''~/.claude/settings.json'' není vhodné přepisovat, pokud má běžný příkaz ''claude'' dál mířit přímo na Anthropic. Praktické řešení je samostatný wrapper ''~/.local/bin/claudex'', který nastaví proxy pouze pro nový proces:
#!/usr/bin/env bash
export ANTHROPIC_BASE_URL="http://127.0.0.1:8317"
export ANTHROPIC_AUTH_TOKEN=""
export CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY="1"
exec claude "$@"
''ANTHROPIC_AUTH_TOKEN'' je API klíč nastavený pro CLIProxyAPI; do wrapperu nepatří skutečný klíč zkopírovaný do dokumentace nebo repozitáře. Proměnná ''CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1'' zpřístupní modely oznámené proxy. Po spuštění ''claudex'' lze model vybrat přes ''/model'' nebo ho předat při startu:
claudex --model gpt-5.6-sol
Při ověřené instalaci byly přes proxy dostupné mimo jiné modely ''gpt-5.6-sol'', ''gpt-5.6-terra'' a ''gpt-5.6-luna''. Dostupný seznam závisí na aktuálním přihlášeném účtu a verzi proxy; je vhodné si jej ověřit přes ''/v1/models''.
==== Co nelze přepnout za běhu ====
''ANTHROPIC_BASE_URL'' určuje server při startu Claude Code. Příkaz ''/model'' mění pouze vybraný model na již nastaveném serveru, ne připojený server. Nelze tedy mít jednu spuštěnou session přímo u Anthropicu a za běhu ji přepnout na lokální GPT proxy.
Pro zachování oddělených backendů je možné používat:
* ''claude'' pro přímé připojení k Anthropicu,
* ''claudex'' pro GPT přes lokální CLIProxyAPI.
Při změně backendu jde o nový proces Claude Code. Volba ''--continue'' může navázat na historii předchozí session, ale nejde o živé přepnutí backendu. Stejně tak nelze v jedné session nechat hlavního agenta přímo na Anthropicu a pouze subagenta poslat přes tuto proxy: všechny procesy session sdílejí stejné připojení.
===== Claude Code s jiným modelem =====
Pro Claude Code je podstatné, že proxy vystaví Claude-compatible endpoint a katalog modelů. Po přihlášení potřebného účtu nebo nastavení API klíče může Claude Code požadovat dostupný model podle jeho ID.
Název modelu může být skutečné upstream ID nebo alias definovaný v konfiguraci. Alias slouží jen pro routing; není důkazem, který model požadavek skutečně obsloužil. Pro přehledný provoz je vhodné zachovat názvy podle skutečného backendu, například ''gpt-…'', ''gemini-…'' a ''claude-…''.
To znamená, že Claude Code zůstává uživatelským a agentním rozhraním, ale model, který generuje odpovědi, lze vybrat na straně proxy. Jde o překladovou vrstvu, nikoli o nativní podporu těchto modelů v Claude Code.
[[https://x.com/thsottiaux/status/2076119366647894371?s=20|Příspěvek Tibo na X]] ukazuje stejný princip přes alias ''claudex'', který spouští Claude Code s modelem ''gpt-5.6-sol''.
===== Routing více účtů a modelů =====
Při více přihlašovacích údajích umí CLIProxyAPI používat round-robin, weighted round-robin nebo fill-first routing. Konfigurace obsahuje také retry, cooldown po chybách, volitelnou afinitu relace ke konkrétnímu účtu a modelové prefixy pro jednoznačné směrování.
Tato vrstva je užitečná hlavně tehdy, když je potřeba:
* přepínat backendové modely bez změny hlavního klienta,
* používat více účtů stejného poskytovatele,
* směrovat různé modelové názvy na různé upstreamy,
* provozovat klienta nad vlastním OpenAI-compatible API.
===== Bezpečnost a provoz =====
Proxy pracuje s OAuth tokeny a API klíči. Výchozí konfigurační soubor nastavuje ''host: ""'', což znamená naslouchání na všech IPv4 a IPv6 rozhraních. Pro lokální použití je bezpečnější nastavit ''127.0.0.1'' nebo ''localhost'', používat vlastní silný API klíč a nevystavovat službu ani její management rozhraní přímo do internetu.
Přihlašovací údaje se standardně ukládají do ''~/.cli-proxy-api''. Management API vyžaduje samostatný tajný klíč; pokud zůstane prázdný, management endpointy se nezpřístupní. Pluginy jsou ve výchozí konfiguraci vypnuté, protože se načítají jako důvěryhodný kód přímo do procesu.
===== Kontextové okno GPT podle předplatného =====
Při ověřování jsem zjistil, že velikost kontextového okna GPT modelů v katalogu proxy závisí na úrovni ChatGPT předplatného. CLIProxyAPI si z přihlašovacího tokenu přečte ''plan_type'' a podle něj vybere odpovídající sadu modelů. Pro účet Plus živé hodnoty odpovídaly sloupci ''codex-plus'' přesně, řádek po řádku.
^ Model ^ codex-free ^ codex-team ^ codex-plus ^ codex-pro ^
| ''gpt-6-astra'' | — | 272 000 | 272 000 | 272 000 |
| ''gpt-5.6-luna'' | 372 000 | 372 000 | 372 000 | 921 000 |
| ''gpt-5.6-sol'' | — | 372 000 | 372 000 | 921 000 |
| ''gpt-5.6-terra'' | 372 000 | 372 000 | 372 000 | 921 000 |
| ''gpt-5.5'' | 272 000 | 272 000 | 272 000 | 272 000 |
| ''gpt-5.3-codex-spark'' | — | — | 128 000 | 128 000 |
Hodnoty pocházejí z katalogu proxy v ''sdk/cliproxy/service_models.go''. U účtu Plus je typ předplatného vidět také v názvu OAuth souboru ''~/.cli-proxy-api/codex-…-plus.json''. Stejný model proto může mít podle tarifu odlišné kontextové okno; nejvýraznější rozdíl je u modelů ''gpt-5.6-luna'', ''gpt-5.6-sol'' a ''gpt-5.6-terra'', které mají v sadě ''codex-pro'' hodnotu 921 000 oproti 372 000 u ''codex-plus''.
===== Omezení =====
Překlad protokolu nemůže zaručit plnou shodu funkcí. Záleží na konkrétním modelu a upstreamu, zda správně fungují tool calls, streaming, reasoning bloky, prompt cache, dlouhé relace nebo poskytovatelem specifické funkce.
Použití OAuth předplatného přes jiný klient také automaticky neznamená oprávnění k API použití. Před nasazením je potřeba ověřit aktuální podmínky každého použitého poskytovatele; použití proxy s OAuth tokenem může nést riziko omezení nebo blokace účtu.
Pokud má Codex fungovat jako samostatný specialista vedle Claude Code, místo náhrady hlavního backendu, je vhodnější [[ai:mcp:cc-codex-bridge|cc-codex-bridge]].
===== Zdroje =====
* [[https://github.com/router-for-me/CLIProxyAPI|CLIProxyAPI – zdrojový kód a dokumentace]]
* [[https://help.router-for.me/agent-client/claude-code|CLIProxyAPI – konfigurace Claude Code]]
* [[https://x.com/thsottiaux/status/2076119366647894371?s=20|Tibo na X – ukázka aliasu claudex]]