Codex config.toml: custom provider, Base URL और API Key
config.toml, auth.json, BetterToken API Key और Responses Base URL से Codex CLI और Codex App सेट करें और कनेक्शन जांचें।
स्थानीय कार्यों के लिए Codex CLI और Codex App एक ही config.toml और auth.json इस्तेमाल करते हैं। यह सेटअप OpenAI Responses के ज़रिए BetterToken API Key उपयोग करता है।
फ़ाइलें खोजें और बैकअप लें
यदि आपने अपना CODEX_HOME सेट किया है, तो उसी डायरेक्टरी में config.toml और auth.json संपादित करें। अन्यथा macOS / Linux पर ~/.codex या Windows पर %USERPROFILE%\.codex उपयोग करें। CLI और App को एक ही डायरेक्टरी इस्तेमाल करनी चाहिए। WSL की उपयोगकर्ता डायरेक्टरी अलग होती है।
संपादन से पहले Codex पूरी तरह बंद करें। दोनों फ़ाइलों का बैकअप निजी स्थान पर रखें। जो फ़ाइल मौजूद नहीं है उसे बनाएँ। मौजूदा सेटिंग बदलें; कुंजियाँ या टेबल दोबारा न जोड़ें। असंबंधित सेटिंग बनाए रखें।
न्यूनतम कार्यशील configuration
config.toml संपादित करें
यह गाइड यूज़र-स्तर का config.toml इस्तेमाल करती है। शीर्ष कुंजियाँ सभी TOML तालिकाओं से पहले रखें, [projects."<path>"] में नहीं; उस तालिका में प्रोजेक्ट का trust_level रहता है। चुनी गई provider ID और तालिका का नाम समान रखें। फ़ाइल प्रमाणीकरण के लिए चुने provider से env_key और experimental_bearer_token हटाएँ।
model_provider = "bettertoken"model = "gpt-6-astra"cli_auth_credentials_store = "file"
[model_providers.bettertoken]name = "BetterToken"base_url = "https://bettertoken.ai/v1"wire_api = "responses"requires_openai_auth = truesupports_websockets = falseइस उदाहरण में GPT-6 Astra (gpt-6-astra) उपयोग होता है। दूसरे मॉडल के लिए मॉडल प्लाज़ा से पूरा ID कॉपी करके model बदलें। GPT, Kimi और GLM एक ही फ़ाइल-आधारित प्रमाणीकरण संरचना इस्तेमाल करते हैं; स्वचालित सेटअप GPT के लिए उपलब्ध है।
auth.json संपादित करें
auth.json और config.toml एक ही डायरेक्टरी में होते हैं। अगर auth.json नहीं है, तो उसी डायरेक्टरी में यह फ़ाइल बनाएँ। फ़ाइल की सामग्री के रूप में निम्न JSON लिखें, YOUR_API_KEY की जगह अपनी BetterToken API Key डालें और फ़ाइल सेव करें।
{ "auth_mode": "apikey", "OPENAI_API_KEY": "YOUR_API_KEY"}कॉन्फ़िगरेशन पैरामीटर
| पैरामीटर | कार्य और स्थान | डिफ़ॉल्ट और उदाहरण |
|---|---|---|
model_provider | यूज़र फ़ाइल का शीर्ष स्तर; नीचे दी गई ID चुनता है। | डिफ़ॉल्ट openai; यहाँ bettertoken। |
model | शीर्ष स्तर; मॉडल प्लाज़ा का पूरा Model ID। | उदाहरण gpt-6-astra; ज़रूरत के अनुसार बदलें। |
cli_auth_credentials_store | शीर्ष स्तर; लॉगिन क्रेडेंशियल का स्टोर। | यहाँ file: उसी निर्देशिका का auth.json पढ़ता है। |
name | provider तालिका; केवल प्रदर्शन नाम। | BetterToken Model ID नहीं है। |
base_url | provider तालिका; मॉडल API का Base URL। | https://bettertoken.ai/v1 इस्तेमाल करें; Codex /responses जोड़ता है। |
wire_api | provider तालिका; अनुरोध प्रोटोकॉल। | अभी केवल responses समर्थित है और यही डिफ़ॉल्ट है। |
requires_openai_auth | provider तालिका; OpenAI प्रमाणीकरण और उसका स्टोर। | डिफ़ॉल्ट false; यहाँ true। यह लॉगिन फ़ाइल बचाने का स्विच नहीं है। |
supports_websockets | provider तालिका; Responses WebSocket समर्थन। | डिफ़ॉल्ट false; यहाँ HTTP/SSE बना रहता है। |
auth_mode | auth.json में; प्रमाणीकरण मोड। | यहाँ apikey; आधिकारिक ChatGPT प्रमाणीकरण को बदलता है। |
OPENAI_API_KEY | auth.json में; API प्रमाणीकरण की Key। | YOUR_API_KEY की जगह BetterToken API Key भरें। |
यह फ़ाइल प्रमाणीकरण API Key मोड में बदलता है। आधिकारिक अकाउंट बनाए रखने के लिए लॉगिन संरक्षण इस्तेमाल करें; दोनों मोड न मिलाएँ। अंतर प्रमाणीकरण के उद्देश्य का है, CLI, App या Extension का नहीं।
वैकल्पिक समायोजन
संगठन द्वारा प्रबंधित token helper के लिए command आधारित provider authentication देखें। यह फ़ाइल से authentication वाले इस उदाहरण का विकल्प है: provider की auth तालिका को env_key, experimental_bearer_token या requires_openai_auth के साथ नहीं जोड़ सकते। अपने administrator से मिला helper और configuration उपयोग करें।
ये तीन समायोजन वैकल्पिक हैं, कनेक्शन की शर्त नहीं। ज़रूरत हो तो इन्हें मौजूदा [model_providers.bettertoken] तालिका में जोड़ें; दूसरी समान तालिका न बनाएँ।
request_max_retries = 4stream_max_retries = 8stream_idle_timeout_ms = 300000| पैरामीटर | कार्य और स्थान | डिफ़ॉल्ट और उदाहरण |
|---|---|---|
request_max_retries | provider तालिका; HTTP अनुरोधों की अधिकतम पुनः कोशिशें। | डिफ़ॉल्ट 4; कनेक्शन के अनुसार बदलें। |
stream_max_retries | provider तालिका; स्ट्रीम टूटने के बाद पुनः कनेक्शन। | डिफ़ॉल्ट 5; 8 वैकल्पिक कस्टम मान है। |
stream_idle_timeout_ms | provider तालिका; निष्क्रिय स्ट्रीम का टाइमआउट, मिलीसेकंड में। | डिफ़ॉल्ट 300000; यह पूरी टास्क की समय सीमा नहीं है। |
कॉन्फ़िगरेशन स्तर और पुरानी कुंजियाँ
मॉडल और reasoning को [projects."<path>"] में न रखें। विश्वसनीय प्रोजेक्ट के .codex/config.toml में शीर्ष कुंजियों से प्रोजेक्ट मॉडल चुन सकते हैं; provider और प्रमाणीकरण यूज़र कॉन्फ़िग में रहें। नए profile के लिए CODEX_HOME में NAME.config.toml और codex --profile NAME इस्तेमाल करें, पुराने [profiles.NAME] या शीर्ष profile चयनकर्ता नहीं।
पुनः शुरू करके जाँचें
दोनों फ़ाइलें सहेजें। टर्मिनल में नया Codex CLI सत्र सीधे शुरू करें:
codexपृष्ठभूमि प्रक्रियाओं सहित Codex App पूरी तरह बंद करें। फिर खोलें और नया स्थानीय कार्य बनाएँ। अपने इस्तेमाल के हर क्लाइंट में छोटा प्रॉम्प्ट भेजें। सामान्य उत्तर उस क्लाइंट का कनेक्शन सत्यापित करता है।
समस्या निवारण
401, 403 या लॉगिन अनुरोध आने पर सक्रिय डायरेक्टरी, auth.json की Key, auth_mode = apikey, cli_auth_credentials_store = file और requires_openai_auth = true जाँचें। प्रदाता या मॉडल की त्रुटि होने पर प्रदाता ID का मिलान, https://bettertoken.ai/v1, wire_api = responses और मॉडल की उपलब्धता जाँचें। बदलाव लागू न हों तो कॉन्फ़िगरेशन ओवरराइड जाँचें और सुनिश्चित करें कि CLI और App एक ही CODEX_HOME इस्तेमाल कर रहे हैं।
संबंधित दस्तावेज
- पूरी Codex सेटअप गाइड
- VS Code Codex extension में custom Base URL कॉन्फ़िगर करें
- model_provider, base_url और wire_api की व्याख्या
- Codex CLI sandbox और approval mode
- AGENTS.md क्या है?

