OpenAI-kompatible API in Codex einrichten

Richten Sie in Codex einen Custom Model Provider mit der richtigen Base URL und Responses API ein und prüfen Sie die Verbindung mit einer sicheren Anfrage.

OpenAI-kompatible API in Codex einrichten

Um eine kompatible API mit Codex zu verbinden, legen Sie in der Benutzerkonfiguration einen Custom Model Provider an. Geben Sie die Base URL des Providers, die Umgebungsvariable für den API-Key und das Protokoll responses an. Kompatibilität mit /v1/chat/completions allein reicht nicht aus: Aktuelle Custom Provider in Codex verwenden die Responses API. Die folgenden vier Schritte einschließlich des Starts mit --profile gelten ausschließlich für Codex CLI.

Für BetterToken lauten die richtigen Werte base_url = "https://www.bettertoken.ai/v1?utm_source=blog&utm_medium=organic_content&utm_campaign=SEO-016&utm_content=openai-sovmestimyy-api-codex-podklyuchenie", env_key = "BETTERTOKEN_API_KEY" und wire_api = "responses". Öffnen Sie vor dem Start die aktuelle BetterToken-Anleitung für Codex, erstellen Sie Ihren eigenen API-Key und kopieren Sie die aktuelle vollständige Model ID aus Setup, model plaza oder der aktuellen Anleitung. Namen von Gruppen und Mappings können sich ändern; übernehmen Sie sie daher nicht aus älteren Beispielen. Dies ist ein separater API-Workflow und kein Zugriff auf Funktionen eines ChatGPT-Abonnements.

Voraussetzungen

  • Node.js und npm, da beide für die Installation der offiziellen Codex CLI benötigt werden.
  • Ihr eigenes BetterToken-Konto, Ihr eigener API-Key und die aktuelle vollständige Model ID aus Setup, model plaza oder der aktuellen Anleitung.
  • Ausreichendes Guthaben oder ein aktuell verfügbares Testkontingent für eine kurze Anfrage. Berechtigung, Gültigkeit, unterstützte Modelle und weitere Regeln richten sich nach dem aktuellen Workspace oder Angebot.
  • Ein Terminal unter macOS/Linux oder Windows PowerShell. Für beide Systeme finden Sie unten die passenden Befehle.
  • Bei einem anderen Provider die Bestätigung, dass Responses API, SSE-Streaming und die von Ihnen benötigten Tool Calls unterstützt werden.

Kompatibilität vor der Einrichtung prüfen

Codex-AnforderungWas Sie beim Provider klären solltenWarum das wichtig ist
Responses APIWerden /v1/responses und Streaming unterstützt?Chat Completions allein ersetzt Responses nicht
Bearer authenticationKann der Schlüssel über eine Umgebungsvariable bereitgestellt werden?Ein Geheimnis darf nicht in einer öffentlichen TOML-Datei stehen
Model IDWelche exakte ID ist mit dem aktuellen Schlüssel und Mapping verfügbar?Der Anzeigename kann von der API ID abweichen
SSE-StreamingWie werden lange Antworten und Unterbrechungen behandelt?Codex verarbeitet gestreamte Antworten
Tool CallsWelche Tools und Responses-Felder werden unterstützt?„OpenAI-kompatibel“ garantiert keine vollständige Kompatibilität mit allen OpenAI-API-Funktionen

Zeigt der Provider nur ein Beispiel für Chat Completions und macht keine Angaben zu Responses, holen Sie zuerst eine Bestätigung ein oder führen Sie eine minimale Testanfrage aus. Übernehmen Sie die Konfiguration eines gewöhnlichen Chat-Clients nicht ungeprüft in Codex.

Schritt 1. Codex CLI installieren oder aktualisieren

npm install -g @openai/codex codex --version

Prüfen Sie die aktuellen Felder in der offiziellen Codex Config Reference. Mit Stand vom 14. August 2026 wählt model_provider einen Eintrag aus model_providers, env_key benennt die Umgebungsvariable mit dem Provider-Schlüssel und responses ist der einzige unterstützte Wert für wire_api. Die aktuelle Referenz speichert benannte Profile neben der Hauptdatei config.toml und wählt sie mit --profile profile-name aus.

Schritt 2. Separate Profildatei erstellen

Die aktuelle OpenAI Config Reference speichert das benannte Profil unter $CODEX_HOME/bt.config.toml. Standardmäßig entspricht CODEX_HOME unter macOS/Linux meist ~/.codex und unter Windows %USERPROFILE%\.codex. Ein benutzerdefinierter Wert hat jedoch Vorrang und ändert den tatsächlichen Pfad.

Prüfen Sie unter macOS/Linux das Verzeichnis, ohne die Variable zu ändern:

printf '%s\n' "${CODEX_HOME:-$HOME/.codex}"

In PowerShell:

