Özel API provider'ı için Codex config.toml: 2026'dan beri yalnızca Responses
Wokey Team · 2026-09-24
Kısa cevap: Codex'i üçüncü taraf bir API'ye yönlendirmek için ~/.codex/config.toml içinde özel bir provider tanımlayın, base_url değerini gateway'e ayarlayın ve anahtarınızı env_key ile adı verilen ortam değişkenine koyun. Protokol Responses olmalıdır. Codex, Chat Completions desteğini Şubat 2026'da kaldırdı ve wire_api = "chat" artık başlangıçta hata veriyor; bu yüzden hâlâ wire_api = "chat" gösteren çoğu rehber artık çalışmıyor.
Aşağıdaki yapılandırma güncel Codex CLI sürümlerinde çalışır. Bu rehberdeki her hata metni Codex kaynak kodundan veya Wokey API'sinin gerçek bir yanıtından alıntılanmıştır.
Tam yapılandırma (kopyalayıp yapıştırın)
# ~/.codex/config.toml
model = "gpt-6-sol"
model_provider = "wokey"
[model_providers.wokey]
name = "Wokey"
base_url = "https://api.wokey.ai"
env_key = "WOKEY_API_KEY"
wire_api = "responses"
export WOKEY_API_KEY="your Wokey API key"
codex
Her alanın işlevi:
| Alan | Amaç | Yaygın hata |
|---|---|---|
model_provider |
Kullanılacak [model_providers.<id>] tablosunu belirten üst düzey anahtar |
Yazılmazsa Codex yerleşik openai provider'ında kalır ve ChatGPT'ye giriş yapmanızı ister |
base_url |
Gateway adresi; Codex sonuna /responses ekler |
/responses yolunu kendiniz eklemeyin, yoksa istekler /responses/responses adresine gider |
env_key |
Anahtarı tutan ortam değişkeninin adı; Codex onu Authorization: Bearer olarak gönderir |
Bu değişkenin adıdır, anahtarın kendisi değil |
wire_api |
Protokol; "responses" tek geçerli değerdir ve varsayılandır |
"chat" başlangıçta hata verir |
Wokey'de base_url değeri https://api.wokey.ai veya https://api.wokey.ai/v1 olabilir; gateway hem /responses hem de /v1/responses yolunu sunar. Diğer gateway'lerde kendi dokümantasyonlarını izleyin: birçoğu yalnızca /v1 yollarını kaydeder.
Değişkenin adı size kalmıştır. OPENAI_API_KEY çalışır, ancak resmi OpenAI API'sini de kullanıyorsanız ayrı bir WOKEY_API_KEY, iki anahtarın birbirinin üzerine yazmasını önler.
Eski rehberler neden bozuluyor
Zaman çizelgesi:
- 2025-12-09: Codex ekibi GitHub'da #7782, "Deprecating chat/completions support in Codex" tartışmasını yayımladı. Tartışma, desteğin Şubat 2026 başında kaldırılacağını duyurdu,
wire_api = "chat"kullanan veyawire_apibelirtmeyen kullanıcılardan geçiş yapmalarını, gateway'lerden de Responses desteğini doğrulamalarını istedi. - 2026-02-03: PR #10157, "chore: nuke chat/completions API" birleştirildi ve Chat Completions kodu silindi.
O tarihten beri Codex'in WireApi türünün tek bir değeri vardır: Responses. Yapılandırmada hâlâ wire_api = "chat" varsa Codex başlangıçta şu hatayla durur:
`wire_api = "chat"` is no longer supported.
How to fix: set `wire_api = "responses"` in your provider config.
More info: https://github.com/openai/codex/discussions/7782
Değeri wire_api = "responses" yapın veya satırı silin. Bu aynı zamanda yalnızca Chat Completions konuşan bir gateway'in artık Codex'e hizmet veremeyeceği anlamına gelir: bir gateway seçmeden önce /v1/responses uç noktası olup olmadığına bakın.
Eskimiş veya yok sayılan diğer ayarlar
Provider tablosunun içinde api_key. Codex, provider yapılandırmasındaki bilinmeyen alanları reddeder; bu yüzden bir api_key = "sk-..." satırı yapılandırmanın ayrıştırılamamasına yol açar. Anahtarı env_key ile adı verilen değişken üzerinden iletin. Dosyaya mutlaka bir token yazmanız gerekiyorsa alanın adı experimental_bearer_token olur, ancak bu önerilmez.
[profiles.xxx] ve üst düzeyde profile = "xxx". Codex 0.134.0 sürümünden beri --profile xxx, ~/.codex/xxx.config.toml dosyasını yapılandırmanın üzerine bindirir. config.toml içindeki [profiles.xxx] tabloları artık okunmaz ve üst düzey profile = artık desteklenmez. Resmi hesabınız ile bir gateway arasında geçiş yapmak için Wokey provider'ını ~/.codex/wokey.config.toml dosyasına koyun ve codex --profile wokey ile başlatın.
Bir projenin .codex/config.toml dosyasındaki provider'lar. Proje düzeyi yapılandırma model_provider ve model_providers değerlerini yok sayar. Provider'lar yalnızca ev dizininizdeki ~/.codex/ altında tanımlanabilir.
openai, ollama veya lmstudio provider kimliği. Bu kimlikler yerleşik provider'lara ayrılmıştır ve özel bir provider tanımlamak için kullanılamaz. wokey gibi başka bir ad kullanın.
Hangi modeli kullanmalı
Codex yalnızca Responses istekleri gönderir; bu yüzden /v1/responses yolunu yerel olarak sunan modelleri tercih edin. Wokey'de bu şu anda GPT ailesi (gpt-6-sol, gpt-6-luna, gpt-6-astra, gpt-5.6-sol), Grok ailesi (grok-4.7, grok-4.6) ve deepseek-v4.1-flash demektir. Her model sayfasındaki "Supported endpoints" listesi esas alınmalıdır ve model yelpazesi zamanla değişir.
Yerel Responses desteği olmayan, örneğin yalnızca Chat Completions listeleyen modeller de Wokey'de Codex'ten çalışır. Gateway isteği upstream'in protokolüne dönüştürür ve sonucu yeniden Responses'a çevirir. Ancak bu dönüşüm kayıplıdır:
- Chat Completions'a dönüştürülürken Codex'e özgü bazı araçlar düşer; örneğin serbest biçimli
apply_patch,local_shellve yerleşikweb_search. - Araç çağrıları ancak yanıtın tamamı bittiğinde görünür.
Ana kodlama modeliniz için yerel Responses desteği olan birini seçin.
Sorun giderme
Missing environment variable: `WOKEY_API_KEY`.
Codex, env_key ile adı verilen değişkeni bulamadı. Yazımı kontrol edin ve değişkeni codex komutunu başlatan terminalde export ettiğinizden emin olun. Onu ~/.zshrc veya ~/.bashrc dosyasına eklediyseniz yeni bir terminal açın.
code değeri invalid_api_key olan HTTP 401
Wokey bunu eksik veya yanlış anahtar için döndürür ve message hangisi olduğunu söyler: anahtar gönderilmemiş, böyle bir anahtar yok ya da anahtar silinmiş, duraklatılmış veya süresi dolmuş. Anahtarın eksiksiz kopyalandığını, konsolda silinmediğini veya duraklatılmadığını ve değişkende fazladan tırnak ya da boşluk bulunmadığını kontrol edin.
Route POST:/responses/responses not found içeren HTTP 404
base_url değeri /responses ile bitiyor. Codex yolu kendisi ekler; bu yüzden base_url alan adında (veya /v1 ile) bitmelidir.
Codex ChatGPT'ye giriş yapmanızı istiyor
Üst düzeyde model_provider = "wokey" yoktur veya provider, yok sayıldığı bir proje .codex/config.toml dosyasında duruyordur. Codex yerleşik openai provider'ına geri dönmüştür.
wire_api = "chat" is no longer supported
Yukarıya bakın: değeri "responses" yapın veya satırı silin.
HTTP 402 Hesap bakiyeniz tükenmiştir.
Sorunun Codex'te olmadığından emin olmak için önce anahtarı ve uç noktayı curl ile test edin:
curl https://api.wokey.ai/v1/responses \
-H "Authorization: Bearer $WOKEY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-6-sol","input":"ping"}'
curl çalışıyor ve Codex çalışmıyorsa sorun config.toml dosyasındadır. curl de başarısız oluyorsa sorun anahtarda veya ağdadır.
Sık sorulan sorular
Codex hâlâ wire_api = "chat" kullanabilir mi?
Hayır. Codex, Chat Completions desteğini 2026-02-03'te birleştirilen PR #10157 ile kaldırdı. wire_api artık yalnızca responses kabul eder ve chat başlangıçta hata verir. Değeri wire_api = "responses" yapın veya satırı silin; bu zaten varsayılandır.
Codex base_url değerine /v1 eklenmeli mi?
Codex base_url değerinin sonuna /responses ekler. Wokey ile https://api.wokey.ai ve https://api.wokey.ai/v1 adreslerinin ikisi de çalışır. /responses yolunu kendiniz eklemeyin, yoksa 404 Route POST:/responses/responses not found alırsınız.
API anahtarını doğrudan config.toml dosyasına yazabilir miyim?
Provider tablosundaki bir api_key alanı yapılandırmanın ayrıştırılamamasına yol açar, çünkü Codex bilinmeyen provider alanlarını reddeder. Bunun yerine env_key ile bir ortam değişkeninin adını verin ve o değişkeni export edin.
Codex, Claude veya GPT dışındaki diğer modelleri kullanabilir mi?
Wokey'de evet: gateway Responses isteğini upstream protokolüne dönüştürür. Dönüşümde Codex'e özgü bazı araçlar düşer; bu yüzden kodlama için /v1/responses yolunu yerel olarak sunan bir model seçin, örneğin gpt-6-sol, grok-4.7 veya deepseek-v4.1-flash.
[profiles] yapılandırmam neden çalışmayı bıraktı?
Codex 0.134.0 sürümünden beri --profile name, ~/.codex/name.config.toml dosyasını yapılandırmanın üzerine bindirir ve config.toml içindeki [profiles.name] tabloları artık okunmaz. Bu yapılandırmayı kendi dosyasına taşıyın.