Codex CLI/App: eigener Anbieter, API Key und Base URL
Konfiguriere Codex CLI und Codex App mit config.toml, auth.json, einem BetterToken API Key und der Responses-Base-URL. Mit Beispielen und Fehlerbehebung.
Codex CLI und Codex App teilen sich config.toml und auth.json für lokale Aufgaben. Diese Einrichtung nutzt einen BetterToken API Key über OpenAI Responses.
Wichtige Einstellungen
| Feld | Wert |
|---|---|
| API Key | auth.json → OPENAI_API_KEY |
| Base URL | https://bettertoken.ai/v1 |
| Modell | gpt-6-astra |
Voraussetzungen
- Installiere Node.js, wenn du npm oder das automatische BetterToken-Konfigurationsskript verwendest.
- Erstelle einen BetterToken API Key
- Kopiere eine Modell-ID aus dem model plaza oder dem Dialog Setup des Key
Du hast bereits ein Konto? Melde dich an, lade Guthaben auf und erstelle dann einen Schlüssel in der Konsole.
Installation
Die offiziellen eigenständigen Installer für macOS/Linux und Windows funktionieren ohne Node.js. Wenn du npm bevorzugst, installiere zuerst Node.js und führe dann Folgendes aus:
npm install -g @openai/codexDateien finden und sichern
Wenn du ein eigenes CODEX_HOME festgelegt hast, bearbeite dort config.toml und auth.json. Andernfalls nutze ~/.codex unter macOS / Linux oder %USERPROFILE%\.codex unter Windows. CLI und App müssen dasselbe Verzeichnis nutzen. WSL hat ein eigenes Benutzerverzeichnis.
Beende Codex vor dem Bearbeiten vollständig. Sichere beide Dateien an einem privaten Ort. Lege fehlende Dateien an. Ersetze bestehende Einstellungen, ohne Schlüssel oder Tabellen zu duplizieren; behalte andere Einstellungen bei.
Konfiguration über die Befehlszeile
Das automatische BetterToken-Konfigurationsskript schreibt die Anbieter-Konfiguration für Codex. Es benötigt Node.js und fragt nach API Key oder Modell-ID, wenn sie nicht als Argumente übergeben wurden.
macOS / Linux
curl -fsSL "https://bettertoken.ai/install-codex-provider.sh" | bashWindows
iwr "https://bettertoken.ai/install-codex-provider.ps1" -OutFile "$env:TEMP\install-codex-provider.ps1"; powershell -ExecutionPolicy Bypass -File "$env:TEMP\install-codex-provider.ps1"Vergleiche nach der Installation beide Dateien mit der manuellen Konfiguration unten und korrigiere Abweichungen vor dem Start von Codex.
Manuelle Konfiguration
config.toml bearbeiten
Diese Anleitung verwendet die benutzerweite config.toml. Oberste Schlüssel stehen vor allen TOML-Tabellen, nicht in [projects."<path>"]; diese Tabelle enthält den trust_level des Projekts. Provider-ID und Tabellenname müssen übereinstimmen. Bei Dateiauthentifizierung env_key und experimental_bearer_token aus dem ausgewählten Provider entfernen.
model_provider = "bettertoken"model = "gpt-6-astra"cli_auth_credentials_store = "file"
[model_providers.bettertoken]name = "BetterToken"base_url = "https://bettertoken.ai/v1"wire_api = "responses"requires_openai_auth = truesupports_websockets = falseDas Beispiel nutzt GPT-6 Astra (gpt-6-astra). Kopiere für ein anderes Modell die vollständige ID aus der model plaza und ersetze model. GPT, Kimi und GLM nutzen dieselbe Dateiauthentifizierung; die automatische Einrichtung ist für GPT verfügbar.
auth.json bearbeiten
auth.json befindet sich im selben Verzeichnis wie config.toml. Falls auth.json nicht existiert, erstelle die Datei in diesem Verzeichnis. Trage das folgende JSON als Dateiinhalt ein, ersetze YOUR_API_KEY durch deinen BetterToken API Key und speichere die Datei.
{ "auth_mode": "apikey", "OPENAI_API_KEY": "YOUR_API_KEY"}Konfigurationsparameter
| Parameter | Zweck und Position | Standardwerte und Beispiele |
|---|---|---|
model_provider | Benutzerkonfiguration, oberste Ebene; wählt die unten definierte ID. | Standard: openai; hier bettertoken. |
model | Oberste Ebene; vollständige Model ID aus dem Modellplatz. | Beispiel: gpt-6-astra; bei Bedarf ersetzen. |
cli_auth_credentials_store | Oberste Ebene; Speicher für Anmeldedaten. | Hier file: liest auth.json im selben Verzeichnis. |
name | Provider-Tabelle; nur der Anzeigename. | BetterToken ist keine Model ID. |
base_url | Provider-Tabelle; Base URL der Modell-API. | https://bettertoken.ai/v1 verwenden; Codex ergänzt /responses. |
wire_api | Provider-Tabelle; Anfrageprotokoll. | Nur responses wird aktuell unterstützt und ist der Standard. |
requires_openai_auth | Provider-Tabelle; OpenAI-Authentifizierung und Anmeldespeicher. | Standard: false; hier true. Kein Schalter zum Erhalten von Anmeldedateien. |
supports_websockets | Provider-Tabelle; Unterstützung für Responses WebSocket. | Standard: false; hier bleibt HTTP/SSE aktiv. |
auth_mode | In auth.json; Authentifizierungsmodus. | Hier apikey; ersetzt die offizielle ChatGPT-Authentifizierung. |
OPENAI_API_KEY | In auth.json; Schlüssel für API-Authentifizierung. | YOUR_API_KEY durch den BetterToken API Key ersetzen. |
Die Dateiauthentifizierung hier wechselt in den API-Key-Modus. Für den offiziellen Account verwende Anmeldung beibehalten; die Modi nicht mischen. Entscheidend ist das Authentifizierungsziel, nicht CLI, App oder Extension.
Optionale Anpassungen
Diese drei Einstellungen sind optional und für die Verbindung nicht erforderlich. Bei Bedarf in die vorhandene Tabelle [model_providers.bettertoken] einfügen; keine doppelte Tabelle erstellen.
request_max_retries = 4stream_max_retries = 8stream_idle_timeout_ms = 300000| Parameter | Zweck und Position | Standardwerte und Beispiele |
|---|---|---|
request_max_retries | Provider-Tabelle; maximale Wiederholungen einer HTTP-Anfrage. | Standard: 4; je nach Verbindung anpassen. |
stream_max_retries | Provider-Tabelle; Verbindungswiederholungen nach Stream-Abbruch. | Standard: 5; 8 ist ein optionaler benutzerdefinierter Wert. |
stream_idle_timeout_ms | Provider-Tabelle; Stream-Inaktivitätslimit in Millisekunden. | Standard: 300000; keine Gesamtdauer für die Aufgabe. |
Konfigurationsebenen und alte Schlüssel
Modell- und Denkeinstellungen gehören nicht in [projects."<path>"]. Ein projektspezifisches Modell kann auf oberster Ebene der .codex/config.toml eines vertrauenswürdigen Projekts stehen; Provider und Authentifizierung bleiben in der Benutzerkonfiguration. Aktuelle Profile verwenden NAME.config.toml unter CODEX_HOME, ausgewählt mit codex --profile NAME, statt alter [profiles.NAME]-Tabellen oder des obersten profile-Schlüssels.
Verbindung prüfen
Speichere beide Dateien. Starte eine neue Codex-CLI-Sitzung direkt im Terminal:
codexBeende Codex App einschließlich der Hintergrundprozesse vollständig. Öffne die App erneut und erstelle eine neue lokale Aufgabe. Sende in jedem verwendeten Client eine kurze Anfrage. Eine normale Antwort bestätigt die Verbindung dieses Clients.
Codex CLI 0.164.0 bestand auch Authentifizierungstests mit Umgebungsvariablen, einschließlich Datei-Leseaufrufen: env_key funktionierte mit requires_openai_auth = false und auch ohne dieses Feld.
Modelle wechseln
Ändere model und optional review_model. Speichere die Datei, beende den aktuellen Codex-Prozess und starte ihn neu. Verwende die Modell-ID aus dem Setup-Dialog oder model plaza.
Häufige Fehler
Prüfe bei 401, 403 oder einer Anmeldeaufforderung das aktive Verzeichnis, den Key in auth.json, auth_mode = apikey, cli_auth_credentials_store = file und requires_openai_auth = true. Prüfe bei Provider- oder Modellfehlern die passende Provider-ID, https://bettertoken.ai/v1, wire_api = responses und die Modellverfügbarkeit. Wenn Änderungen nicht greifen, prüfe Konfigurationsüberschreibungen und stelle sicher, dass CLI und App dasselbe CODEX_HOME nutzen.
Erweiterte Konfiguration
Codex-Erweiterung
CLI, App und Extension teilen die Konfiguration bei gleichem CODEX_HOME. Authentifizierung nach Ziel wählen: API Key oder offizielle Anmeldung beibehalten.
Anleitung für die Codex-Erweiterung
Verwandte Fragen
-
Offizielle Codex-Anmeldung mit einer Drittanbieter-API beibehalten
-
OpenAI-kompatible API im Vergleich zur Anthropic-kompatiblen API
Offizielle Referenz
Technische Details
Responses-Protokoll
Codex verwendet OpenAI Responses. Setze base_url auf https://bettertoken.ai/v1 und behalte wire_api = "responses" bei. Codex hängt /responses an.

