Codex CLI über das LiteLLM-Gateway auf Bedrock Mantle
Leiten Sie den Codex CLI über ein LiteLLM-Gateway in Amazon Bedrock Mantle, um auf OpenAI-Modelle zuzugreifen, wobei Gateway-Einstellungen, Modell-Alias sowie sinnvolle Standardeinstellungen genutzt werden.
Quellen: Using OpenAI Codex CLI with LiteLLM AI Gateway and Amazon Bedrock Mantle
Dieser Leitfaden zeigt Schritt für Schritt den Weg von Rohstoffen bis zu einem funktionsfähigen System auf: Die Verwendung der OpenAI Codex CLI in Kombination mit dem LiteLLM AI Gateway sowie Amazon Bedrock Mantle. Der Schwerpunkt liegt auf ausführbaren Schritten, klaren Überprüfungen sowie Code, den man ohne Rätseln über die Absicht direkt in ein Repository einfügen kann. Zur Übersicht sollten Sie vor der Änderung des Codes die Eingabedaten, den Verantwortlichen für den Schritt sowie die Abbruchkriterien definieren. Die Betreiber sollten in der Lage sein, den Schritt von einem bekannten Checkpoint aus erneut auszuführen, ohne auf versteckte Zustände schließen zu müssen. Dokumentieren Sie sowohl den erfolgreichen Ablauf als auch den Notfallweg gemeinsam. Wiederholversuche, menschliche Überprüfungen sowie die Handhabung fehlerhafter Nachrichten gehören zum Produkt selbst und nicht zu späteren Optimierungen.
AWS-Unterstützung für OpenAI
Für AWS Support für OpenAI sollten Eingaben, der Verantwortliche für den Schritt sowie die Abbruchkriterien vor dem Ändern des Codes definiert werden. Die Operator sollten in der Lage sein, den Schritt von einem bekannten Checkpoint aus erneut auszuführen, ohne auf versteckte Zustände schließen zu müssen. Vorzuziehen sind kleine, testbare Einheiten statt umfangreicher Skripte. Wenn ein Schritt fehlschlägt, sollte der Fehler auf eine einzige Verantwortung verweisen und nicht auf ein verworrenes Pipeline-System. Fixieren Sie die Abhängigkeitsversionen und dokumentieren Sie den Image-Digest, mit dem die Demo ausgeführt wurde. Reproduzierbarkeit ist besser als „stammesbezogenes Wissen“.
Zugriff auf andere OpenAI-Modelle
Zum Zugriff auf andere OpenAI-Modelle sollten Sie die Eingaben, den Verantwortlichen für den jeweiligen Schritt sowie die Abbruchkriterien vor dem Ändern des Codes definieren. Die Operator sollten in der Lage sein, den Schritt von einem bekannten Checkpoint aus erneut auszuführen, ohne auf versteckte Zustände schließen zu müssen. Betrachten Sie diese Phase als Vertrag zwischen den Eingaben und den validierten Ausgaben. Benennen Sie die Ergebnisdokumente, definieren Sie Erfolgskontrollen und lehnen Sie stille, unvollständige Abschlüsse ab. Fixieren Sie die Versionsnummern der Abhängigkeiten und speichern Sie den Bild-Digest, mit dem die Demo ausgeführt wurde. Reproduzierbarkeit ist besser als „stammesweises Wissen“.
Installieren Sie Codex CLI
Für die Installation von Codex CLI sollten vor der Codeänderung Eingabedaten, der Verantwortliche für den Schritt sowie die Abbruchkriterien definiert werden. Die Operator sollten in der Lage sein, den Schritt von einem bekannten Checkpoint aus erneut auszuführen, ohne auf versteckte Zustände schließen zu müssen. Erhalten Sie neben den funktionalen Ergebnissen auch Aufzeichnungen der Laufzeiten sowie der Kosten für Token oder Abfragen. Eine frühzeitige Sichtbarkeit der Kosten verhindert überraschende Rechnungen, wenn der Ablauf von einer Demo in gemeinsam genutzte Umgebungen wechselt. Fixieren Sie die Abhängigkeitsversionen und dokumentieren Sie den Image-Digest, mit dem die Demo ausgeführt wurde. Reproduzierbarkeit ist wichtiger als „stammesbezogenes Wissen“. Für die Installation von Codex CLI sollten vor der Codeänderung Eingabedaten, der Verantwortliche für den Schritt sowie die Abbruchkriterien definiert werden. Die Operator sollten in der Lage sein, den Schritt von einem bekannten Checkpoint aus erneut auszuführen, ohne auf versteckte Zustände schließen zu müssen. Dokumentieren Sie sowohl den erfolgreichen Ablauf als auch den Notfallplan. Wiederholungsversuche, menschliche Kontrollen sowie die Handhabung von Fehlern gehören zum Produkt selbst und nicht zu späteren Optimierungen.
curl -fsSL https://chatgpt.com/codex/install.sh | sh
codex --version # currently codex-cli 0.142.5
Bestätigen, dass LiteLLM läuft
Zur Bestätigung, dass LiteLLM läuft, sollten Sie die Eingaben, den Verantwortlichen für den Schritt sowie die Abbruchkriterien vor dem Ändern des Codes definieren. Die Operator sollten in der Lage sein, den Schritt von einem bekannten Checkpoint aus erneut auszuführen, ohne auf versteckte Zustände schließen zu müssen. Bevorzugen Sie kleine, testbare Einheiten vor umfangreichen Skripten. Wenn ein Schritt fehlschlägt, sollte der Fehler auf eine einzige Verantwortung verweisen und nicht auf ein verworrenes Pipeline-System. Fügen Sie so oft wie möglich, solange das Budget es zulässt, einen Smoke-Test hinzu, der den kritischen Pfad in CI mit Fixtures und nicht mit live genutzten, bezahlten APIs testet.
export LITELLM_DEMO_CLIENT_KEY="sk-your-litellm-virtual-key"
curl -fsS "http://localhost:4000/models" \
-H "Authorization: Bearer $LITELLM_DEMO_CLIENT_KEY" \
| jq '[.data[]
| select(.id | contains("openai"))
| {id, max_input_tokens, max_output_tokens}]'
Kleinere Kontextfenster
Für kleinere Kontextfenster sollten Eingaben, der Verantwortliche für den Schritt sowie die Abbruchkriterien vor dem Ändern des Codes definiert werden. Die Operator sollten in der Lage sein, den Schritt von einem bekannten Checkpoint aus erneut auszuführen, ohne auf versteckte Zustände schließen zu müssen. Betrachten Sie diese Phase als Vertrag zwischen den Eingaben und den validierten Ausgaben. Benennen Sie die Artefakte, definieren Sie Erfolgskontrollen und lehnen Sie stille, unvollständige Abschlüsse ab. Fügen Sie immer dann, wenn das Budget es zulässt, einen Smoke-Test hinzu, der den kritischen Pfad in CI mit Fixtures und nicht mit live genutzten, bezahlten APIs testet.
Nutzung von Bedrock Mantle gegenüber LiteLLM
Zur Verwendung von Bedrock Mantle im Vergleich zu LiteLLM sollten die Eingaben, der Verantwortliche für den Schritt sowie die Abbruchkriterien vor dem Codeändern definiert werden. Die Operator sollten in der Lage sein, den Schritt von einem bekannten Checkpoint aus erneut auszuführen, ohne auf versteckte Zustände schließen zu müssen. Erhalten Sie neben den funktionalen Ergebnissen auch Aufzeichnungen der Laufzeiten sowie der Kosten für Tokens oder Abfragen. Eine frühzeitige Sichtbarkeit der Kosten verhindert überraschende Rechnungen, wenn der Ablauf von einer Demo-Umgebung in eine gemeinsam genutzte Umgebung wechselt. Fügen Sie sofern das Budget es zulässt in den CI-Prozess einen Smoke-Test hinzu, der den kritischen Ablauf mit Fixtures und nicht mit live genutzten, bezahlten APIs testet. Zur Verwendung von Bedrock Mantle im Vergleich zu LiteLLM sollten die Eingaben, der Verantwortliche für den Schritt sowie die Abbruchkriterien vor dem Codeändern definiert werden. Die Operator sollten in der Lage sein, den Schritt von einem bekannten Checkpoint aus erneut auszuführen, ohne auf versteckte Zustände schließen zu müssen. Dokumentieren Sie sowohl den erfolgreichen Ablauf als auch den Notfallplan gemeinsam. Wiederholungsversuche, menschliche Überprüfungen sowie die Handhabung von Fehlern gehören zum Produkt selbst und nicht zu späteren Optimierungen.
model_provider = "amazon-bedrock"
model = "openai.gpt-5.5"
export AWS_BEARER_TOKEN_BEDROCK="<your-bedrock-api-key>"
export AWS_REGION="us-east-2"
Einen Codex LiteLLM-Profil erstellen
Zum Erstellen eines Codex LiteLLM-Profils sollten Sie die Eingabedaten, den Verantwortlichen für den jeweiligen Schritt sowie die Abbruchkriterien vor der Codeänderung definieren. Die Operator sollten in der Lage sein, den Schritt von einem bekannten Checkpoint aus erneut auszuführen, ohne auf versteckte Zustände schließen zu müssen. Wählen Sie kleine, testbare Einheiten statt umfangreicher Skripte. Wenn ein Schritt fehlschlägt, sollte der Fehler auf eine einzige Verantwortung verweisen und nicht auf ein verworrenes Ablaufschema. Verfassen Sie ein kurzes Handbuch: Wie werden Schlüssel ausgetauscht, wie wird die Warteschlange geleert und wie wird der letzte Eingang rückgängig gemacht.
CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
mkdir -p "$CODEX_HOME"
cat > "$CODEX_HOME/litellm.config.toml" <<EOF
model = "bedrock-mantle-openai-gpt-5-4"
model_provider = "litellm"
model_catalog_json = "$CODEX_HOME/model-catalogs/litellm.json"
[model_providers.litellm]
name = "LiteLLM"
base_url = "http://localhost:4000"
env_key = "LITELLM_DEMO_CLIENT_KEY"
wire_api = "responses"
EOF
wire_api = "responses"
Modellmetadaten für die LiteLLM-Alias hinzufügen
Für das Hinzufügen von Modellmetadaten zu den LiteLLM-Aliasen sollten Sie die Eingaben, den Verantwortlichen für den jeweiligen Schritt sowie die Abbruchkriterien vor dem Ändern des Codes definieren. Die Operator sollten in der Lage sein, den Schritt von einem bekannten Checkpoint aus erneut auszuführen, ohne auf versteckte Zustände schließen zu müssen. Betrachten Sie diese Phase als Vertrag zwischen den Eingaben und den validierten Ausgaben. Benennen Sie die Erzeugnisse, definieren Sie Erfolgskontrollen und lehnen Sie stille, unvollständige Abschlüsse ab. Verfassen Sie ein kurzes Handbuch: Wie man Schlüssel rotiert, wie man die Warteschlange leert und wie man den letzten Eingang rückgängig macht.
CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
mkdir -p "$CODEX_HOME/model-catalogs"
jq '{
models: [
(.models[]
| select(.slug == "gpt-5.4")
| .slug = "bedrock-mantle-openai-gpt-5-4"
| .display_name = "LiteLLM Bedrock GPT-5.4"
| .description = "LiteLLM alias for GPT-5.4 through Bedrock Mantle."
| .upgrade = null
| .availability_nux = null
| .max_context_window = .context_window),
(.models[]
| select(.slug == "gpt-5.5")
| .slug = "bedrock-mantle-openai-gpt-5-5"
| .display_name = "LiteLLM Bedrock GPT-5.5"
| .description = "LiteLLM alias for GPT-5.5 through Bedrock Mantle."
| .upgrade = null
| .availability_nux = null)
]
}' "$CODEX_HOME/models_cache.json" > "$CODEX_HOME/model-catalogs/litellm.json"
Optional: Aber Sie möchten GPT-5.4 mini
Für optional: Falls Sie GPT-5.4 mini verwenden möchten, definieren Sie die Eingaben, den Verantwortlichen für den Schritt sowie die Abbruchkriterien, bevor Sie den Code ändern. Die Operator sollten in der Lage sein, den Schritt von einem bekannten Checkpoint aus erneut auszuführen, ohne auf versteckte Zustände schließen zu müssen. Erhalten Sie Zeiten sowie Kosten für Token oder Abfragen zusammen mit den funktionalen Ergebnissen. Eine frühzeitige Sichtbarkeit der Kosten verhindert überraschende Rechnungen, wenn der Ablauf von einer Demo-Umgebung in eine gemeinsam genutzte Umgebung wechselt. Verfassen Sie ein kurzes Handbuch: Wie man Schlüssel rotiert, wie man die Warteschlange leert und wie man den letzten Eingang rückgängig macht. Für optional: Falls Sie GPT-5.4 mini verwenden möchten, definieren Sie die Eingaben, den Verantwortlichen für den Schritt sowie die Abbruchkriterien, bevor Sie den Code ändern. Die Operator sollten in der Lage sein, den Schritt von einem bekannten Checkpoint aus erneut auszuführen, ohne auf versteckte Zustände schließen zu müssen. Dokumentieren Sie sowohl den erfolgreichen Ablauf als auch den Notfallweg. Wiederholungsversuche, menschliche Überprüfungen sowie die Handhabung von Fehlern gehören zum Produkt selbst und nicht zu späteren Optimierungen.
CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
mkdir -p "$CODEX_HOME/model-catalogs"
jq '{
models: [
(.models[]
| select(.slug == "gpt-5.4")
| .slug = "bedrock-mantle-openai-gpt-5-4"
| .display_name = "LiteLLM Bedrock GPT-5.4"
| .description = "LiteLLM alias for GPT-5.4 through Bedrock Mantle."
| .upgrade = null
| .availability_nux = null
| .max_context_window = .context_window),
(.models[]
| select(.slug == "gpt-5.5")
| .slug = "bedrock-mantle-openai-gpt-5-5"
| .display_name = "LiteLLM Bedrock GPT-5.5"
| .description = "LiteLLM alias for GPT-5.5 through Bedrock Mantle."
| .upgrade = null
| .availability_nux = null
| .max_context_window = .context_window),
(.models[]
| select(.slug == "gpt-5.4-mini")
| .slug = "openai-gpt-5-4-mini"
| .display_name = "LiteLLM OpenAI GPT-5.4 Mini"
| .description = "LiteLLM alias for GPT-5.4 mini through OpenAI."
| .upgrade = null
| .availability_nux = null
| .max_context_window = .context_window)
]
}' "$CODEX_HOME/models_cache.json" > "$CODEX_HOME/model-catalogs/litellm.json"
Start Codex über LiteLLM
Für Start Codex über LiteLLM sollten die Eingaben, der Verantwortliche für den Schritt sowie die Abbruchkriterien vor dem Codeändern definiert werden. Die Operator sollten in der Lage sein, den Schritt von einem bekannten Checkpoint aus erneut auszuführen, ohne auf versteckte Zustände schließen zu müssen. Es sind kleinere, testbare Einheiten vorzuziehen statt umfangreicher Skripte. Wenn ein Schritt fehlschlägt, sollte der Fehler auf eine einzige Verantwortung verweisen und nicht auf ein verworrenes Ablaufverfahren. Fixieren Sie die Abhängigkeitsversionen und dokumentieren Sie den Bild-Digest, mit dem die Demo ausgeführt wurde. Reproduzierbarkeit ist besser als „stammesbezogenes Wissen“.
codex --profile litellm
codex --profile litellm -m bedrock-mantle-openai-gpt-5-5
Warum das funktioniert
Für „Warum das funktioniert“ sollten vor der Codeänderung die Eingaben, der Verantwortliche für den Schritt sowie die Abbruchkriterien definiert werden. Die Operator sollten in der Lage sein, den Schritt von einem bekannten Checkpoint aus erneut auszuführen, ohne auf versteckte Zustände schließen zu müssen. Betrachten Sie diese Phase als Vertrag zwischen den Eingaben und den validierten Ausgaben. Benennen Sie die Artefakte, definieren Sie Erfolgskontrollen und lehnen Sie stille, unvollständige Abschlüsse ab. Fixieren Sie die Abhängigkeitsversionen und dokumentieren Sie den Image-Digest, mit dem die Demo ausgeführt wurde. Reproduzierbarkeit ist besser als kollektives Wissen.
codex --profile litellm
Referenzen
Zur Referenz sollten Eingabedaten, der Verantwortliche für den Schritt sowie die Abbruchkriterien vor dem Ändern des Codes definiert werden. Die Operator sollten in der Lage sein, den Schritt von einem bekannten Checkpoint aus erneut auszuführen, ohne auf versteckte Zustände schließen zu müssen. Erhalten Sie Zeitenangaben sowie Kosten für Token oder Abfragen zusammen mit den funktionalen Ergebnissen. Eine frühzeitige Sichtbarkeit der Kosten verhindert überraschende Rechnungen, wenn der Ablauf von einer Demo in gemeinsam genutzte Umgebungen wechselt. Fixieren Sie die Abhängigkeitsversionen und dokumentieren Sie den Bilddigest, mit dem die Demo ausgeführt wurde. Reproduzierbarkeit ist wichtiger als „stammesweises Wissen“. Zur Referenz sollten Eingabedaten, der Verantwortliche für den Schritt sowie die Abbruchkriterien vor dem Ändern des Codes definiert werden. Die Operator sollten in der Lage sein, den Schritt von einem bekannten Checkpoint aus erneut auszuführen, ohne auf versteckte Zustände schließen zu müssen. Dokumentieren Sie sowohl den erfolgreichen Ablauf als auch den Notfallablauf gemeinsam. Wiederholungsversuche, menschliche Kontrollen sowie die Handhabung von Fehlern gehören zum Produkt selbst und nicht zu späteren Optimierungen.
Operative Kontrollliste
Für die Betriebskontrollliste sollten vor dem Ändern des Codes die Eingabedaten, der Verantwortliche für den jeweiligen Schritt sowie die Abbruchkriterien definiert werden. Die Operator sollten in der Lage sein, den Schritt von einem bekannten Checkpoint aus erneut auszuführen, ohne auf versteckte Zustände schließen zu müssen.
Halten Sie die Konfiguration außerhalb des Anwendungscode. Umgebungsdateien, Geheimdatenspeicher und Feature-Flags sollten an einem Ort gesammelt sein, den die Operator überprüfen können, ohne den gesamten Codeverlauf durchlesen zu müssen.
Fügen Sie so oft wie möglich, solange das Budget es zulässt, einen Smoke-Test hinzu, der den kritischen Pfad in CI mit Fixtures und nicht mit live genutzten, bezahlten APIs testet.
Erhalten Sie neben den funktionalen Ergebnissen auch Aufzeichnungen der Ausführungsdauer sowie der Kosten für Token oder Abfragen. Eine frühzeitige Sichtbarkeit der Kosten verhindert überraschende Rechnungen, wenn der Ablauf von einer Demo-Umgebung in eine gemeinsam genutzte Umgebung wechselt.
Pinnen Sie die Versionen der Abhängigkeiten fest und speichern Sie den Image-Digest, mit dem die Demo ausgeführt wurde. Reproduzierbarkeit ist besser als „stammesbezogenes Wissen“.
Betrachten Sie diese Phase als Vertrag zwischen Eingaben und validierten Ausgaben. Benennen Sie die Erzeugnisse, definieren Sie Erfolgskontrollen und lehnen Sie stille, unvollständige Abschlüsse ab.
Vor der Weiterentwicklung des Stack sollten Sie Versionen einfrieren, ein „goldenes“ Protokoll für den kritischen Pfad erstellen und die Rollback-Schritte bestätigen. Gemeinsam genutzte Umgebungen benötigen Geschwindigkeitsbeschränkungen, Überprüfungen der Zuordnung sowie einen klaren Verantwortlichen für die Rotation von Geheimnissen. Wählen Sie langweilige Zuverlässigkeit statt cleverer, einmaliger Demonstrationen.