Codex Komplettes Tutorial
Von der Installation zur Meisterschaft — Komplette Anleitung zur Nutzung von OpenAI Codex CLI mit QCode.cc
Auf dieser Seite
- Überblick
- 1. Einführung in Codex
- 2. Codex CLI installieren
- 3. QCode.cc-Konfiguration
- 4. Grundlegendes Nutzungs-Tutorial
- 5. Erweiterte Konfiguration
- 6. Vergleich: Claude Code vs Codex
- 7. Praxisbeispiele
- Beispiel 1: Ein neues Projekt verstehen
- Beispiel 2: Code-Review
- Beispiel 3: Batch-Refactoring
- Beispiel 4: Vollständiges Test-Suite schreiben
- Beispiel 5: Autonomes Beheben von Testfehlern
- Beispiel 6: UI aus Design-Mockup implementieren
- Beispiel 7: Datenbankmigration
- Beispiel 8: Changelog automatisch in CI/CD generieren
- 8. FAQ
- 10. Weiterführende Dokumentation
Letzte Überprüfung: 2026-09-18 · 📄 Gemäß offizieller Dokumentation (Codex CLI v0.155.0, veröffentlicht am 2026-09-17) · Das Profilverhalten in Abschnitt 5.4 wurde zusätzlich lokal getestet (✅ codex-cli 0.155.0, isoliertes HOME, keine Modellanfragen gesendet)
Überblick¶
| Element | Details |
|---|---|
| Verfügbare Modelle | GPT ✅ (Responses-Zweig) · Claude ❌ · Chinesische Modelle ❌ (der Responses-Zweig bedient sie nicht) · Gemini ❌ |
| Protokoll & Base URL | OpenAI Responses: base_url = "https://api.qcode.cc/openai" + wire_api = "responses" in config.toml |
| Konfiguration unter | ~/.codex/config.toml (Windows: %USERPROFILE%\.codex\) |
| Offizielle Dokumentation | openai/codex |
📖 Warum unterscheidet sich die
base_urlvon Codex vonANTHROPIC_BASE_URLbei Claude? Was ist der Unterschied zwischen/openaiund/openai/v1? Siehe Endpunkte & API-Pfade.
Dies ist ein komplettes Codex CLI Tutorial für Entwickler im chinesischsprachigen Raum, das Sie von null auf die Installation, Konfiguration und Nutzung von OpenAI Codex CLI führt – mit kostengünstiger, latenzarmer KI-Programmiererfahrung über QCode.cc. Ob Sie zum ersten Mal ein KI-Programmierungstool verwenden oder bereits Claude Code nutzen und ein neues Tool ausprobieren möchten: Dieses Tutorial ist für Sie geeignet.
1. Einführung in Codex¶
Was ist OpenAI Codex CLI?¶
Codex CLI ist ein Open-Source-Kommandozeilen-KI-Programmierassistent (Apache-2.0-Lizenz) von OpenAI, geschrieben in Rust, der direkt im Terminal ausgeführt werden kann. Er kann:
- Ihr Code-Repository lesen und verstehen
- Dateien bearbeiten und neuen Code generieren
- Befehle ausführen (z. B. Tests ausführen, Abhängigkeiten installieren)
- Autonom iterieren, bis die Aufgabe abgeschlossen ist
Die Kernphilosophie von Codex ist der Autonomous Agent: Sie beschreiben die Aufgabe, Codex erledigt sie autonom in einer Sandbox, und Sie prüfen am Ende das Ergebnis. Dies ergänzt den interaktiven Dialog-Ansatz von Claude Code.
Entwicklungsgeschichte von Codex¶
Der Name „Codex“ hat in OpenAIs Produktlinie mehrere Evolutionen durchlaufen:
- 2021: Das ursprüngliche Codex war eine auf Code feinabgestimmte Version von GPT-3 und trieb GitHub Copilot an
- 2024: OpenAI reaktivierte die Codex-Marke und stellte einen cloud-basierten asynchronen KI-Programmier-Agenten vor
- 2025-2026: Codex CLI entwickelte sich zu einem ausgereiften lokalen Kommandozeilen-Tool, in Rust neu geschrieben, mit erweiterten Funktionen wie MCP, Skills und Multi-Agent
Das aktuelle Codex ist ein Multi-Interface-Produkt: Dazu gehören das CLI-Kommandozeilen-Tool (Schwerpunkt dieses Artikels), die macOS-Desktop-App, IDE-Plugins und Cloud-Agenten, die in ChatGPT integriert sind. Die über QCode.cc verwendete Version ist die CLI-Version.
Kernunterschiede zwischen Codex und Claude Code¶
| Dimension | Codex CLI | Claude Code |
|---|---|---|
| Ausführungsstil | Autonome Ausführung, liefert Ergebnis bei Abschluss | Interaktiver Dialog, schrittweise Bestätigung |
| Open Source | Vollständig Open Source (Apache 2.0) | Nicht Open Source |
| Sprache | Rust (schneller Start, geringer Ressourcenverbrauch) | TypeScript |
| Sandbox-Sicherheit | Integrierte Landlock/seccomp-Sandbox | Berechtigungs-Prompt zur Bestätigung |
| Anweisungsdatei | AGENTS.md |
CLAUDE.md |
| Cloud-Agent | Unterstützt (in ChatGPT integriert) | Nicht unterstützt |
Kurz gesagt: Codex eignet sich für „Delegationsaufgaben“ (klare Anforderung geben, durchlaufen lassen), Claude Code eignet sich für „Pair Programming“ (gemeinsam diskutieren und modifizieren, ideal für explorative Aufgaben). Die kombinierte Nutzung beider Tools ergibt die besten Ergebnisse.
Warum Codex über QCode.cc nutzen?¶
Codex CLI benötigt standardmäßig einen OpenAI API Key oder ein ChatGPT-Abo, was in Festlandchina zu zwei Problemen führt:
- Netzwerk nicht erreichbar: Die OpenAI API ist nicht direkt zugreifbar
- Hohe Kosten: Die offiziellen Preise für GPT-5.3-Codex-Tokens sind nicht günstig
Über QCode.cc können Sie:
- Latenzarm über globale Multi-Node-Endpunkte zugreifen (
api.qcode.ccGeo-Routing /us/asiaFallbacks; Nutzer in China bevorzugenasia.qcode.cc, den Korea-/Taiwan-/Hongkong-Asien-Knoten), ohne VPN oder selbst betriebenen Proxy - Kosten um bis zu 80 % senken, deutliche Ersparnis gegenüber den offiziellen Preisen
- Claude Code und Codex teilen das Tarif-Kontingent, ein Abo funktioniert für beide Tools
- Mehrere Knoten verfügbar (global Route 53 + Asien-/US-Backups), für stabile Verbindungen
2. Codex CLI installieren¶
Systemanforderungen¶
Bitte stellen Sie vor der Installation sicher, dass Ihre Umgebung die folgenden Bedingungen erfüllt:
- Betriebssystem: macOS 12+, Ubuntu 20.04+, Windows 10+ (WSL2 empfohlen)
- Node.js: v22 LTS oder höher (für die Installation über npm erforderlich)
- Git: 2.x oder höher (Codex benötigt Git, um das Code-Repository zu erkennen)
- Speicherplatz: ca. 200MB (einschließlich npm-Abhängigkeiten)
Methode 1: Installation über npm (empfohlen)¶
Dies ist die gängigste Installationsmethode und funktioniert auf allen Betriebssystemen:
npm install -g @openai/codex
Tipp: Wenn Berechtigungsprobleme auftreten, können macOS-/Linux-Nutzer
sudovoranstellen oder Node.js mit nvm verwalten, um Berechtigungsprobleme zu vermeiden.Nutzer in China: Wenn der npm-Download langsam ist, können Sie den Taobao-Mirror verwenden:
bash npm install -g @openai/codex --registry=https://registry.npmmirror.com
Methode 2: Installation über Homebrew (macOS)¶
macOS-Nutzer können Codex auch über Homebrew installieren:
brew install --cask codex
Der Vorteil von Homebrew: Abhängigkeiten und Updates werden automatisch verwaltet.
Methode 3: Direkter Download der Binärdatei (fortgeschritten)¶
Laden Sie von der Seite GitHub Releases die vorkompilierten Binärdateien für Ihre Plattform herunter und legen Sie sie in einem Verzeichnis ab, das in PATH enthalten ist. Diese Methode benötigt kein Node.js.
# Example: Download and install Linux x64 version
wget https://github.com/openai/codex/releases/latest/download/codex-linux-x64
chmod +x codex-linux-x64
sudo mv codex-linux-x64 /usr/local/bin/codex
Installation überprüfen¶
codex --version
Wenn eine Versionsnummer angezeigt wird, war die Installation erfolgreich. Verstehen Sie keine Nummer auf dieser Seite als „aktuell neueste Version“ – nutzen Sie GitHub Releases und npm @openai/codex und prüfen Sie den Rechner mit codex --version.
Shell-Autovervollständigung konfigurieren (optional)¶
Codex unterstützt die Shell-Autovervollständigung; drücken Sie bei der Eingabe von Befehlen Tab, um Vorschläge zu erhalten:
# Zsh users
echo 'eval "$(codex completion zsh)"' >> ~/.zshrc
source ~/.zshrc
# Bash users
echo 'eval "$(codex completion bash)"' >> ~/.bashrc
source ~/.bashrc
Wenn Zsh die Meldung
command not found: compdefausgibt, fügen Sie vorevaldie Zeileautoload -Uz compinit && compinitein.
3. QCode.cc-Konfiguration¶
Für die Verbindung von Codex CLI mit dem QCode.cc-Dienst müssen zwei Dateien konfiguriert werden:
~/.codex/config.toml— Endpunkt des Servers und Modellkonfiguration~/.codex/auth.json— Authentifizierung per API-Key
Schritt 1: Konfigurationsverzeichnis erstellen¶
Windows (PowerShell):
mkdir $HOME\.codex
macOS:
mkdir -p ~/.codex
Linux:
mkdir -p ~/.codex
Schritt 2: config.toml erstellen¶
Schreiben Sie den folgenden Inhalt in ~/.codex/config.toml:
model_provider = "crs"
model = "gpt-6-sol"
model_reasoning_effort = "high"
preferred_auth_method = "apikey"
[model_providers.crs]
name = "crs"
base_url = "https://api.qcode.cc/openai"
wire_api = "responses"
requires_openai_auth = true
env_key = "CRS_OAI_KEY"
Details zu den Feldern der config.toml:
| Feld | Beschreibung |
|---|---|
model_provider |
Name des Modellanbieters, hier der benutzerdefinierte Name crs |
model |
Standardmodell. Empfohlen: gpt-6-sol |
model_reasoning_effort |
Reasoning-Aufwand: low, medium, high. Höher bedeutet genauer, aber langsamer |
preferred_auth_method |
Authentifizierungsmethode; mit apikey wird ein API-Key verwendet |
base_url |
Adresse des QCode.cc-Endpunkts (das Beispiel nutzt den globalen Zugang api.qcode.cc; Alternativen finden Sie unter Endpunkte & API-Pfade) |
wire_api |
Typ des API-Protokolls; Codex verwendet responses |
requires_openai_auth |
Erfordert einen Authentifizierungs-Header im OpenAI-Format |
env_key |
Name der Umgebungsvariable, aus der Codex den API-Key liest |
Schritt 3: auth.json erstellen¶
Schreiben Sie den folgenden Inhalt in ~/.codex/auth.json:
{
"OPENAI_API_KEY": "cr_xxxxxxxxxx"
}
Ersetzen Sie
cr_xxxxxxxxxxdurch Ihren QCode.cc API-Key. Der Key beginnt mitcr_.
Hinweise zur auth.json:
- Diese Datei stellt Codex den API-Key bereit und entspricht dem Setzen der Umgebungsvariable
OPENAI_API_KEY - Als Dateiberechtigung wird
600empfohlen (nur für den Besitzer les- und schreibbar):chmod 600 ~/.codex/auth.json - Sind sowohl
auth.jsonals auch die Umgebungsvariable vorhanden, hatauth.jsonVorrang
Schritt 4: Umgebungsvariablen setzen (optionale Alternative)¶
Wenn Sie den Key lieber über eine Umgebungsvariable bereitstellen (statt über auth.json), können Sie CRS_OAI_KEY setzen:
Windows (PowerShell):
# Temporary setting (current session)
$env:CRS_OAI_KEY = "cr_xxxxxxxxxx"
# Permanent setting (write to user environment variable)
[System.Environment]::SetEnvironmentVariable("CRS_OAI_KEY", "cr_xxxxxxxxxx", [System.EnvironmentVariableTarget]::User)
macOS:
# Temporary setting
export CRS_OAI_KEY="cr_xxxxxxxxxx"
# Permanent setting
echo 'export CRS_OAI_KEY="cr_xxxxxxxxxx"' >> ~/.zshrc
source ~/.zshrc
Linux:
# Temporary setting
export CRS_OAI_KEY="cr_xxxxxxxxxx"
# Permanent setting (Bash)
echo 'export CRS_OAI_KEY="cr_xxxxxxxxxx"' >> ~/.bashrc
source ~/.bashrc
# Permanent setting (Zsh)
echo 'export CRS_OAI_KEY="cr_xxxxxxxxxx"' >> ~/.zshrc
source ~/.zshrc
Wenn Sie Umgebungsvariablen verwenden, setzen Sie OPENAI_API_KEY in auth.json auf null:
{
"OPENAI_API_KEY": null
}
Verfügbare Modelle¶
Über QCode.cc sind die folgenden Codex-/GPT-Modelle verfügbar:
| Modell | Beschreibung | Empfohlenes Szenario |
|---|---|---|
gpt-6-sol |
Aktuelles Flaggschiff, 1.05M Kontext | Allgemeine / komplexe Aufgaben (empfohlen ★) |
gpt-6.1-sol |
Update von GPT-6 Sol (2026-09-29), 1.05M Kontext | Allgemeine / komplexe Aufgaben, günstigerer Cached Input |
gpt-6-luna |
Schnell, niedrige Kosten | Leichtgewichtig / kosteneffizient |
gpt-6-astra |
Stärkste Stufe, Premiumpreis | Höchste Leistungsfähigkeit |
gpt-5.6-terra |
GPT-5.6-Flaggschiff, code-optimiert | Programmierung / Codex CLI |
Alle Modelle teilen sich das Kontingent Ihres QCode.cc-Plans mit Claude Code. Für den Wechsel des Modells ist keine zusätzliche Zahlung erforderlich.
4. Grundlegendes Nutzungs-Tutorial¶
4.1 Codex starten¶
Öffnen Sie das Terminal, wechseln Sie in Ihr Projektverzeichnis und führen Sie dann aus:
cd /path/to/your/project
codex
Codex startet eine interaktive Terminal-Oberfläche (TUI), in der Sie Anweisungen in natürlicher Sprache eingeben können. Die Oberfläche besteht aus:
- Obere Statusleiste: Zeigt aktuelles Modell, Genehmigungsmodus und Sandbox-Status
- Hauptbereich: Antworten der KI und Protokolle der Aktionen
- Eingabefeld unten: Hier geben Sie Ihre Anweisungen ein
Sie können Aufgaben auch direkt in der Befehlszeile übergeben (nicht-interaktiver Modus), was sich für den Aufruf aus Skripten eignet:
# Interactive launch
codex
# Non-interactive mode: execute single task then exit
codex "Read this project's structure and give me an overview"
# Task with image
codex -i screenshot.png "Fix the UI issue shown in the screenshot"
# Specify model
codex -m gpt-6-sol "Refactor the error handling in the authentication module"
4.2 Erste Aufgabe: Codex eine Funktion schreiben lassen¶
Beginnen wir mit einem einfachen Beispiel. Starten Sie Codex in Ihrem Projektverzeichnis und geben Sie ein:
Write a Python function that accepts a list of strings and returns the longest one. If there are multiple strings with the same length, return the first one. Save to utils.py.
Codex führt folgende Schritte aus:
- Planung: Analyse Ihrer Anforderungen und Erstellung eines Implementierungsplans
- Code-Generierung: Erstellt
utils.pyund schreibt die Funktion - Bestätigungsanfrage: Im Standardmodus zeigt Codex ausstehende Dateiänderungen an und wartet auf Ihre Bestätigung
Sie sehen eine Aufforderung wie diese:
Codex wants to create file: utils.py
─────────────────────────────────────
+ def find_longest(strings: list[str]) -> str:
+ """Return the longest string in the list, or the first one if there are multiple."""
+ if not strings:
+ raise ValueError("List cannot be empty")
+ return max(strings, key=len)
Accept? [y/n]
Geben Sie y ein, um zu bestätigen – Codex schreibt dann den Code in die Datei.
Anschließend können Sie weitere Anweisungen geben; Codex behält den Kontext innerhalb derselben Sitzung bei:
Write a unit test for this function using pytest
Codex liest automatisch die soeben erstellte utils.py und generiert die passende Testdatei.
4.3 Den Sandbox-Ausführungsmodus von Codex verstehen¶
Dies ist eines der wichtigsten Sicherheitsmerkmale von Codex. Codex führt Befehle in einer Sandbox aus, mit drei Sicherheitsstufen:
| Sandbox-Modus | Datei lesen | Datei schreiben | Befehl ausführen | Netzwerkzugriff |
|---|---|---|---|---|
read-only |
Erlaubt | Erfordert Bestätigung | Erfordert Bestätigung | Erfordert Bestätigung |
workspace-write (Standard) |
Erlaubt | Erlaubt innerhalb des Workspace | Erlaubt innerhalb des Workspace | Standardmäßig verweigert |
danger-full-access |
Erlaubt | Alles erlaubt | Alles erlaubt | Erlaubt |
Der Standardmodus workspace-write ist die beste Wahl für die tägliche Entwicklung: Codex kann innerhalb des Projektverzeichnisses frei Dateien lesen/schreiben und Befehle ausführen, hat aber keinen Zugriff auf Dateien oder das Netzwerk außerhalb des Projekts.
Wenn Ihre Aufgabe Netzwerkzugriff erfordert (z. B. npm install), können Sie den Netzwerkzugriff vorübergehend aktivieren:
codex -c 'sandbox_workspace_write.network_access=true' "Install dependencies and run tests"
4.4 Änderungen von Codex prüfen und übernehmen¶
Dateiänderungen durch Codex unterliegen einer Genehmigungsrichtlinie (Approval Policy). Standardmäßig gilt:
- Dateibearbeitung: Zeigt Diff an und wartet auf Ihre Bestätigung
- Shell-Befehle: Zeigt den Befehlsinhalt an und wartet auf Ihre Bestätigung
Wenn Codex Änderungen vorschlägt, können Sie:
- Annehmen (y): Die Änderung übernehmen
- Ablehnen (n): Diese Änderung überspringen
- Details anzeigen: Den Diff sorgfältig prüfen, bevor Sie entscheiden
Tipp: Verwenden Sie den Slash-Befehl
/diff, um jederzeit alle in der aktuellen Sitzung übernommenen Änderungen anzuzeigen.
4.5 Häufige Interaktions-Tipps¶
Dateireferenz: Geben Sie @ gefolgt vom Dateinamen ein; Codex liest den Inhalt der Datei automatisch:
Review @src/app.py and optimize error handling
Shell-Befehle ausführen: Beginnen Sie mit !, um Befehle direkt auszuführen – die Ausgabe wird an Codex übergeben:
!cat error.log
Analyze the error log above and find the root cause
Anweisungen ergänzen: Während Codex läuft, drücken Sie Enter, um neue Anweisungen einzufügen, oder Tab, um Anweisungen für die nächste Runde in die Warteschlange zu stellen.
Rückgängig bearbeiten: Wenn das Eingabefeld leer ist, drücken Sie zweimal Esc, um zur vorherigen Nachricht zurückzukehren und sie zu ändern/erneut zu senden. Durch weiteres Drücken von Esc können Sie zu früheren Nachrichten zurückblättern; anschließend mit Enter einen neuen Dialogzweig ab dieser Stelle beginnen.
Pipe-Eingabe: Sie können die Ausgabe anderer Befehle per Pipe an Codex zur Analyse übergeben:
# Analyze recent git changes
git diff HEAD~3 | codex "Review these changes and identify potential issues"
# Analyze error logs
cat /var/log/app/error.log | codex "Analyze the root causes of these errors"
# Review PR
gh pr diff 42 | codex "Review this PR's code quality and security"
Tastenkürzel:
| Kürzel | Funktion |
|---|---|
Tab |
Dateipfad automatisch vervollständigen (in Kombination mit @) |
Enter |
Neue Anweisung einfügen, während Codex läuft |
Tab |
Anweisungen für die nächste Runde in die Warteschlange stellen, während Codex läuft |
Esc x 2 |
Zur vorherigen Nachricht zurückkehren zum Bearbeiten |
Ctrl+C |
Aktuellen Vorgang abbrechen |
Slash-Befehle:
| Befehl | Beschreibung |
|---|---|
/help |
Hilfe anzeigen |
/mode |
Genehmigungsmodus wechseln |
/diff |
Alle Änderungen anzeigen |
/mcp |
Verbundene MCP-Server anzeigen |
/status |
Status der aktuellen Sitzung anzeigen |
/compact |
Konversationsverlauf komprimieren, um Tokens einzusparen |
/permissions |
Berechtigungseinstellungen anzeigen und ändern |
/review |
Code-Review durchführen |
5. Erweiterte Konfiguration¶
5.1 Eigene Anweisungsdateien (AGENTS.md)¶
Codex unterstützt AGENTS.md-Dateien, um der KI Projektkontext und Arbeitsvorgaben bereitzustellen. Sie funktionieren ähnlich wie CLAUDE.md bei Claude Code.
Projektspezifische Anweisungen: Erstellen Sie AGENTS.md im Projektstammverzeichnis:
# AGENTS.md
## Project Description
This is a FastAPI backend project using PostgreSQL database.
## Code Standards
- All functions must have type annotations
- New API endpoints require corresponding tests
- Run `make lint` to check code style before committing
## Test Commands
- Unit tests: `pytest tests/unit/`
- Integration tests: `pytest tests/integration/`
- Code check: `make lint`
Globale Anweisungen: Erstellen Sie globale Standardregeln in ~/.codex/AGENTS.md; alle Projekte erben diese:
# Global Instructions
- Always communicate in English
- Code comments use English
- Prefer functional programming style
- Generated code must include error handling
Überschreibung in Unterverzeichnissen: Eine Datei AGENTS.override.md in einem bestimmten Verzeichnis kann die übergeordneten Regeln überschreiben:
# services/payments/AGENTS.override.md
- All changes in this directory must be written to audit log
- Amount calculations use Decimal type, no floating point numbers
Codex sucht Anweisungsdateien in folgender Reihenfolge: AGENTS.override.md > AGENTS.md > konfigurierte Ersatzdatei. Die kombinierte Größenbegrenzung beträgt standardmäßig 32KB und kann über project_doc_max_bytes angepasst werden.
5.2 Den Genehmigungsmodus anpassen¶
Codex bietet drei Genehmigungsmodi für unterschiedliche Einsatzszenarien:
Suggest-Modus (am sichersten)¶
Jeder Vorgang erfordert eine manuelle Bestätigung, einschließlich Dateibearbeitung und Befehlsausführung. Geeignet für die Lernphase oder das Prüfen sensiblen Codes.
codex --approval-mode suggest
Auto-Edit-Modus (empfohlen für den Alltag)¶
Dateibearbeitungen werden automatisch ausgeführt, die Befehlsausführung erfordert weiterhin eine Bestätigung. Guter Ausgleich zwischen Effizienz und Sicherheit.
codex --approval-mode auto-edit
Full-Auto-Modus (vollautonom)¶
Alle Vorgänge werden automatisch ausgeführt, ohne Bestätigung. Nur in isolierten Umgebungen empfohlen (z. B. Docker-Container, CI/CD).
🔴
--full-autowurde entfernt. Verwenden Sie stattdessen--sandbox workspace-write:
codex --sandbox workspace-write
Sicherheitshinweis:
--sandbox workspace-writebehält den Sandbox-Schutz bei (beschränkt auf den Workspace). Wenn Sie vollständig uneingeschränkten Zugriff benötigen, verwenden Sie--dangerously-bypass-approvals-and-sandbox, dies ist für nicht isolierte Umgebungen jedoch ausdrücklich nicht empfohlen.
Automatisch geprüfte Genehmigungen (--approve-for-me, seit 0.147.0 / 2026-08-07): Codex prüft und genehmigt risikoarme Aktionen selbst, bevor es sie ausführt — ein Mittelweg zwischen ständiger Rückfrage und vollständigem Entfernen der Genehmigungen.
codex --approve-for-me
⚠️ Die Flags von Codex ändern sich schnell (
--full-autoist ein Beispiel für ein entferntes Flag). Vertrauen Sie der Ausgabe voncodex --help, nicht einer Flag-Liste, die aus einem beliebigen Dokument kopiert wurde – auch nicht von dieser Seite.
Standardmodus in config.toml festlegen:
# Recommended for personal development
approval_policy = "on-request"
sandbox_mode = "workspace-write"
Modus während der Sitzung wechseln: Verwenden Sie den Befehl /mode, um ohne Neustart zu wechseln:
/mode suggest # Switch to suggest mode
/mode auto-edit # Switch to auto-edit mode
/mode full-auto # Switch to full-auto mode
Empfohlene Konfiguration nach Szenario¶
| Szenario | Genehmigungsmodus | Sandbox-Modus |
|---|---|---|
| Persönliche Entwicklung im Alltag | auto-edit |
workspace-write |
| Gemeinsame Team-Umgebung | suggest |
workspace-write |
| CI/CD-Pipeline | full-auto |
workspace-write |
| Lernen und Experimentieren | suggest |
workspace-write |
| Einmalige Skript-Aufgaben | full-auto |
danger-full-access |
5.3 MCP-Server konfigurieren¶
Codex unterstützt Model Context Protocol (MCP) und kann externe Tools anbinden, um die Fähigkeiten zu erweitern.
MCP-Server über die Kommandozeile hinzufügen:
codex mcp add my-server -- npx -y @some/mcp-server --config /path/to/config.json
Über config.toml konfigurieren:
[mcp_servers.filesystem]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/dir"]
[mcp_servers.github]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-github"]
env = { GITHUB_TOKEN = "ghp_your_token" }
Nach der Konfiguration starten Sie Codex neu und verwenden Sie den Befehl /mcp, um die verbundenen Server anzuzeigen. MCP-Tools erscheinen automatisch in Codex' Liste der verfügbaren Tools neben den eingebauten Tools.
Codex selbst als MCP-Server: Codex kann auch umgekehrt als MCP-Server laufen und von anderen KI-Agenten aufgerufen werden. Das ist sehr nützlich beim Aufbau von Multi-Agent-Systemen.
5.4 Profile konfigurieren (Multi-Environment-Verwaltung)¶
Wenn verschiedene Projekte unterschiedliche Einstellungen erfordern (etwa Arbeit und privat), verwenden Sie Profile. Seit Codex 0.134.0 sind die alten Tabellen [profiles.<name>] in config.toml nicht mehr gültig — ein Profil ist nun eine eigene Datei: ~/.codex/<name>.config.toml. Die drei Blöcke unten sind die vollständige neue Form:
# ~/.codex/config.toml - default config (top-level keys only; no [profiles.x] tables)
model_provider = "crs"
model = "gpt-6-sol"
[model_providers.crs]
name = "crs"
base_url = "https://api.qcode.cc/openai"
wire_api = "responses"
requires_openai_auth = true
env_key = "CRS_OAI_KEY"
# ~/.codex/work.config.toml
model = "gpt-6-sol"
model_reasoning_effort = "high"
# ~/.codex/personal.config.toml
model = "gpt-6-luna"
model_reasoning_effort = "medium"
Mit einem Profil starten:
codex --profile work "Refactor authentication module"
codex --profile personal "Write a small script"
✅ Die drei folgenden Verhaltensweisen sind auf unserem eigenen Rechner getestet (codex-cli 0.155.0, linux-x86_64, isoliertes HOME, keine Modell-Anfrage gesendet) und es sind genau die Fallen, in die Leute tappen:
- Wenn Sie die Legacy-Tabelle beibehalten und
--profileübergeben, handelt es sich um einen harten Fehler, nicht um ein stilles Ignorieren:
text
Error loading config.toml: --profile `work` cannot be used while ~/.codex/config.toml contains legacy `profile = "work"` or `[profiles.work]` config; move those settings into ~/.codex/work.config.toml and remove the legacy profile selector/table.
- Der Selektor
profile = "work"auf oberster Ebene ist ebenfalls entfallen:
text
Fehler: Die Legacy-Konfiguration `profile = "work"` wird nicht mehr unterstützt; verwenden Sie stattdessen `--profile work` mit `work.config.toml`
- Ohne
--profilewerden verbleibende Tabellen[profiles.*]schlicht nicht aufgelöst —codex doctormeldet weiterhinconfig.toml parse okund nutzt die Werte auf oberster Ebene. „Kein Fehler“ bedeutet nicht „wirksam geworden“, löschen Sie also bei der Migration die Legacy-Tabellen.
Zudem gilt --profile nur für Runtime-Unterbefehle (codex, exec, review, resume, queue, archive, delete, unarchive, fork, mcp, sandbox, debug prompt-input); bei doctor schlägt es mit --profile only applies to runtime commands ... fehl. Die Profildatei ist eine Ebene über Ihrer Benutzerkonfiguration und unter der Projekt- und Kommandozeilenkonfiguration — siehe 5.6.
5.5 Nicht-interaktiver Modus (Skripte und Automatisierung)¶
Codex kann nicht nur interaktiv verwendet, sondern auch als nicht-interaktives Tool in Skripten und CI/CD-Pipelines ausgeführt werden. Übergeben Sie einfach den Prompt-Parameter:
# Basic usage: execute task then exit
codex "Add installation instructions to README.md"
# Full-Auto + non-interactive: fully autonomous execution
codex --sandbox workspace-write "Run test suite, fix all failing tests"
# Output transcript to file (for auditing)
codex --sandbox workspace-write --transcript output.jsonl "Refactor error handling module"
Codex in CI/CD verwenden:
# GitHub Actions example
- name: Auto-fix lint errors
run: |
npx @openai/codex --sandbox workspace-write "Run eslint --fix to fix all lint errors, then commit the fixes"
env:
CRS_OAI_KEY: ${{ secrets.QCODE_API_KEY }}
Codex-SDK: Wenn Sie Codex in eigenen Programmen aufrufen möchten, können Sie das offizielle SDK für programmatische Aufrufe nutzen und Codex so in Ihre eigenen Entwicklungstools oder Workflows einbetten.
5.6 Konfigurations-Priorität¶
Wenn mehrere Konfigurationsquellen widersprüchlich sind, löst Codex sie in folgender Prioritätsreihenfolge auf (von höchster zu niedrigster):
- Kommandozeilenargumente (
--model,-cusw.) - Projektkonfiguration (
.codex/config.toml, vom Projektstammverzeichnis bis zum aktuellen Verzeichnis, das nächste hat Vorrang; sie wird erst geladen, wenn das Verzeichnis vertrauenswürdig ist, und Schlüssel wiemodel_provider,model_providers,profileundprofileswerden in der Projektebene ignoriert) - Profildatei (
~/.codex/<name>.config.toml, ausgewählt durch--profile <name>) - Benutzerkonfiguration (
~/.codex/config.toml) - Systemkonfiguration (
/etc/codex/config.toml, Unix-Systeme) - Eingebaute Standards
Wenn Sie diese Priorität verstehen, können Sie das Verhalten auf den verschiedenen Ebenen präzise steuern. Legen Sie allgemeine Standardwerte in ~/.codex/config.toml fest, überschreiben Sie bestimmte Einstellungen in der .codex/config.toml des Projekts und nutzen Sie Kommandozeilenargumente für einmalige Anpassungen.
6. Vergleich: Claude Code vs Codex¶
In einem Satz: Claude Code ist interaktives Pair-Programming; Codex ist autonome Task-Ausführung. Claude Code eignet sich für exploratives Debugging, komplexe Refactorings und das Verstehen einer Architektur; Codex eignet sich für gut spezifizierte Feature-Arbeit, Massenmigrationen und CI/CD-Automatisierung. Ihre Instruktionsdateien sind CLAUDE.md bzw. AGENTS.md, beide unterstützen vollständig MCP, und beide teilen dasselbe QCode.cc-Plan-Kontingent — der Wechsel kostet nichts.
Der vollständige Side-by-Side-Vergleich über 13 Dimensionen (Ausführungsmodell, Kontextfenster, Sandboxing, Multi-Agent, Open Source und mehr) → Codex vs Claude Code.
7. Praxisbeispiele¶
Die folgenden Beispiele demonstrieren die Codex-Nutzung anhand mehrerer realer Szenarien. Jedes Beispiel enthält konkrete Befehle und erwartete Effekte.
Beispiel 1: Ein neues Projekt verstehen¶
Wenn Sie ein Ihnen unbekanntes Codebase übernehmen:
cd /path/to/new/project
codex
In der interaktiven Oberfläche:
What does this project do? Please analyze the directory structure, main modules, tech stack,
and give a concise architecture diagram (using ASCII art).
Codex scannt die Projektdateien, analysiert Abhängigkeitsdateien wie package.json, requirements.txt, go.mod, liest zentrale Einstiegsdateien und liefert anschließend einen umfassenden Projektüberblick.
Beispiel 2: Code-Review¶
codex "Review all changes from the most recent git commit in the src/ directory. Focus on:
1. Potential bugs (null pointers, boundary conditions)
2. Security risks (SQL injection, XSS, hardcoded keys)
3. Performance issues (N+1 queries, unnecessary loops)
Provide specific code locations and fix suggestions."
Beispiel 3: Batch-Refactoring¶
codex --sandbox workspace-write "Replace all Python file print() calls with the logging module.
Specific requirements:
1. Import logging at the top of each file
2. Create logger = logging.getLogger(__name__)
3. Replace print() with logger.info()
4. Keep original formatted strings
5. After replacement, run pytest to ensure nothing is broken"
Codex verarbeitet die Dateien der Reihe nach, wahrt die Konsistenz des Codes und führt abschließend Tests zur Überprüfung aus.
Beispiel 4: Vollständiges Test-Suite schreiben¶
codex "Write complete unit tests for src/services/user_service.py. Requirements:
1. Use pytest + pytest-mock
2. Cover all public methods
3. Include both happy path and exception path tests
4. Mock external dependencies (database, HTTP requests)
5. Save test file to tests/unit/test_user_service.py
6. Run tests to confirm all pass"
Beispiel 5: Autonomes Beheben von Testfehlern¶
Klassischer Use Case für den Full-Auto-Modus — lassen Sie Codex fehlgeschlagene Tests autonom beheben:
codex --sandbox workspace-write "Run all tests. If any fail:
1. Analyze the failure reasons
2. Fix the code (not the tests)
3. Re-run tests
4. Repeat above steps until all tests pass
Finally, provide a fix summary."
Beispiel 6: UI aus Design-Mockup implementieren¶
codex -i design.png "Implement this page using React + Tailwind CSS based on this design mockup.
Requirements:
1. Responsive layout (mobile support)
2. Pixel-perfect recreation of the design mockup
3. Reasonable component splitting
4. Add basic interaction states (hover, focus)"
Beispiel 7: Datenbankmigration¶
codex "I need to add an avatar_url field (varchar 500, nullable) to the users table.
Please:
1. Create Alembic migration script
2. Update SQLAlchemy model
3. Update related Pydantic schema
4. Update CRUD operation functions
5. Add corresponding API endpoints (GET/PUT)
6. Run migration and confirm success"
Beispiel 8: Changelog automatisch in CI/CD generieren¶
codex --sandbox workspace-write "Analyze all git commits from the last release tag to now,
categorize them according to conventional commits specification,
and generate CHANGELOG.md update content.
Include: new features, bug fixes, breaking changes, other improvements."
8. FAQ¶
Konfigurationsdatei nicht gefunden¶
Problem: Codex meldet, dass die Konfigurationsdatei nicht gefunden oder die Konfiguration nicht geladen werden kann
Lösung:
- Prüfen, ob das Konfigurationsverzeichnis existiert:
ls ~/.codex/ - Sicherstellen, dass beide Dateien
config.tomlundauth.jsonvorhanden sind - Prüfen, ob die TOML-Syntax in
config.tomlkorrekt ist (häufige Fehler: fehlende Anführungszeichen, Tippfehler) codex --config-dumpverwenden, um die tatsächlich geladene Konfiguration anzuzeigen
API-Key-Authentifizierung fehlgeschlagen¶
Problem: Meldung 401 Unauthorized oder ungültiger API-Key
Lösung:
- Sicherstellen, dass das API-Key-Format korrekt ist (beginnt mit
cr_) - Prüfen, ob der Schlüssel in
auth.jsonvollständig ist (keine zusätzlichen Leerzeichen oder Zeilenumbrüche) - Bei Verwendung einer Umgebungsvariable: sicherstellen, dass der Variablenname
CRS_OAI_KEYlautet (entsprichtenv_keyinconfig.toml) - Im QCode.cc-Console anmelden, um den Schlüsselstatus und das verbleibende Kontingent zu überprüfen
Netzwerkverbindungsprobleme¶
Problem: Keine Verbindung zum QCode.cc-Dienst möglich, Timeout oder Verbindung abgelehnt
Lösung:
- Prüfen, ob das Netzwerk funktioniert:
curl -I https://api.qcode.cc - Sicherstellen, dass die
base_url-Konfiguration korrekt ist (musshttps://api.qcode.cc/openaisein) -
Backup-Knoten testen:
-
Asien-Backup:
https://asia.qcode.cc/openai - Bei Verwendung eines Firmenproxys/VPN: sicherstellen, dass die Proxy-Einstellungen HTTPS-Anfragen nicht blockieren
Empfehlung zur Modellauswahl¶
Problem: Unsicher, welches Modell gewählt werden soll
Empfehlung:
| Ihr Bedarf | Empfohlenes Modell | Begründung |
|---|---|---|
| Programmieraufgaben | gpt-5.6-terra |
Code-optimiert |
| Komplexe Aufgaben | gpt-6-sol |
Starke allgemeine Fähigkeit, 1,05 Mio. Kontext |
| Leichtgewichtige Aufgaben | gpt-6-luna |
Geringerer Kontingentverbrauch |
| Maximale Leistung | gpt-6-astra |
Stärkste Kategorie |
Nachdem das Standardmodell in config.toml festgelegt wurde, kann auch temporär gewechselt werden:
codex -m gpt-6-sol "Analyze this complex concurrency bug"
Sandbox-Einschränkungen verursachen Befehlsfehler¶
Problem: Befehle, die Codex ausführen möchte, werden von der Sandbox abgelehnt
Lösung:
- Bei Netzwerkoperationen (z. B.
npm install): vorübergehend Netzwerkzugriff aktivieren:bash codex -c 'sandbox_workspace_write.network_access=true' "Install dependencies" - Wenn Dateien außerhalb des Projektverzeichnisses geschrieben werden müssen: Schreibbereich vorübergehend erweitern:
bash codex --sandbox danger-full-access "Save output to /tmp/result.txt" - Während der Sitzung
/permissionsverwenden, um die aktuellen Berechtigungen anzuzeigen und anzupassen
Kostenübersicht¶
Problem: Wie werden die Kosten für Codex und Claude Code berechnet?
Erklärung:
- Codex und Claude Code teilen sich das QCode.cc-Tarif-Kontingent
- Derselbe Tarif kann von beiden Tools gleichzeitig genutzt werden
- Kosten werden auf Basis des tatsächlichen Token-Verbrauchs berechnet, nicht nach Tool
- Im Full-Auto-Modus iteriert Codex autonom über mehrere Runden; der Token-Verbrauch pro Aufgabe kann höher sein, spart jedoch Interaktionszeit der Entwickler
- Es empfiehlt sich, den Befehl
/costzu verwenden, um den Token-Verbrauch der aktuellen Sitzung anzuzeigen, oder das Gesamt-Kontingent in der QCode.cc-Console zu prüfen
Können AGENTS.md und CLAUDE.md koexistieren?¶
Ja. Wenn Ihr Projekt sowohl von Codex als auch von Claude Code verwendet wird:
- Codex liest nur
AGENTS.mdund ignoriertCLAUDE.md - Claude Code liest nur
CLAUDE.mdund ignoriertAGENTS.md - Sie stören sich nicht gegenseitig; Sie können separate Anweisungsdateien für verschiedene Tools pflegen
- Es empfiehlt sich, die Kernspezifikationen in beiden Dateien konsistent zu halten (z. B. Testbefehle, Code-Stil usw.)
10. Weiterführende Dokumentation¶
- Umgebungsvariablen konfigurieren — Umgebungsvariableneinstellungen für Claude Code
- Schnellstart — Schnellstartanleitung für Claude Code
- Aider-Integration — Konfiguration eines weiteren Open-Source-KI-Programmierassistenten
- CLI-Tipps — Erweiterte Kommandozeilennutzung für Claude Code
- Workflow-Tipps — Workflow-Empfehlungen für effizienteres KI-Programmieren