Codex config.toml: eigener Provider, Base URL und API Key
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.
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.
Minimale funktionsfähige 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
Für einen organisationsverwalteten Token-Helper siehe die Authentifizierung von Providern über Befehle. Sie ist eine Alternative zu diesem Beispiel mit Dateiauthentifizierung: Eine Provider-Tabelle auth kann nicht mit env_key, experimental_bearer_token oder requires_openai_auth kombiniert werden. Verwende den Helper und die Konfiguration, die dir deine Administration bereitstellt.
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.
Neu starten und 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.
Fehlerbehebung
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.
Verwandte Dokumentation
- Vollständige Codex-Einrichtungsanleitung
- Eigene Base URL in der Codex-Erweiterung für VS Code konfigurieren
- model_provider, base_url und wire_api erklärt
- Codex CLI Sandbox- und Freigabemodus
- Was ist AGENTS.md?

