閘道器相容性要求
Codex 閘道器必須保留此處介紹的 Responses API 行為: 端點、串流傳輸、對話延續、工具呼叫、身分驗證、路由,以及 有助於排查問題的錯誤。
請求和端點
使用 wire_api = "responses" 設定閘道器供應商。對於
https://gateway.example.com/v1 這樣的基礎 URL,閘道器必須接受
POST /v1/responses,並保留用戶端使用的請求和回應欄位。
可用的 Chat Completions 或 Anthropic Messages 端點並不能證明
Responses 相容性。
健康檢查和模型清單端點是可選的運維輔助功能。它們不會測試 Codex 對話,也無法證明工具支援情況。
串流傳輸
以增量方式轉發伺服器傳送事件(SSE),而不是緩衝整個
回答。保留事件類型和載荷,包括表示成功結束的
response.completed 事件。轉發錯誤和失敗事件,讓用戶端能夠
區分回應失敗與連線停滯。
驗證經過負載平衡器、反向代理和 閘道器的完整流。只有文字回覆而沒有完整結束的流是不夠的。
對話延續
在後續輪次中保留重放的對話輸入。閘道器必須 接受下一輪所需的先前訊息、工具呼叫和工具結果。
如果啟用了 WebSocket 或增量傳輸,還需驗證其
previous_response_id 行為。無狀態的 HTTP Responses 路徑可以使用
重放的輸入,而不需要該延續機制。
工具
保留函式呼叫項及其對應的 function_call_output 項,
包括將呼叫與結果關聯起來的識別符。完整迴圈必須
正常工作:Codex 接收呼叫、執行工具、提交結果,並收到
最終回答。
成功的文字請求無法驗證這個迴圈。請測試計劃啟用的實際模型和 用戶端功能。閘道器接受某個請求欄位,並不能 證明其上游模型實現了對應能力。
身分驗證和標頭
支援部署時選定的用戶端身分驗證機制:
env_key 或基於命令的 bearer 權杖,或者使用 env_http_headers 將憑證
放在自訂標頭中傳送。對包含敏感資訊的標頭值使用環境變數;
不要將其硬編碼到設定中。有關
設定和憑證輔助程式約定,請參閱
自訂供應商參考
。
對開發者進行身分驗證時,應與閘道器的上游供應商身分分開。 將管理員金鑰和上游憑證保留在閘道器上。保留 路由和請求歸屬所依賴的標頭,並測試憑證過期、 續期和撤銷。
模型路由和後設資料
每個面向 Codex 的模型名稱都必須路由到預期的上游模型。請在 閘道器記錄中驗證路由,而不要依賴模型的自我描述。
使用已部署 Codex 版本能夠識別的名稱,或
為自訂別名提供匹配的目錄。
同時檢查模型可用性和遷移後設資料:任何替代模型都必須
透過閘道器路由。對於組織自有且不涉及遷移的別名,
將其目錄條目的 upgrade 設定為 null。目錄後設資料用於指導用戶端行為;
它不會為模型增加能力,
也不會建立閘道器路由。請根據實際的上游模型和供應商驗證上下文限制、推理選項和工具
支援情況。通用閘道器連線
不會自動獲得 Codex 內建
供應商整合所做的後設資料調整。
可識別的模型名稱
使用已部署 Codex 版本能夠識別的確切模型名稱,作為閘道器
別名和 Codex 的 model。確認上游供應商支援該模型,
且組織已核准使用。
檢查 codex --version,並在 Codex 模型目錄中選擇匹配的 rust-v<version> 標籤。
對於自訂建置,使用其原始碼提交;對於桌面部署,匹配
隨附的 CLI 版本。檢查條目的 slug 值,找出該
版本能夠識別的名稱。如果閘道器改變了模型能力,即使名稱可被識別,也應提供
反映這些差異的目錄後設資料。
錯誤
保留用戶端身分驗證錯誤、未知模型
路由、速率限制和上游故障之間的有效區別。不要將所有故障都歸並為
通用的 500 回應。傳回足夠的資訊來診斷出錯層,
同時避免暴露權杖、供應商憑證或敏感的請求內容。
資料和工具邊界
模型流量遵循以下路徑:
Codex client -> LLM gateway -> model provider用戶端使用開發者憑證向閘道器進行身分驗證。閘道器 使用自己的上游供應商憑證存取模型。模型請求中包含的提示詞、原始碼 摘錄、工具參數和工具結果可能會經過 閘道器。請據此設定日誌記錄、保留、脫敏、存取和匯出控制 。
模型閘道器不會路由 Codex 建立的所有連線。本機命令 在用戶端執行環境中執行。MCP server、外掛服務、瀏覽器 和應用程式互動,以及其他已啟用的服務,可能使用獨立的網路路徑 和憑證。模型供應商設定不會授予這些權限,也不會 替代其網路控制。有關這些邊界,請參閱智能體核准與安全 和 MCP。
相容性驗證清單
為每種已部署的用戶端、閘道器和模型組合記錄以下證據:
- Responses 請求和回應欄位。
- SSE 逐步傳輸並成功結束。
- 使用重放輸入的後續對話輪次。
- 所選傳輸使用
previous_response_id時,其行為正常。 - 函式呼叫、對應結果和最終回答。
- 正確的模型路由和匹配的後設資料。
- 按使用者歸屬請求,以及憑證續期和撤銷。
- 有助於排查問題的身分驗證、路由、速率限制和上游錯誤。
- 經過脫敏的診斷資訊和預期的日誌策略。
使用推廣測試流程 在分發設定前收集這些證據。