Zum Inhalt springen
Kostenlos registrieren
Coding Agents einrichten

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

FeldWert
API Keyauth.json → OPENAI_API_KEY
Base URLhttps://bettertoken.ai/v1
Modellgpt-6-astra

Voraussetzungen

Registrieren und BetterToken API Key erhalten

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:

Terminal-Fenster
npm install -g @openai/codex

Dateien 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

Terminal-Fenster
curl -fsSL "https://bettertoken.ai/install-codex-provider.sh" | bash

Windows

Terminal-Fenster
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 = true
supports_websockets = false

Das 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

ParameterZweck und PositionStandardwerte und Beispiele
model_providerBenutzerkonfiguration, oberste Ebene; wählt die unten definierte ID.Standard: openai; hier bettertoken.
modelOberste Ebene; vollständige Model ID aus dem Modellplatz.Beispiel: gpt-6-astra; bei Bedarf ersetzen.
cli_auth_credentials_storeOberste Ebene; Speicher für Anmeldedaten.Hier file: liest auth.json im selben Verzeichnis.
nameProvider-Tabelle; nur der Anzeigename.BetterToken ist keine Model ID.
base_urlProvider-Tabelle; Base URL der Modell-API.https://bettertoken.ai/v1 verwenden; Codex ergänzt /responses.
wire_apiProvider-Tabelle; Anfrageprotokoll.Nur responses wird aktuell unterstützt und ist der Standard.
requires_openai_authProvider-Tabelle; OpenAI-Authentifizierung und Anmeldespeicher.Standard: false; hier true. Kein Schalter zum Erhalten von Anmeldedateien.
supports_websocketsProvider-Tabelle; Unterstützung für Responses WebSocket.Standard: false; hier bleibt HTTP/SSE aktiv.
auth_modeIn auth.json; Authentifizierungsmodus.Hier apikey; ersetzt die offizielle ChatGPT-Authentifizierung.
OPENAI_API_KEYIn 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 = 4
stream_max_retries = 8
stream_idle_timeout_ms = 300000
ParameterZweck und PositionStandardwerte und Beispiele
request_max_retriesProvider-Tabelle; maximale Wiederholungen einer HTTP-Anfrage.Standard: 4; je nach Verbindung anpassen.
stream_max_retriesProvider-Tabelle; Verbindungswiederholungen nach Stream-Abbruch.Standard: 5; 8 ist ein optionaler benutzerdefinierter Wert.
stream_idle_timeout_msProvider-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:

Terminal-Fenster
codex

Beende 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 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.