if ($env:CODEX_HOME) { $env:CODEX_HOME } else { Join-Path $env:USERPROFILE ".codex" }

Erstellen Sie bt.config.toml genau im angezeigten Verzeichnis:

model = "YOUR_MODEL_ID" model_provider = "bettertoken" [model_providers.bettertoken] name = "BetterToken" base_url = "https://www.bettertoken.ai/v1?utm_source=blog&utm_medium=organic_content&utm_campaign=SEO-016&utm_content=openai-sovmestimyy-api-codex-podklyuchenie" env_key = "BETTERTOKEN_API_KEY" wire_api = "responses" requires_openai_auth = false request_max_retries = 4 stream_max_retries = 8 stream_idle_timeout_ms = 300000 supports_websockets = false

Die Datei $CODEX_HOME/bt.config.toml entspricht dem Befehl --profile bt. Dieses Profil ersetzt nicht die Hauptdatei $CODEX_HOME/config.toml, sodass der offizielle Provider weiter verfügbar bleibt. Ersetzen Sie YOUR_MODEL_ID durch die aktuelle vollständige API ID aus Setup, model plaza oder der aktuellen Anleitung. Verwenden Sie nicht den Anzeigenamen des Modells, wenn er von der API ID abweicht.

Auch die Provider-Namen müssen exakt übereinstimmen: Das auf der Stammebene gesetzte model_provider = "bettertoken" verweist auf [model_providers.bettertoken].

Codex hängt /responses selbst an. Deshalb endet die Base URL mit /v1 und nicht mit /v1/responses; andernfalls würde der Pfad doppelt angefügt.

Schritt 3. API-Key über die Umgebung bereitstellen

Unter macOS/Linux:

export BETTERTOKEN_API_KEY="YOUR_API_KEY"

Nutzen Sie für eine dauerhafte Konfiguration einen geschützten Secret Manager oder eine Shell-Konfigurationsdatei mit geeigneten Zugriffsrechten. Speichern Sie den Schlüssel niemals in einem Repository, in .env.example, im README oder in einem Befehl, der in der Shell-History eines gemeinsam genutzten Computers verbleibt. Schreiben Sie den BetterToken-Schlüssel nicht in ~/.codex/auth.json; diese Datei dient der offiziellen Codex-Anmeldung.

Prüfen Sie, ob die Variable gesetzt ist, ohne ihren Wert auszugeben:

test -n "$BETTERTOKEN_API_KEY" && echo "BETTERTOKEN_API_KEY is set"

Legen Sie den Schlüssel in Windows PowerShell für das aktuelle Fenster fest und speichern Sie ihn für künftige Sitzungen:

$env:BETTERTOKEN_API_KEY = "YOUR_API_KEY" [Environment]::SetEnvironmentVariable("BETTERTOKEN_API_KEY", "YOUR_API_KEY", "User") if ($env:BETTERTOKEN_API_KEY) { "BETTERTOKEN_API_KEY is set" }

Schritt 4. Profil starten und Route prüfen

Starten Sie Codex CLI neu und führen Sie Folgendes aus:

codex --profile bt

Der erste Test sollte kurz sein und keine Dateien verändern:

Antworte in genau einer Zeile: CODEX_PROVIDER_OK. Ändere keine Dateien und führe keine Befehle aus.

Eine korrekte Antwort allein beweist nicht, über welche Route die Anfrage verarbeitet wurde. Prüfen Sie alle folgenden Punkte:

  • Die Antwort kommt ohne Authentifizierungs-, Modell- oder Protokollfehler an.
  • Das aktive Modell stimmt mit der ausgewählten Model ID überein.
  • Nach dem Testzeitpunkt erscheint im BetterToken Workspace eine neue Anfrage mit dem erwarteten Modell, Status und Verbrauch.

Lassen Sie Codex danach genau eine entbehrliche Testdatei lesen. Öffnen Sie erst nach diesem erfolgreichen Read-only-Test ein Arbeits-Repository oder erlauben Sie Dateiänderungen.

Die vier Schritte mit --profile in diesem Abschnitt gelten ausschließlich für Codex CLI. Prüfen Sie für Codex Desktop in der aktuellen BetterToken-Anleitung, wie die Konfiguration ausgewählt und der Client gestartet wird. Folgen Sie für die VS Code Extension der separaten Anleitung; übernehmen Sie das CLI-Profil und dessen Authentifizierung nicht ungeprüft.

Diagnose nach Fehlercode

Profil nicht gefunden oder Konfiguration nicht angewendet

Prüfen Sie drei exakte Übereinstimmungen: Die Datei heißt bt.config.toml, der Befehl enthält --profile bt, und model_provider = "bettertoken" verweist auf [model_providers.bettertoken]. Beenden Sie Codex CLI anschließend vollständig, öffnen Sie ein neues Terminal und wiederholen Sie den kurzen Test.

