Bir ağ geçidi üzerinden ChatGPT ile oturum açın
Bunu neden tercih edebilirsiniz?
Zaten bir model ağ geçidiniz varsa ve Codex'i API Platform ile kullanıyorsanız, ChatGPT ile oturum aç yöntemine geçerken ağ geçidinizi koruyabilirsiniz. Böylece model ağ geçidinizi korurken kullanıma uygun ChatGPT çalışma alanı özelliklerine ve denetimlerine (örneğin ses modu) erişebilirsiniz. Oturum açma yöntemlerini Özellik kullanılabilirliği bölümünde karşılaştırın.
Nasıl kurulur?
Mevcut komut tabanlı kimlik doğrulama, ağ geçidi anahtarını Authorization içine yerleştirir. ChatGPT ile oturum açıldığında bu üstbilgi ChatGPT belirtecini taşır. Ayrı ağ geçidi kimlik bilgisini nasıl sağlayacağınızı seçin:
- Seçenek A: Küçük bir başlatma yardımcısıyla kimlik bilgisi komutunuzu yeniden kullanın. Aynı ağ geçidi anahtarını ayrı bir üstbilgide gönderin.
- Seçenek B: Codex'in ağ geçidi kimlik bilgisini yerel OAuth desteğiyle almasını sağlayın.
Seçilen sağlayıcı yapılandırmasını, Yönetilen yapılandırma bölümündeki çalışma alanınızın buluttan yönetilen requirements.toml dosyasına ekleyin. Bu gereksinimler kullanıcılar ChatGPT ile oturum açtıktan sonra geçerlidir; diğer oturum açma yöntemlerini kısıtlamaz. Ağ geçidinin Codex uyumlu temel URL'si, /models ve /responses isteklerini https://chatgpt.com/backend-api/codex adresine vekil sunucu olarak iletmelidir.
Seçenek A: Kimlik bilgisi komutunuzu bir yardımcıyla yeniden kullanın
Mevcut kimlik bilgisi komutunuzu koruyun. Küçük bir yardımcı, Codex'i başlatmadan önce bu komutu çalıştırır ve çıktısını GATEWAY_KEY olarak dışa aktarır. Bu, şu anda kullandığınız ağ geçidi anahtarıyla aynıdır; yalnızca iletildiği üstbilgi değişir.
Örneğin, mevcut API/sağlayıcı yapılandırmanız şunları içerebilir:
# config.toml — existing API/provider setup
model_provider = "enterprise_gateway"
[model_providers.enterprise_gateway]
name = "Enterprise gateway"
base_url = "https://gateway.example.com/v1"
requires_openai_auth = false
[model_providers.enterprise_gateway.auth]
command = "/usr/local/bin/fetch-gateway-token"ChatGPT ile oturum açmak için bu sağlayıcıyı aşağıdaki yönetilen yapılandırmayla değiştirin. Sağlayıcının auth bloğunu kaldırın: komut tabanlı sağlayıcı kimlik doğrulaması, requires_openai_auth = true ile birlikte kullanılamaz.
# requirements.toml
model_provider = "enterprise_gateway"
[model_providers.enterprise_gateway]
name = "Enterprise gateway"
base_url = "https://gateway.example.com/backend-api/codex" # Keep the gateway route.
requires_openai_auth = true # Use the ChatGPT credential for OpenAI.
env_http_headers = { "X-Gateway-Key" = "GATEWAY_KEY" } # Send the same gateway key separately.CLI için bu kabuk işlevi gibi bir başlatma yardımcısı kullanın. Komutu ve bağımsız değişkenleri, mevcut auth bloğunuzdakilerle değiştirin:
codex_with_gateway() (
set -eu
GATEWAY_KEY=$(/usr/local/bin/fetch-gateway-token)
test -n "$GATEWAY_KEY"
export GATEWAY_KEY
exec codex "$@"
)
codex_with_gatewayAğ geçidinizi X-Gateway-Key üstbilgisini kabul edecek, anahtarı doğrulayacak ve isteği arka uca iletmeden önce bu üstbilgiyi kaldıracak şekilde yapılandırın. İstemciden gelen istek artık şunları taşır:
Authorization: Bearer <ChatGPT token>
ChatGPT-Account-ID: <workspace ID, when available>
X-Gateway-Key: <same gateway key returned by your command>Yardımcı, her başlatmada bir kez çalışır. Codex onu yeniden çalıştırmaz veya bu üstbilgiyi yenilemez; anahtarın süresi dolduğunda yeni bir anahtar alın ve yeniden başlatın. Masaüstünde, başlatma entegrasyonunuz uygulama sürecine GATEWAY_KEY sağlamalıdır. Codex'in ağ geçidinde oturum açmayı ve belirteç yenilemeyi yönetmesini istiyorsanız Seçenek B'yi seçin.
Diyagramlarda istek üstbilgileri ve başlatma yardımcısı kısaltılmış olarak gösterilir. Authorization: Bearer <ChatGPT token> kullanın ve yukarıdaki örneklerde yer alan, yardımcının boş anahtar kontrolünü koruyun. GATEWAY_KEY boşsa Codex, X-Gateway-Key üstbilgisini göndermez.


