chatgpt wywołuje backend Codex dostępny w ramach subskrypcji ChatGPT
(Plus, Pro, Business lub Enterprise). Użycie jest rozliczane z limitu
subskrypcji, a nie z klucza API OpenAI Platform.
Połącz go z przewodnikiem po Codex, aby uruchomić
Codex -> GoModel -> ChatGPT subscription.
Konfiguracja
Danymi uwierzytelniającymi jest access token z Twojego logowania do Codex:config.yaml:
~/.codex/auth.json jeszcze nie istnieje, najpierw uruchom
codex login. GoModel wyznacza ID konta ChatGPT z samego tokena, więc nic
więcej nie jest potrzebne.
Modele
Backend Codex nie ma endpointu listującego modele, więc GoModel dostarcza listę modeli, które może wywołać subskrypcja ChatGPT:The '<model>' model is not supported when using Codex with a ChatGPT account.
gpt-5.4 i gpt-5.4-mini znikają z Codex uwierzytelnianego przez ChatGPT
31 sierpnia 2026; zamiast nich używaj gpt-5.6-terra i gpt-5.6-luna. Oba
pozostają dostępne dla sesji Codex uwierzytelnianych kluczem API OpenAI, przez
providera openai.
Tylko Responses API
Backend Codex obsługuje wyłącznie/responses, więc /v1/chat/completions i
/v1/embeddings odpowiadają 501 dla modeli chatgpt. Używaj
/v1/responses – i tak to właśnie wysyła Codex.
Backend dodatkowo waliduje parametry względem ścisłej listy dozwolonych pól.
GoModel dostosowuje requesty, zamiast je odrzucać, więc wywołujący nadal
korzystają ze standardowego Responses API:
Ponieważ backend obsługuje wyłącznie streaming, niestreamingowy
POST /v1/responses jest realizowany przez streaming do upstreamu i zwrócenie
końcowego obiektu response. Klienci widzą zwykłą niestreamingową odpowiedź.
Zobacz Kompatybilność Responses, aby
dowiedzieć się, jak zachowuje się Responses API gatewaya u różnych providerów.
Prompt caching
Backend utrzymuje jedną rozmowę na rozgrzanym cache’u prefiksu, gdy każda tura niesie ten sam nagłóweksession-id; sam prompt_cache_key nie daje cache
hitów. GoModel wysyła wykrytą sesję jako
session-id albo, gdy nie wykryto sesji, prompt_cache_key klienta, a klucz
przekazuje także w body, tak jak robi to Codex CLI. Gdy klient nie wysyła
klucza, jego rolę przejmuje ID sesji, o ile mieści się w limicie 64 znaków
klucza.
Jeśli klient nie wysyła klucza, a GoModel nie wykrywa sesji, backend nie
dostaje żadnego z tych sygnałów. Wysyłaj prompt_cache_key, aby zachować cache
hity; nagłówek sesji, taki jak X-Session-Id, również działa, chyba że
ustawiono SESSION_KEEPING_ENABLED=false, co wyłącza wykrywanie sesji.
Aby sprawdzić współczynnik trafień na prawdziwym backendzie, uruchom opcjonalny
test live:
Raportowany koszt to nie rzeczywiste wydatki
Użycie w ramach subskrypcji jest rozliczane ryczałtowo, ale te ID modeli istnieją też w OpenAI Platform, więc katalog modeli przypisuje im ceny API za token. Rekordy użycia i sumy w dashboardzie dlachatgpt pokazują kwotę, która
nie odpowiada żadnemu faktycznemu obciążeniu, a ta sama kolizja sprawia, że
GET /v1/models ogłasza modes: ["chat", "responses"].
Tryby są kosmetyczne – wpływają na grupowanie w dashboardzie, nie na routing.
Ceny już nie: zasilają śledzenie kosztów, budżety
i load balancing cost.
Limity
Limit subskrypcji jest oddzielny od kredytów API. Gdy się wyczerpie, gateway przekazuje429: