Anforderungen an die Gateway-Kompatibilität
Codex-Gateways müssen das hier beschriebene Verhalten der Responses API beibehalten: Endpunkte, Streaming, Fortsetzung, Tool-Aufrufe, Authentifizierung, Routing und aussagekräftige Fehler.
Anfragen und Endpunkte
Konfigurieren Sie einen Gateway-Anbieter mit wire_api = "responses". Bei einer Basis-URL wie
https://gateway.example.com/v1 muss das Gateway
POST /v1/responses akzeptieren und die vom Client verwendeten Anfrage- und Antwortfelder beibehalten.
Ein funktionierender Chat-Completions- oder Anthropic-Messages-Endpunkt belegt keine
Responses-Kompatibilität.
Endpunkte zur Zustandsprüfung und Modelllistenendpunkte sind optionale Betriebshilfen. Sie führen keine Codex-Unterhaltung durch und weisen keine Tool-Unterstützung nach.
Streaming
Leiten Sie Server-Sent Events (SSE) schrittweise weiter, anstatt die gesamte
Antwort zu puffern. Behalten Sie Ereignistypen und Payloads bei, einschließlich des erfolgreichen abschließenden
Ereignisses response.completed. Leiten Sie Fehler- und Fehlschlagereignisse weiter, damit der Client
eine fehlgeschlagene Antwort von einer ins Stocken geratenen Verbindung unterscheiden kann.
Überprüfen Sie den vollständigen Stream auch über Load Balancer und Reverse Proxys sowie das Gateway. Eine Textantwort ohne abgeschlossenen Stream reicht nicht aus.
Fortsetzung von Unterhaltungen
Behalten Sie erneut übermittelte Unterhaltungseingaben über Folgerunden hinweg bei. Das Gateway muss die vorherigen Nachrichten, Tool-Aufrufe und Tool-Ergebnisse akzeptieren, die für die nächste Runde benötigt werden.
Wenn Sie WebSocket oder inkrementellen Transport aktivieren, überprüfen Sie auch das
Verhalten von previous_response_id. Ein zustandsloser HTTP-Responses-Verbindungsweg kann
erneut übermittelte Eingaben verwenden, ohne diesen Fortsetzungsmechanismus zu benötigen.
Tools
Behalten Sie Funktionsaufrufelemente und die zugehörigen function_call_output-Elemente bei,
einschließlich der Kennungen, die Aufrufe mit Ergebnissen verknüpfen. Der vollständige Zyklus muss
funktionieren: Codex erhält einen Aufruf, führt das Tool aus, übermittelt dessen Ergebnis und erhält eine
abschließende Antwort.
Eine erfolgreiche Textanfrage überprüft diesen Zyklus nicht. Testen Sie die tatsächlichen Modelle und Clientfunktionen, die Sie aktivieren möchten. Wenn ein Gateway ein Anfragefeld akzeptiert, belegt das nicht, dass sein Upstream-Modell die entsprechende Funktion implementiert.
Authentifizierung und Header
Unterstützen Sie den für die Bereitstellung gewählten Mechanismus zur Clientauthentifizierung:
env_key oder befehlsbasierte Bearer-Tokens oder env_http_headers für Zugangsdaten,
die in einem benutzerdefinierten Header gesendet werden. Verwenden Sie Umgebungsvariablen für geheime Headerwerte;
hinterlegen Sie diese nicht fest in der Konfiguration. Die
Referenz für benutzerdefinierte Anbieter
beschreibt die Konfiguration und die Vorgaben für Hilfsprogramme für Zugangsdaten.
Authentifizieren Sie Entwickler getrennt von der Identität des Upstream-Anbieters des Gateways. Belassen Sie Administratorschlüssel und Upstream-Zugangsdaten auf dem Gateway. Behalten Sie die Header bei, von denen Ihr Routing und Ihre Zuordnung abhängen, und testen Sie Ablauf, Erneuerung und Widerruf der Zugangsdaten.
Modellrouting und Metadaten
Jeder für Codex sichtbare Modellname muss an das vorgesehene Upstream-Modell weiterleiten. Überprüfen Sie die Route anhand der Gateway-Protokolle, anstatt sich auf die Selbstbeschreibung des Modells zu verlassen.
Verwenden Sie einen Namen, den die bereitgestellte Codex-Version erkennt, oder
stellen Sie einen passenden Katalog für einen benutzerdefinierten Alias bereit.
Prüfen Sie auch die Modellverfügbarkeit und die Migrationsmetadaten: Jedes Ersatzmodell muss
über das Gateway geroutet werden. Setzen Sie bei einem organisationseigenen Alias ohne Migration
upgrade in seinem Katalogeintrag auf null. Katalogmetadaten steuern das Clientverhalten;
sie erweitern nicht die Funktionen eines Modells
und erstellen keine Gateway-Routen. Überprüfen Sie Kontextgrenzen, Reasoning-Optionen und Tools
anhand des tatsächlichen Upstream-Modells und Anbieters. Eine allgemeine Gateway-Verbindung
erhält nicht automatisch die Metadatenanpassungen, die von den integrierten
Anbieterintegrationen in Codex vorgenommen werden.
Erkannte Modellnamen
Verwenden Sie genau den Modellnamen, den Ihre bereitgestellte Codex-Version erkennt, als Gateway-
Alias und für model in Codex. Bestätigen Sie, dass der Upstream-Anbieter das Modell unterstützt
und Ihre Organisation es genehmigt.
Prüfen Sie codex --version und wählen Sie das passende Tag rust-v<version> im Codex-Modellkatalog aus.
Verwenden Sie bei einem benutzerdefinierten Build dessen Quellcode-Commit; richten Sie sich bei Desktop-Bereitstellungen nach der
mitgelieferten CLI-Version. Prüfen Sie die slug-Werte der Einträge, um die Namen zu ermitteln, die diese
Version erkennt. Wenn das Gateway die Funktionen des Modells verändert, stellen Sie
Katalogmetadaten bereit, die diese Unterschiede abbilden, auch wenn der Name erkannt wird.
Fehler
Behalten Sie aussagekräftige Unterscheidungen zwischen Fehlern bei der Clientauthentifizierung, unbekannten Modellrouten,
Ratenbegrenzungen und Upstream-Fehlern bei. Fassen Sie nicht alle Fehler in einer
allgemeinen 500-Antwort zusammen. Geben Sie genügend Informationen zurück, um die fehlerhafte Ebene zu diagnostizieren,
ohne Tokens, Anbieterzugangsdaten oder sensible Anfrageinhalte offenzulegen.
Daten- und Tool-Grenzen
Der Modellverkehr folgt diesem Pfad:
Codex client -> LLM gateway -> model providerDer Client authentifiziert sich mit Entwicklerzugangsdaten beim Gateway. Das Gateway verwendet seine Zugangsdaten für den Upstream-Anbieter, um auf das Modell zuzugreifen. Prompts, Quellcodeauszüge, Tool-Argumente und Tool-Ergebnisse, die in Modellanfragen enthalten sind, können das Gateway passieren. Legen Sie die Regeln für Protokollierung, Aufbewahrung, Schwärzung, Zugriff und Export entsprechend fest.
Das Modellgateway leitet nicht jede von Codex hergestellte Verbindung weiter. Lokale Befehle werden in der Ausführungsumgebung des Clients ausgeführt. MCP server, Plugin-Dienste, Browser- und App-Interaktionen sowie andere aktivierte Dienste können separate Netzwerkpfade und Zugangsdaten haben. Die Modellanbieterkonfiguration gewährt diese Berechtigungen nicht und ersetzt auch nicht deren Netzwerkkontrollen. Informationen zu diesen Grenzen finden Sie unter Agent-Genehmigungen und Sicherheit und MCP.
Checkliste zur Eignungsprüfung
Dokumentieren Sie Nachweise für jede bereitgestellte Kombination aus Client, Gateway und Modell:
- Responses-Anfrage- und Antwortfelder.
- Schrittweise SSE-Übertragung und erfolgreicher endgültiger Abschluss.
- Folgerunden mit erneut übermittelten Eingaben.
previous_response_id, wenn der gewählte Transport dies verwendet.- Funktionsaufrufe, zugehörige Ergebnisse und eine abschließende Antwort.
- Korrektes Modellrouting und passende Metadaten.
- Benutzerbezogene Zuordnung, Erneuerung und Widerruf.
- Aussagekräftige Authentifizierungs-, Routing-, Ratenbegrenzungs- und Upstream-Fehler.
- Diagnosedaten mit geschwärzten sensiblen Inhalten und die vorgesehene Protokollierungsrichtlinie.
Verwenden Sie das Testverfahren für die Einführung, um diese Nachweise vor der Verteilung der Konfiguration zu sammeln.