Alte OpenAI-Umgebungsvariablen können die erwartete Route überschreiben. Prüfen Sie unter macOS/Linux nur, ob sie vorhanden sind, ohne ihre Werte auszugeben, und entfernen Sie sie anschließend:

test -n "$OPENAI_API_KEY" && echo "OPENAI_API_KEY is set" test -n "$OPENAI_BASE_URL" && echo "OPENAI_BASE_URL is set" unset OPENAI_API_KEY OPENAI_BASE_URL

Entfernen Sie sie in PowerShell aus dem aktuellen Fenster und aus künftigen Benutzersitzungen:

Remove-Item Env:OPENAI_API_KEY -ErrorAction SilentlyContinue Remove-Item Env:OPENAI_BASE_URL -ErrorAction SilentlyContinue [Environment]::SetEnvironmentVariable("OPENAI_API_KEY", $null, "User") [Environment]::SetEnvironmentVariable("OPENAI_BASE_URL", $null, "User")

Öffnen Sie nach der Bereinigung ein neues Terminal, setzen Sie erneut ausschließlich BETTERTOKEN_API_KEY und führen Sie codex --profile bt aus.

404 oder HTML statt JSON

Meist wurde der Endpoint falsch zusammengesetzt. Stellen Sie sicher, dass base_url weder /responses noch /chat/completions oder einen zusätzlichen Proxy-Pfad enthält. Für BetterToken muss der Wert exakt `https://www.bettertoken.ai/v1%60?utm_source=blog&utm_medium=organic_content&utm_campaign=SEO-016&utm_content=openai-sovmestimyy-api-codex-podklyuchenie lauten.

401 oder 403

Prüfen Sie den Namen von env_key, stellen Sie sicher, dass BETTERTOKEN_API_KEY im selben Prozess wie Codex verfügbar ist, und prüfen Sie, ob das gewählte Modell mit dem aktuellen Mapping des Schlüssels zugänglich ist. Falls der Schlüssel in einem Log oder einer anderen sichtbaren Ausgabe gelandet sein könnte, widerrufen Sie ihn und erstellen Sie einen neuen.

model not found

Kopieren Sie die aktuelle vollständige Model ID erneut aus Setup, model plaza oder der aktuellen Anleitung und prüfen Sie, ob sie mit dem aktuellen Mapping des Schlüssels verfügbar ist. Raten Sie kein Versionssuffix und behandeln Sie den Namen einer alten Gruppe nicht als dauerhaft.

Fehler bei Chat Completions oder nicht unterstütztes Feld

Prüfen Sie, ob wire_api = "responses" gesetzt ist und der Provider die von Codex benötigten Funktionen der Responses API tatsächlich implementiert. Eine Änderung auf chat hilft nicht: Die aktuelle Codex-Referenz akzeptiert für Custom Provider nur responses.

Stream startet und bricht ab

Wiederholen Sie zunächst eine einzige kurze Anfrage. Schlägt sie erneut fehl, prüfen Sie Proxy, Timeout und SSE-Unterstützung. Erhöhen Sie die Zahl der Retries nicht unbegrenzt: Wiederholungen können doppelte Anfragen und zusätzlichen Verbrauch verursachen.

Zurückwechseln, ohne die offizielle Konfiguration zu verlieren

Da der Provider in $CODEX_HOME/bt.config.toml isoliert ist, beenden Sie in Codex CLI die aktuelle Sitzung und starten Sie den Client ohne --profile bt; dadurch gilt wieder die Hauptdatei $CODEX_HOME/config.toml. Löschen Sie auth.json nicht und ersetzen Sie den offiziellen Token nicht durch einen API-Key eines Drittanbieters. Befolgen Sie für Codex Desktop das Auswahl- oder Rücksetzverfahren aus der aktuellen Anleitung. Nutzen Sie für die VS Code Extension die Rücksetzschritte aus ihrer separaten Anleitung.

Fazit

Für eine funktionierende Codex-Verbindung genügt eine „OpenAI-kompatible“ URL nicht. Vier Elemente müssen zusammenpassen: Unterstützung der Responses API, die exakte Base URL, eine verfügbare Model ID und die Umgebungsvariable mit dem API-Key. Halten Sie den Custom Provider in einer separaten Profildatei, führen Sie einen Read-only-Test aus und prüfen Sie die neue Anfrage im Workspace, bevor Sie ein Arbeits-Repository öffnen.

Um keine veralteten Felder oder Mappings zu übernehmen, folgen Sie der aktuellen BetterToken-Konfiguration für Codex, erstellen Sie Ihren eigenen API-Key, kopieren Sie die aktuelle vollständige Model ID und senden Sie die erste schreibgeschützte Anfrage mit dem Profil bt.

Bereit, Ihren LLM-Workflow zu optimieren?

Verbinden Sie Modelle über eine API, verwalten Sie Schlüssel und behalten Sie KI-Kosten im Blick.