Seçenek B: Yerel ağ geçidi OAuth desteğini kullanın
Komutun ve başlatma yardımcısının yerine Codex tarafından yönetilen ağ geçidi oturum açma işlemini kullanmak için bu seçeneği tercih edin. Ağ geçidinizin bir OAuth yetkilendirme sunucusu olmalıdır. PKCE ile yetkilendirme kodu akışını destekleyen bir genel istemci kaydedin, ardından örnek URL'leri ve istemci kimliğini değiştirin. Mevcut sağlayıcının auth bloğunu kaldırın ve aşağıdaki yönetilen yapılandırmayı kullanın.
# requirements.toml
model_provider = "enterprise_gateway"
[model_providers.enterprise_gateway]
name = "Enterprise gateway"
base_url = "https://gateway.example.com/backend-api/codex" # Keep the gateway route.
requires_openai_auth = true # Use the ChatGPT credential for OpenAI.
[model_providers.enterprise_gateway.gateway_oauth] # Add gateway OAuth.
authorization_url = "https://login.example.com/oauth/authorize"
token_url = "https://login.example.com/oauth/token"
client_id = "YOUR_PUBLIC_CLIENT_ID"
delivery = { kind = "cookie", name = "auth-openid" } # Add gateway auth as a cookie.
# redirect_port = 43127Codex varsayılan olarak kullanılmayan bir geri döngü bağlantı noktası kullanır. Kimlik sağlayıcınız sabit bir yönlendirme URI'si gerektiriyorsa redirect_port ayarını belirleyin ve bu örnek için http://127.0.0.1:43127/callback adresini kaydedin.


Yönlendirme üstbilgileri ekleyin (isteğe bağlı)
Her iki seçenekte de Codex, ağ geçidine özel yönlendirme üstbilgileri gönderebilir. Örneğin, buluttan yönetilen requirements.toml dosyanızdaki aynı enterprise_gateway sağlayıcısına şu üstbilgileri ekleyin:
[model_providers.enterprise_gateway.http_headers]
x-portkey-config = "<gateway-routing-config-id>"
x-portkey-metadata = '{"tool_id":"codex"}'Codex üstbilgileri model sağlayıcısına yapılan isteklerde gönderir; ağ geçidi ise yönlendirme kurallarını uygular. Codex sürecinin ortamından okunan değerler için env_http_headers kullanın. Ağ geçidinin her iki üstbilgiyi de aldığını ve amaçlanan yolu seçtiğini doğrulamak için bir isteği test edin. Daha fazla üstbilgi seçeneği için Özel model sağlayıcıları bölümüne bakın.
Kimlik bilgilerini kendi yollarında tutun
Codex, ChatGPT Authorization üstbilgisini, varsa ChatGPT-Account-ID üstbilgisini ve ağ geçidi üstbilgisini veya çerezini gönderir. Ağ geçidinin kendi kimlik bilgisini doğrulayıp kaldırmasını, ardından ChatGPT üstbilgilerini değiştirmeden iletmesini sağlayın.
Dikkat edilmesi gerekenler ve sınırlamalar
- Yönetilen model sağlayıcısı gereksinimlerini ve Seçenek B için yerel ağ geçidi OAuth desteğini destekleyen bir Codex derlemesi kullanın. Eski derlemeler desteklenmeyen alanları yok sayabilir veya reddedebilir.
- Bu yol, seçilen model sağlayıcısı üzerinden yapılan istekleri kapsar. ChatGPT ile oturum açma, MCP, eklentiler ve diğer uygulama bağlantıları farklı yollar kullanabilir.
- Ağ geçidiniz istek verilerini ve her iki kimlik bilgisini de görebilir. Bunları günlüklerde maskeleyin; ağ geçidi kimlik bilgilerini hiçbir zaman üst sunucuya iletmeyin.
- Yerel ağ geçidi OAuth desteği, bir tarayıcı ve erişilebilir bir geri döngü geri çağrısı gerektirir. Alternatif bir cihaz kodu akışı sunmaz. Yenileme belirteci yoksa erişim belirtecinin süresi dolduğunda kullanıcıların tarayıcıda yeniden oturum açması gerekir.
- Genel bir OpenAI
/v1/modelsyanıtı yeterli değildir: Codex birmodelsdizisi bekler. Model listesini, bir istemi ve dağıtımınızın kullandığı her özelliği test edin.
Ağ geçidi üzerinden ses
Bu kurulum, Codex model sağlayıcısı isteklerini yönlendirir; ChatGPT Voice özelliğini etkinleştirmez. WebRTC ses oturumlarında çağrı oluşturma ve yan kanal bağlantısı ayrı yollar kullanır. ~/.codex/config.toml içindeki deneysel experimental_realtime_webrtc_call_base_url ayarı yalnızca çağrı oluşturma için kullanılan HTTP temel URL'sini değiştirir. Yan kanal bağlantısını, medyayı veya normal model isteklerini yeniden yönlendirmez. Bu geçersiz kılma ayarını kullanmadan önce çağrı hedefini ve kimlik bilgilerinin işlenişini doğrulamak için OpenAI ile çalışın, ardından eksiksiz bir ses oturumunu test edin.
API/sağlayıcı kimlik bilgisi yolu için Ağ geçidi uyumluluğu ve Bir ağ geçidini kullanıma alın bölümlerine bakın. Bu yönetilen ayarlar için Yönetilen yapılandırma ve Yapılandırma başvurusu bölümlerine bakın.