Skip to main content
यह संदर्भ आधिकारिक codex Plugin के विस्तृत कॉन्फ़िगरेशन को कवर करता है। सेटअप और रूटिंग संबंधी निर्णयों के लिए Codex हार्नेस से शुरू करें।

Plugin कॉन्फ़िगरेशन सतह

Codex हार्नेस की सभी सेटिंग्स plugins.entries.codex.config के अंतर्गत होती हैं।
शीर्ष-स्तरीय फ़ील्ड:

पर्यवेक्षण

नेटिव सेशन खोज डिफ़ॉल्ट रूप से Gateway कंप्यूटर और सहमति दिए गए पेयर्ड नोड्स से गैर-अभिलेखित Codex सेशन सूचीबद्ध करती है। केवल उस कैटलॉग को इस प्रकार अक्षम करें:
supervision एजेंट-सामना करने वाले टूल्स को अलग से नियंत्रित करता है: एंडपॉइंट प्रविष्टियाँ इन फ़ील्ड को स्वीकार करती हैं: Codex Sessions पेज Plugin के पर्यवेक्षण App Server का उपयोग करता है और केवल गैर-अभिलेखित सेशन दिखाता है। स्पष्ट appServer कनेक्शन सेटिंग्स के बिना, उस कनेक्शन को प्रबंधित यूज़र-होम stdio के रूप में संचालित किया जाता है। संग्रहित या निष्क्रिय स्थानीय पंक्तियाँ अंतिम टर्मिनल परसिस्टेड सोर्स टर्न तक के सीमित यूज़र और असिस्टेंट इतिहास वाला मॉडल-लॉक्ड Chat बना सकती हैं। इसकी निजी बाइंडिंग स्नैपशॉट फोर्क, कैनोनिकल appServer-सोर्स ब्रांच, इतिहास इंजेक्शन और बाद के टर्न्स को उसी कनेक्शन पर बनाए रखती है। पहला कैनोनिकल प्रारंभ फोर्क द्वारा लौटाई गई जोड़ी का उपयोग करता है। बाद के रिज़्यूम OpenClaw मॉडल और प्रोवाइडर ओवरराइड छोड़ देते हैं, ताकि Codex कैनोनिकल थ्रेड की परसिस्टेड जोड़ी पुनर्स्थापित करे; एक अलग नेटिव बदलाव उस जोड़ी को अपडेट कर सकता है, लेकिन बाहरी मॉडल और फ़ॉलबैक श्रृंखला इसे कभी प्रतिस्थापित नहीं करती। संग्रहित और निष्क्रिय पंक्तियों को किसी अन्य रनर के न होने की पुष्टि के बाद अभिलेखित किया जा सकता है, जब तक कोई अन्य सक्रिय OpenClaw बाइंडिंग ठीक उसी लक्ष्य या उसके गैर-अभिलेखित उत्पन्न वंशजों में से किसी एक की स्वामी न हो। OpenClaw Codex के वंशज पेजिनेशन का अनुसरण करता है और गणना त्रुटियों, चक्रों या सुरक्षा-सीमा समाप्त होने पर विफलता-बंद रखता है। पुष्टिकरण अभी भी अज्ञात नेटिव क्लाइंट्स और स्थिति-से-अभिलेखन रेस को कवर करता है। किसी पर्यवेक्षित मॉडल-लॉक्ड Chat को तब तक हटाया नहीं जा सकता, जब तक वह नेटिव बाइंडिंग की सुरक्षा करता है। सक्रिय स्रोत न तो ब्रांच बना सकते हैं, न अभिलेखित किए जा सकते हैं, लेकिन मौजूदा पर्यवेक्षित Chat को फिर भी खोला जा सकता है। प्रत्येक पेयर्ड-नोड पंक्ति केवल-पढ़ने योग्य रहती है; नोड ट्रांसपोर्ट अभी हार्नेस के लिए आवश्यक स्ट्रीमिंग लाइफ़साइकल प्रदान नहीं करता। केवल appServer.homeScope: "user" यह बदलता है कि प्रबंधित हार्नेस प्रोसेस किस Codex होम का उपयोग करता है; यह फ़्लीट कैटलॉग प्रकाशित नहीं करता। पर्यवेक्षण सक्षम करने से हार्नेस का डिफ़ॉल्ट नहीं बदलता। इसके बजाय, अलग पर्यवेक्षण कनेक्शन स्पष्ट appServer कनेक्शन सेटिंग्स न होने पर डिफ़ॉल्ट रूप से प्रबंधित यूज़र-होम stdio का उपयोग करता है। उस कनेक्शन के लिए स्पष्ट सेटिंग्स का पालन किया जाता है। लंबित और कमिटेड पर्यवेक्षित बाइंडिंग प्रत्येक टर्न के लिए उस कनेक्शन को बनाए रखती हैं; अक्षम पर्यवेक्षण या कनेक्शन/लाइफ़साइकल विचलन एजेंट-होम हार्नेस पर फ़ॉलबैक करने के बजाय विफलता-बंद रखता है। डिफ़ॉल्ट कनेक्शन नेटिव Codex क्लाइंट्स के साथ संग्रहित सेशन साझा करता है, उनकी प्रोसेस-लोकल गतिविधि स्थिति नहीं। पुरानी plugins.entries.codex-supervisor सेटिंग्स सेवानिवृत्त हो चुकी हैं। पुरानी प्रविष्टि, एंडपॉइंट परिभाषाएँ, नीति फ़्लैग और Plugin अनुमति/निषेध संदर्भों को इस ब्लॉक में माइग्रेट करने के लिए openclaw doctor --fix चलाएँ। टकराव होने पर स्पष्ट कैनोनिकल codex.config.supervision मान प्रभावी होते हैं।

App-server ट्रांसपोर्ट

सामान्य हार्नेस टर्न्स के लिए, OpenClaw आधिकारिक Plugin के साथ भेजा गया प्रबंधित Codex बाइनरी (वर्तमान में @openai/codex 0.145.0) शुरू करता है:
इससे app-server संस्करण किसी अलग स्थानीय रूप से इंस्टॉल किए गए Codex CLI के बजाय आधिकारिक codex Plugin से जुड़ा रहता है। केवल तभी appServer.command सेट करें, जब आप जानबूझकर किसी भिन्न एक्ज़िक्यूटेबल का उपयोग करना चाहते हों। डिफ़ॉल्ट आइसोलेटेड एजेंट होम वाले सामान्य प्रबंधित टर्न्स, macOS डेस्कटॉप बंडल इंस्टॉल होने पर भी इस पिन किए गए पैकेज को प्राथमिकता देते हैं। जब Computer Use सक्षम हो, या जब homeScope "user" हो और नेटिव Computer Use स्थिति लोड कर सकता हो, तब प्रबंधित स्टार्टअप इसके बजाय आवश्यक macOS अनुमतियों के स्वामी डेस्कटॉप ऐप बाइनरी को प्राथमिकता देता है। यही डेस्कटॉप-प्रथम नियम तब भी लागू होता है, जब किसी आइसोलेटेड एजेंट होम का प्रभावी Codex कॉन्फ़िगरेशन नेटिव Computer Use सक्षम करता है। यदि कोई डेस्कटॉप ऐप बंडल इंस्टॉल नहीं है, तो OpenClaw पिन किए गए पैकेज बाइनरी पर फ़ॉलबैक करता है। एक्ज़िक्यूटेबल हैंडऑफ़ और नेटिव-कॉन्फ़िगरेशन फ़ेंसिंग एक ही चल रही Gateway प्रोसेस के भीतर क्लाइंट्स का समन्वय करते हैं। किसी अन्य प्रोसेस द्वारा नेटिव Codex Plugin कॉन्फ़िगरेशन बदलने के बाद Gateway पुनः प्रारंभ करें। पर्यवेक्षण एक अलग कनेक्शन रिज़ॉल्व करता है। स्पष्ट appServer कनेक्शन सेटिंग्स न होने पर, यह homeScope: "user" के साथ प्रबंधित stdio का उपयोग करता है; सामान्य हार्नेस homeScope: "agent" के साथ प्रबंधित stdio ही रहता है। दोनों पथ स्पष्ट कनेक्शन सेटिंग्स का पालन करते हैं। जब सामान्य हार्नेस को नेटिव क्लाइंट्स के साथ $CODEX_HOME (या ~/.codex) साझा करना हो, तो homeScope: "user" स्पष्ट रूप से सेट करें। निजी पर्यवेक्षित बाइंडिंग सामान्य हार्नेस डिफ़ॉल्ट की परवाह किए बिना पर्यवेक्षण कनेक्शन का उपयोग करती है। स्वतंत्र App Server प्रोसेस अलग-अलग लाइव स्थिति और अनुमोदन स्थिति बनाए रखती हैं। पहले से चल रहे app-server के विरुद्ध गैर-उत्पादन परीक्षण के लिए, WebSocket ट्रांसपोर्ट उपलब्ध है:
Codex WebSocket ट्रांसपोर्ट को प्रयोगात्मक और असमर्थित के रूप में वर्गीकृत करता है। उत्पादन कार्यभार के लिए प्रबंधित stdio या स्थानीय Unix कंट्रोल सॉकेट को प्राथमिकता दें। appServer फ़ील्ड: appServer.networkProxy स्पष्ट है क्योंकि यह Codex सैंडबॉक्स अनुबंध को बदलता है। सक्षम होने पर, OpenClaw Codex थ्रेड कॉन्फ़िगरेशन में features.network_proxy.enabled और default_permissions भी सेट करता है, ताकि जनरेट की गई अनुमति प्रोफ़ाइल Codex-प्रबंधित नेटवर्किंग शुरू कर सके। डिफ़ॉल्ट रूप से OpenClaw प्रोफ़ाइल बॉडी से टकराव-प्रतिरोधी openclaw-network-<fingerprint> प्रोफ़ाइल नाम जनरेट करता है; profileName का उपयोग केवल तब करें जब एक स्थिर स्थानीय नाम आवश्यक हो।
यदि सामान्य ऐप-सर्वर रनटाइम danger-full-access होता, तो networkProxy को सक्षम करने पर जनरेट की गई अनुमति प्रोफ़ाइल के लिए इसके बजाय वर्कस्पेस-शैली फ़ाइल सिस्टम पहुँच का उपयोग होता है। Codex-प्रबंधित नेटवर्क प्रवर्तन सैंडबॉक्स वाली नेटवर्किंग है, इसलिए पूर्ण-पहुँच प्रोफ़ाइल आउटबाउंड ट्रैफ़िक की सुरक्षा नहीं करेगी। Plugin पुराने, नए लेकिन असत्यापित, प्रीरिलीज़, बिल्ड-प्रत्यय वाले या संस्करण-रहित ऐप-सर्वर हैंडशेक को अवरुद्ध करता है। Codex ऐप-सर्वर को 0.143.0 से बंडल किए गए 0.145.0 तक का एक स्थिर संस्करण रिपोर्ट करना आवश्यक है। OpenClaw गैर-लूपबैक WebSocket ऐप-सर्वर URL को रिमोट मानता है और appServer.authToken या Authorization हेडर के माध्यम से पहचान-युक्त WebSocket प्रमाणीकरण आवश्यक करता है। appServer.authToken और प्रत्येक appServer.headers.* मान SecretInput हो सकता है; OpenClaw द्वारा ऐप-सर्वर प्रारंभ विकल्प बनाने से पहले सीक्रेट रनटाइम SecretRefs और env शॉर्टहैंड को रिज़ॉल्व करता है, और अनरिज़ॉल्व्ड संरचित SecretRefs किसी भी टोकन या हेडर को भेजे जाने से पहले विफल हो जाते हैं। जब नेटिव Codex plugins कॉन्फ़िगर किए जाते हैं, तो OpenClaw उन plugins को इंस्टॉल या रीफ़्रेश करने के लिए कनेक्टेड ऐप-सर्वर के plugin नियंत्रण तल का उपयोग करता है और फिर ऐप इन्वेंट्री को रीफ़्रेश करता है, ताकि plugin-स्वामित्व वाले ऐप Codex थ्रेड को दिखाई दें। app/list अब भी आधिकारिक इन्वेंट्री और मेटाडेटा स्रोत है, लेकिन OpenClaw नीति यह तय करती है कि सूचीबद्ध सुलभ ऐप के लिए thread/start config.apps[appId].enabled = true भेजता है या नहीं, भले ही Codex वर्तमान में उसे अक्षम चिह्नित करता हो। अज्ञात या अनुपस्थित ऐप आईडी विफलता-बंद ही रहते हैं; यह पथ केवल plugin/install के माध्यम से मार्केटप्लेस plugins को सक्रिय करता है और इन्वेंट्री रीफ़्रेश करता है। OpenClaw को केवल ऐसे रिमोट ऐप-सर्वर से कनेक्ट करें जो OpenClaw-प्रबंधित plugin इंस्टॉलेशन और ऐप इन्वेंट्री रीफ़्रेश स्वीकार करने के लिए विश्वसनीय हों।

अनुमोदन और सैंडबॉक्स मोड

स्थानीय stdio ऐप-सर्वर सत्र डिफ़ॉल्ट रूप से YOLO मोड का उपयोग करते हैं: approvalPolicy: "never", approvalsReviewer: "user", और sandbox: "danger-full-access"। यह विश्वसनीय स्थानीय ऑपरेटर स्थिति बिना निगरानी वाले OpenClaw टर्न और Heartbeat को उन नेटिव अनुमोदन संकेतों के बिना आगे बढ़ने देती है, जिनका उत्तर देने के लिए कोई मौजूद नहीं है। यदि Codex की स्थानीय सिस्टम आवश्यकताएँ फ़ाइल अंतर्निहित YOLO अनुमोदन, समीक्षक या सैंडबॉक्स मानों को अस्वीकार करती है, तो OpenClaw इसके बजाय अंतर्निहित डिफ़ॉल्ट को guardian मानता है और अनुमत guardian अनुमतियाँ चुनता है। tools.exec.mode: "auto" भी guardian-समीक्षित Codex अनुमोदनों को बाध्य करता है और असुरक्षित विरासती approvalPolicy: "never" या sandbox: "danger-full-access" ओवरराइड को बनाए नहीं रखता; जानबूझकर अनुमोदन-रहित स्थिति के लिए tools.exec.mode: "full" सेट करें। उसी आवश्यकताएँ फ़ाइल में होस्टनाम से मेल खाने वाली [[remote_sandbox_config]] प्रविष्टियों का सैंडबॉक्स डिफ़ॉल्ट निर्णय के लिए सम्मान किया जाता है। Codex guardian-समीक्षित अनुमोदनों के लिए appServer.mode: "guardian" सेट करें:
अनुमत होने पर guardian प्रीसेट approvalPolicy: "on-request", approvalsReviewer: "auto_review", और sandbox: "workspace-write" में विस्तृत होता है। अलग-अलग नीति फ़ील्ड mode को ओवरराइड करते हैं। पुराना guardian_subagent समीक्षक मान अब भी संगतता उपनाम के रूप में स्वीकार किया जाता है, लेकिन नए कॉन्फ़िगरेशन को auto_review का उपयोग करना चाहिए। जब OpenClaw सैंडबॉक्स सक्रिय होता है, तब भी स्थानीय Codex ऐप-सर्वर प्रक्रिया Gateway होस्ट पर चलती है। इसलिए OpenClaw उस टर्न के लिए Codex नेटिव Code Mode, उपयोगकर्ता MCP सर्वर और ऐप-समर्थित plugin निष्पादन को अक्षम करता है, बजाय Codex होस्ट-साइड सैंडबॉक्सिंग को OpenClaw सैंडबॉक्स बैकएंड के समतुल्य मानने के। सामान्य exec/process टूल उपलब्ध होने पर शेल पहुँच sandbox_exec और sandbox_process जैसे OpenClaw सैंडबॉक्स-समर्थित डायनेमिक टूल के माध्यम से उपलब्ध कराई जाती है।
Docker-समर्थित OpenClaw सैंडबॉक्स होस्ट पर (agents.defaults.sandbox.mode को Docker बैकएंड पर सेट किया गया हो), openclaw doctor जाँचता है कि क्या होस्ट अनप्रिविलेज्ड उपयोगकर्ता नेमस्पेस और, जब Docker सैंडबॉक्स नेटवर्क निर्गमन अक्षम हो, नेटवर्क नेमस्पेस की अनुमति देता है, जिनकी नेस्टेड Codex bwrap को सैंडबॉक्स कंटेनर के भीतर workspace-write शेल निष्पादन के लिए आवश्यकता होती है। विफल जाँच सामान्यतः Ubuntu/AppArmor होस्ट पर bwrap: setting up uid map: Permission denied या bwrap: loopback: Failed RTM_NEWADDR: Operation not permitted के रूप में दिखाई देती है। OpenClaw सेवा उपयोगकर्ता के लिए रिपोर्ट की गई होस्ट नेमस्पेस नीति ठीक करें और Gateway को पुनः प्रारंभ करें; होस्ट-व्यापी kernel.apparmor_restrict_unprivileged_userns=0 फ़ॉलबैक के बजाय सेवा प्रक्रिया के लिए सीमित AppArmor प्रोफ़ाइल को प्राथमिकता दें, और केवल नेस्टेड bwrap को संतुष्ट करने के लिए अधिक व्यापक Docker कंटेनर विशेषाधिकार न दें।

सैंडबॉक्स वाला नेटिव निष्पादन

स्थिर डिफ़ॉल्ट विफलता-बंद है: सक्रिय OpenClaw सैंडबॉक्सिंग उन नेटिव Codex निष्पादन सतहों को अक्षम करती है जो अन्यथा Codex ऐप-सर्वर होस्ट से चलतीं। OpenClaw के सैंडबॉक्स बैकएंड के साथ Codex के रिमोट वातावरण समर्थन को आज़माने के लिए ही appServer.experimental.sandboxExecServer: true का उपयोग करें। यह पूर्वावलोकन पथ प्रत्येक समर्थित Codex ऐप-सर्वर संस्करण के साथ काम करता है।
जब फ़्लैग चालू हो और वर्तमान OpenClaw सत्र सैंडबॉक्स में हो, तो OpenClaw सक्रिय सैंडबॉक्स द्वारा समर्थित एक स्थानीय लूपबैक exec-server शुरू करता है, उसे Codex ऐप-सर्वर के साथ पंजीकृत करता है, और उस OpenClaw-स्वामित्व वाले वातावरण के साथ Codex थ्रेड और टर्न शुरू करता है। यदि ऐप-सर्वर वातावरण को पंजीकृत नहीं कर सकता, तो रन चुपचाप होस्ट निष्पादन पर लौटने के बजाय विफलता-बंद हो जाता है। यह पूर्वावलोकन पथ केवल स्थानीय है। रिमोट WebSocket ऐप-सर्वर लूपबैक exec-server तक तब तक नहीं पहुँच सकता जब तक वह उसी होस्ट पर न चल रहा हो, इसलिए OpenClaw उस संयोजन को अस्वीकार करता है।

प्रमाणीकरण और वातावरण पृथक्करण

डिफ़ॉल्ट प्रति-एजेंट होम में, प्रमाणीकरण इस क्रम में चुना जाता है:
  1. एजेंट के लिए एक स्पष्ट OpenClaw Codex प्रमाणीकरण प्रोफ़ाइल।
  2. उस एजेंट के Codex होम में ऐप-सर्वर का मौजूदा खाता।
  3. केवल स्थानीय stdio ऐप-सर्वर लॉन्च के लिए, पहले CODEX_API_KEY, फिर OPENAI_API_KEY, जब कोई ऐप-सर्वर खाता मौजूद न हो और OpenAI प्रमाणीकरण अब भी आवश्यक हो।
जब OpenClaw को ChatGPT सदस्यता-शैली Codex प्रमाणीकरण प्रोफ़ाइल (OAuth या टोकन क्रेडेंशियल प्रकार) मिलती है, तो वह स्पॉन की गई Codex चाइल्ड प्रक्रिया से CODEX_API_KEY और OPENAI_API_KEY हटा देता है। इससे Gateway-स्तरीय API कुंजियाँ एम्बेडिंग या प्रत्यक्ष OpenAI मॉडल के लिए उपलब्ध रहती हैं, लेकिन नेटिव Codex ऐप-सर्वर टर्न अनजाने में API के माध्यम से बिल नहीं होते। स्पष्ट Codex API-कुंजी प्रोफ़ाइल और स्थानीय stdio env-कुंजी फ़ॉलबैक इनहेरिट की गई चाइल्ड-प्रोसेस env के बजाय ऐप-सर्वर लॉगिन का उपयोग करते हैं। WebSocket ऐप-सर्वर कनेक्शन Gateway env API-कुंजी फ़ॉलबैक प्राप्त नहीं करते; एक स्पष्ट प्रमाणीकरण प्रोफ़ाइल या रिमोट ऐप-सर्वर के अपने खाते का उपयोग करें। stdio ऐप-सर्वर लॉन्च डिफ़ॉल्ट रूप से OpenClaw के प्रक्रिया वातावरण को इनहेरिट करते हैं। OpenClaw Codex ऐप-सर्वर खाता ब्रिज का स्वामी है और CODEX_HOME को उस एजेंट की OpenClaw स्थिति के अंतर्गत प्रति-एजेंट डायरेक्टरी पर सेट करता है। इससे Codex कॉन्फ़िगरेशन, खाते, plugin कैश/डेटा और थ्रेड स्थिति ऑपरेटर के व्यक्तिगत ~/.codex होम से लीक होने के बजाय OpenClaw एजेंट तक सीमित रहते हैं। नेटिव Codex स्थिति को Codex Desktop और CLI के साथ साझा करने के लिए appServer.homeScope: "user" सेट करें। यह स्थानीय उपयोगकर्ता-होम मोड प्रबंधित stdio और स्पष्ट Unix ट्रांसपोर्ट का समर्थन करता है। यह सेट होने पर $CODEX_HOME, अन्यथा ~/.codex का उपयोग करता है, जिसमें नेटिव प्रमाणीकरण, कॉन्फ़िगरेशन, plugins और थ्रेड शामिल हैं। OpenClaw ऐप-सर्वर के लिए अपना प्रमाणीकरण-प्रोफ़ाइल ब्रिज छोड़ देता है। सत्यापित स्वामी टर्न codex_threads का उपयोग उन थ्रेड को सूचीबद्ध करने (वैकल्पिक search फ़िल्टर के साथ), पढ़ने, फ़ोर्क करने, नाम बदलने, संग्रहित करने और संग्रह से निकालने के लिए कर सकते हैं। OpenClaw में जारी रखने से पहले किसी थ्रेड को फ़ोर्क करें; स्वतंत्र Codex प्रक्रियाएँ एक ही थ्रेड के समवर्ती लेखकों का समन्वय नहीं करतीं। वह homeScope ऑप्ट-इन सामान्य हार्नेस सत्रों पर लागू होता है। Codex Sessions के माध्यम से बनाई गई Chat इसके बजाय अपने निजी पर्यवेक्षण कनेक्शन का उपयोग करती है, जो कैनॉनिकल शाखा और भावी पुनरारंभों के लिए नेटिव कनेक्शन का प्रमाणीकरण और प्रदाता कॉन्फ़िगरेशन बनाए रखता है। मॉडल-लॉक्ड पर्यवेक्षित Chat में, codex_threads कोई अलग फ़ोर्क संलग्न नहीं कर सकता या Chat के बंधे हुए नेटिव थ्रेड को संग्रहित नहीं कर सकता। सूचीबद्ध करना और केवल-मेटाडेटा पठन उपलब्ध रहता है। कच्चे ट्रांसक्रिप्ट पठन के लिए allowRawTranscripts आवश्यक है; इसके अक्षम होने पर सूची खोज भी अस्वीकार की जाती है, क्योंकि नेटिव खोज ट्रांसक्रिप्ट पूर्वावलोकन से मेल खा सकती है। नाम बदलने, संग्रह से निकालने, अलग फ़ोर्क और ऐसे असंबंधित थ्रेड को संग्रहित करने के लिए allowWriteControls आवश्यक है जिसका स्वामित्व किसी अन्य OpenClaw Chat के पास नहीं है। कोई भी विकल्प लॉक्ड बाइंडिंग को बायपास नहीं करता। OpenClaw सामान्य स्थानीय ऐप-सर्वर लॉन्च के लिए HOME को दोबारा नहीं लिखता। Codex द्वारा चलाई गई उपप्रक्रियाएँ, जैसे openclaw, gh, git, क्लाउड CLI और शेल कमांड, सामान्य प्रोसेस होम देखते हैं और उपयोगकर्ता-होम कॉन्फ़िगरेशन तथा टोकन पा सकते हैं। Codex $HOME/.agents/skills और $HOME/.agents/plugins/marketplace.json भी खोज सकता है; वह .agents खोज जानबूझकर ऑपरेटर होम के साथ साझा की जाती है और पृथक ~/.codex स्थिति से अलग है। डिफ़ॉल्ट एजेंट दायरे में, OpenClaw plugins और OpenClaw कौशल स्नैपशॉट अब भी OpenClaw की अपनी plugin रजिस्ट्री और कौशल लोडर से प्रवाहित होते हैं; व्यक्तिगत Codex ~/.codex एसेट नहीं। यदि आपके Codex होम में उपयोगी Codex CLI कौशल या plugins हैं जिन्हें किसी पृथक OpenClaw एजेंट का भाग बनना चाहिए, तो उनकी स्पष्ट रूप से इन्वेंट्री बनाएँ:
यदि किसी परिनियोजन को अतिरिक्त वातावरण पृथक्करण की आवश्यकता हो, तो उन वेरिएबल को appServer.clearEnv में जोड़ें:
appServer.clearEnv केवल स्पॉन की गई Codex ऐप-सर्वर चाइल्ड प्रक्रिया को प्रभावित करता है। OpenClaw स्थानीय लॉन्च सामान्यीकरण के दौरान इस सूची से CODEX_HOME और HOME हटाता है: CODEX_HOME चयनित एजेंट या उपयोगकर्ता दायरे की ओर इंगित रहता है, और HOME इनहेरिट होता रहता है ताकि उपप्रक्रियाएँ सामान्य उपयोगकर्ता-होम स्थिति का उपयोग कर सकें।

डायनेमिक टूल

Codex डायनेमिक टूल डिफ़ॉल्ट रूप से searchable लोडिंग का उपयोग करते हैं, जो openclaw नेमस्पेस के अंतर्गत deferLoading: true के साथ उपलब्ध कराए जाते हैं। सामान्यतः OpenClaw ऐसे डायनेमिक टूल उपलब्ध नहीं कराता जो Codex-नेटिव वर्कस्पेस कार्रवाइयों या Codex की अपनी टूल-खोज सतह की नकल करते हैं:
  • read
  • write
  • edit
  • apply_patch
  • exec
  • process
  • update_plan
  • tool_call
  • tool_describe
  • tool_search
  • tool_search_code
जब सीमित रनटाइम अनुमत-सूची नेटिव Code Mode को अक्षम करती है, तो OpenClaw एक खाली निष्पादन-वातावरण चयन भेजता है। उस प्रत्यक्ष, बिना सैंडबॉक्स वाले मामले में, OpenClaw अपने नीति-फ़िल्टर किए हुए exec और process टूल को शेल फ़ॉलबैक के रूप में बनाए रखता है। रनटाइम अनुमत-सूचियाँ और codexDynamicToolsExclude अब भी लागू होते हैं। शेष अधिकांश OpenClaw एकीकरण टूल, जैसे मैसेजिंग, मीडिया, Cron, ब्राउज़र, नोड्स, Gateway, heartbeat_respond, और web_search, उस नेमस्पेस के अंतर्गत Codex टूल खोज के माध्यम से उपलब्ध हैं। इससे आरंभिक मॉडल संदर्भ छोटा रहता है। टूल का एक छोटा समूह codexDynamicToolsLoading से निरपेक्ष होकर सीधे कॉल करने योग्य रहता है, क्योंकि Codex टूल खोज अनुपलब्ध हो सकती है या केवल-कनेक्टर यूनिवर्स में समाधान कर सकती है: agents_list, sessions_spawn, और sessions_yield। डेवलपर निर्देश सामान्य Codex सबएजेंटों को अब भी Codex-मूल सबएजेंट कार्य के लिए मूल spawn_agent की ओर निर्देशित करते हैं, जबकि स्पष्ट OpenClaw या ACP डेलिगेशन के लिए sessions_spawn उपलब्ध रहता है। केवल-मैसेज-टूल स्रोत उत्तर भी सीधे रहते हैं, क्योंकि यह टर्न-नियंत्रण अनुबंध है। Codex Code Mode सामान्य OpenClaw डायनेमिक-टूल परिणामों को टेक्स्ट के रूप में प्रस्तुत करता है। फ़ील्ड पढ़ने से पहले JSON परिणाम पार्स करें। नेस्टेड डायनेमिक कॉल Codex रनटाइम द्वारा क्रमबद्ध किए जाते हैं, इसलिए Promise.all उन्हें समवर्ती रूप से सबमिट नहीं करता; कलेक्टर चाइल्ड आरंभ करते समय सीमित अनुक्रमिक लॉन्च लूप का उपयोग करें। catalogMode: "direct-only" चिह्नित टूल, जिनमें OpenClaw computer टूल भी शामिल है, openclaw_direct के अंतर्गत समूहीकृत किए जाते हैं। OpenClaw उस नेमस्पेस को ऑपरेटर द्वारा दी गई प्रविष्टियों को बदले बिना Codex की code_mode.direct_only_tool_namespaces सूची में जोड़ता है। इसलिए Codex उन टूल को नेस्टेड Code Mode tools.* कॉल के माध्यम से रूट करने के बजाय सामान्य और केवल-कोड-मोड थ्रेड में DirectModelOnly के रूप में उपलब्ध कराता है। इमेज-युक्त परिणामों के लिए यह सीमा आवश्यक है: नेस्टेड Code Mode क्रमांकन इमेज आउटपुट को टेक्स्ट में समतल कर देता है, जिससे अगले कंप्यूटर एक्शन के लिए आवश्यक स्क्रीनशॉट हट जाएगा। codexDynamicToolsLoading: "direct" केवल तभी सेट करें, जब ऐसे कस्टम Codex ऐप-सर्वर से कनेक्ट कर रहे हों जो स्थगित डायनेमिक टूल खोज नहीं सकता, या जब पूर्ण टूल पेलोड को डीबग कर रहे हों।

टाइमआउट

OpenClaw के स्वामित्व वाले डायनेमिक टूल कॉल appServer.requestTimeoutMs से स्वतंत्र रूप से सीमित होते हैं। प्रत्येक Codex item/tool/call अनुरोध इस क्रम में पहले उपलब्ध टाइमआउट का उपयोग करता है:
  • प्रति-कॉल धनात्मक timeoutMs आर्ग्युमेंट।
  • image_generate के लिए, agents.defaults.mediaModels.image.timeoutMs
  • बिना कॉन्फ़िगर किए गए टाइमआउट वाले image_generate के लिए, 120 सेकंड का इमेज-जनरेशन डिफ़ॉल्ट।
  • मीडिया-अंडरस्टैंडिंग image टूल के लिए, चयनित इमेज-सक्षम tools.media.models[] प्रविष्टि का timeoutSeconds, जिसे मिलीसेकंड में बदला गया हो, या 60 सेकंड का मीडिया डिफ़ॉल्ट। इमेज अंडरस्टैंडिंग के लिए, यह स्वयं अनुरोध पर लागू होता है और पहले किए गए तैयारी कार्य के कारण कम नहीं होता।
  • message टूल के लिए, 600 सेकंड का निश्चित बाहरी बजट, जो Gateway डिलीवरी और सीमित समान-कुंजी मिलान को कवर करता है।
  • 90 सेकंड का डायनेमिक-टूल डिफ़ॉल्ट।
यह वॉचडॉग बाहरी डायनेमिक item/tool/call बजट है। प्रदाता-विशिष्ट अनुरोध टाइमआउट उस कॉल के भीतर चलते हैं और अपने टाइमआउट अर्थ-विज्ञान को बनाए रखते हैं। डायनेमिक टूल बजट अधिकतम 600000 ms तक सीमित हैं। agents_wait बाहरी समापन के लिए 30000 ms की अतिरिक्त मोहलत जोड़ता है, और ऐप-सर्वर क्लाइंट 660000 ms की अनुमति देता है ताकि संरचित प्रतीक्षा परिणाम Codex तक पहुँच सके। टाइमआउट होने पर, जहाँ समर्थित हो वहाँ OpenClaw टूल सिग्नल को निरस्त करता है और Codex को विफल डायनेमिक-टूल प्रतिक्रिया लौटाता है, ताकि सेशन को processing में छोड़े बिना टर्न जारी रह सके। Codex द्वारा टर्न स्वीकार करने के बाद, और OpenClaw द्वारा टर्न-स्कोप वाले ऐप-सर्वर अनुरोध का उत्तर देने के बाद, हार्नेस अपेक्षा करता है कि Codex वर्तमान टर्न में प्रगति करे और अंततः turn/completed के साथ मूल टर्न समाप्त करे। यदि ऐप-सर्वर appServer.turnCompletionIdleTimeoutMs तक शांत रहता है, तो OpenClaw सर्वोत्तम प्रयास से Codex टर्न में व्यवधान डालता है, डायग्नोस्टिक टाइमआउट दर्ज करता है, और OpenClaw सेशन लेन को मुक्त कर देता है, ताकि अनुवर्ती चैट संदेश किसी पुराने मूल टर्न के पीछे कतारबद्ध न हों। उसी टर्न की अधिकांश गैर-टर्मिनल सूचनाएँ उस छोटे वॉचडॉग को निष्क्रिय कर देती हैं, क्योंकि Codex यह प्रमाणित कर चुका होता है कि टर्न अब भी सक्रिय है। टूल हैंडऑफ़ अधिक लंबे टूल-पश्चात निष्क्रियता बजट का उपयोग करते हैं: OpenClaw द्वारा item/tool/call प्रतिक्रिया लौटाने के बाद, commandExecution जैसे मूल टूल आइटम पूर्ण होने के बाद, कच्चे custom_tool_call_output पूर्ण होने के बाद, और टूल-पश्चात कच्ची असिस्टेंट प्रगति, कच्चे रीजनिंग समापन, या रीजनिंग प्रगति के बाद। कॉन्फ़िगर किए जाने पर गार्ड appServer.postToolRawAssistantCompletionIdleTimeoutMs का उपयोग करता है और अन्यथा पाँच मिनट डिफ़ॉल्ट रखता है। वही टूल-पश्चात बजट Codex द्वारा अगला वर्तमान-टर्न इवेंट उत्सर्जित करने से पहले की मौन संश्लेषण अवधि के लिए प्रगति वॉचडॉग को भी बढ़ाता है। रीजनिंग समापन, कमेंट्री agentMessage समापन, और टूल-पूर्व कच्ची रीजनिंग या असिस्टेंट प्रगति के बाद स्वचालित अंतिम उत्तर आ सकता है, इसलिए वे सेशन लेन को तुरंत मुक्त करने के बजाय प्रगति-पश्चात उत्तर गार्ड का उपयोग करते हैं। केवल अंतिम/गैर-कमेंट्री पूर्ण agentMessage आइटम और टूल-पूर्व कच्चे असिस्टेंट समापन असिस्टेंट-आउटपुट रिलीज़ को सक्रिय करते हैं: यदि Codex फिर turn/completed के बिना शांत हो जाता है, तो OpenClaw सर्वोत्तम प्रयास से मूल टर्न में व्यवधान डालता है और सेशन लेन को मुक्त करता है। रीप्ले-सुरक्षित stdio ऐप-सर्वर विफलताएँ, जिनमें असिस्टेंट, टूल, सक्रिय-आइटम, या साइड-इफ़ेक्ट साक्ष्य के बिना टर्न-समापन निष्क्रियता टाइमआउट शामिल हैं, नए ऐप-सर्वर प्रयास पर एक बार पुनः प्रयास की जाती हैं। असुरक्षित टाइमआउट फिर भी अटके ऐप-सर्वर क्लाइंट को सेवा से हटाते हैं और OpenClaw सेशन लेन को मुक्त करते हैं। वे स्वचालित रूप से रीप्ले करने के बजाय पुराने मूल थ्रेड बाइंडिंग को भी हटा देते हैं। समापन-वॉच टाइमआउट Codex-विशिष्ट टाइमआउट टेक्स्ट दिखाते हैं: रीप्ले-सुरक्षित मामलों में कहा जाता है कि प्रतिक्रिया अधूरी हो सकती है, जबकि असुरक्षित मामलों में उपयोगकर्ता को पुनः प्रयास करने से पहले वर्तमान स्थिति सत्यापित करने को कहा जाता है। सार्वजनिक टाइमआउट डायग्नोस्टिक्स में संरचनात्मक फ़ील्ड शामिल होते हैं, जैसे अंतिम ऐप-सर्वर सूचना विधि, कच्चे असिस्टेंट प्रतिक्रिया आइटम की id/type/role, सक्रिय अनुरोध/आइटम की संख्या, और सक्रिय वॉच स्थिति। जब अंतिम सूचना कच्चा असिस्टेंट प्रतिक्रिया आइटम होती है, तो उनमें सीमित असिस्टेंट टेक्स्ट पूर्वावलोकन भी शामिल होता है। उनमें कच्ची प्रॉम्प्ट या टूल सामग्री शामिल नहीं होती।

मॉडल खोज

डिफ़ॉल्ट रूप से, Codex Plugin ऐप-सर्वर से उपलब्ध मॉडल पूछता है। मॉडल उपलब्धता का स्वामित्व Codex ऐप-सर्वर के पास है, इसलिए OpenClaw द्वारा बंडल किए गए @openai/codex संस्करण को अपग्रेड करने या डिप्लॉयमेंट द्वारा appServer.command को किसी अलग Codex बाइनरी की ओर इंगित करने पर सूची बदल सकती है। उपलब्धता अकाउंट-स्कोप वाली भी हो सकती है। उस हार्नेस और अकाउंट का लाइव कैटलॉग देखने के लिए चालू Gateway पर /codex models का उपयोग करें। यदि खोज विफल होती है या टाइमआउट हो जाता है, तो OpenClaw बंडल किए गए फ़ॉलबैक कैटलॉग का उपयोग करता है:
वर्तमान बंडल किया गया हार्नेस @openai/codex 0.145.0 है। उस बंडल किए गए ऐप-सर्वर पर model/list प्रोब ने ये सार्वजनिक पिकर पंक्तियाँ लौटाईं:ऐप-सर्वर कैटलॉग ultra की रिपोर्ट कर सकता है; OpenClaw रीजनिंग नियंत्रण वर्तमान में max तक के स्तर उपलब्ध कराते हैं।लाइव पिकर पंक्तियाँ अकाउंट-स्कोप वाली होती हैं और अकाउंट, Codex कैटलॉग, या बंडल संस्करण के साथ बदल सकती हैं; किसी समय-विशिष्ट तालिका पर निर्भर रहने के बजाय वर्तमान सूची के लिए /codex models चलाएँ। छिपे हुए मॉडल आंतरिक या विशिष्ट प्रवाहों के लिए ऐप-सर्वर कैटलॉग में भी दिखाई दे सकते हैं, भले ही वे सामान्य मॉडल-पिकर विकल्प न हों।
plugins.entries.codex.config.discovery के अंतर्गत खोज को समायोजित करें:
जब आप चाहते हैं कि स्टार्टअप Codex को प्रोब न करे और केवल फ़ॉलबैक कैटलॉग का उपयोग करे, तब खोज अक्षम करें:

वर्कस्पेस बूटस्ट्रैप फ़ाइलें

Codex मूल प्रोजेक्ट-दस्तावेज़ खोज के माध्यम से AGENTS.md को स्वयं संभालता है। OpenClaw कृत्रिम Codex प्रोजेक्ट-दस्तावेज़ फ़ाइलें नहीं लिखता और पर्सोना फ़ाइलों के लिए Codex फ़ॉलबैक फ़ाइल नामों पर निर्भर नहीं करता, क्योंकि Codex फ़ॉलबैक केवल तब लागू होते हैं जब AGENTS.md अनुपस्थित हो। OpenClaw वर्कस्पेस समानता के लिए, Codex हार्नेस अन्य बूटस्ट्रैप फ़ाइलों को डेवलपर निर्देशों के रूप में अग्रेषित करता है, लेकिन समान रूप से नहीं:
  • TOOLS.md को इनहेरिट किए गए Codex डेवलपर निर्देशों के रूप में अग्रेषित किया जाता है, इसलिए टर्न के दौरान बनाए गए मूल Codex सबएजेंट भी इसे देखते हैं।
  • SOUL.md, IDENTITY.md, और USER.md को टर्न-स्कोप वाले सहयोग निर्देशों के रूप में अग्रेषित किया जाता है। मूल Codex सबएजेंट उन्हें इनहेरिट नहीं करते, जिससे सबएजेंट टर्न को पैरेंट एजेंट की पर्सोना और उपयोगकर्ता प्रोफ़ाइल मिलने से रोका जाता है।
  • लोड की गई OpenClaw Skills की संक्षिप्त सूची भी टर्न-स्कोप वाले सहयोग डेवलपर निर्देशों के रूप में अग्रेषित की जाती है, इसलिए मूल Codex सबएजेंट उसे भी इनहेरिट नहीं करते।
  • HEARTBEAT.md सामग्री इंजेक्ट नहीं की जाती; Heartbeat टर्न को फ़ाइल मौजूद और गैर-रिक्त होने पर उसे पढ़ने के लिए सहयोग-मोड पॉइंटर मिलता है।
  • कॉन्फ़िगर किए गए एजेंट वर्कस्पेस की MEMORY.md सामग्री को उस वर्कस्पेस के लिए मेमोरी टूल उपलब्ध होने पर मूल Codex टर्न इनपुट में पेस्ट नहीं किया जाता; उसके मौजूद होने पर हार्नेस टर्न-स्कोप वाले सहयोग डेवलपर निर्देशों में एक छोटा वर्कस्पेस-मेमोरी पॉइंटर जोड़ता है और स्थायी मेमोरी प्रासंगिक होने पर Codex को memory_search या memory_get का उपयोग करना चाहिए। यदि टूल अक्षम हों, मेमोरी खोज अनुपलब्ध हो, या सक्रिय वर्कस्पेस एजेंट मेमोरी वर्कस्पेस से अलग हो, तो MEMORY.md सामान्य सीमित टर्न-संदर्भ पथ का उपयोग करता है।
  • BOOTSTRAP.md, मौजूद होने पर, OpenClaw टर्न इनपुट संदर्भ कॉन्टेक्स्ट के रूप में अग्रेषित किया जाता है।

एनवायरनमेंट ओवरराइड

स्थानीय परीक्षण के लिए एनवायरनमेंट ओवरराइड उपलब्ध रहते हैं:
  • OPENCLAW_CODEX_APP_SERVER_BIN
  • OPENCLAW_CODEX_APP_SERVER_ARGS
  • OPENCLAW_CODEX_APP_SERVER_MODE=yolo|guardian
  • OPENCLAW_CODEX_APP_SERVER_APPROVAL_POLICY
  • OPENCLAW_CODEX_APP_SERVER_SANDBOX
जब appServer.command अनसेट हो, तो OPENCLAW_CODEX_APP_SERVER_BIN प्रबंधित बाइनरी को बायपास करता है। OPENCLAW_CODEX_APP_SERVER_GUARDIAN=1 हटा दिया गया था। इसके बजाय plugins.entries.codex.config.appServer.mode: "guardian", या एकबारगी स्थानीय परीक्षण के लिए OPENCLAW_CODEX_APP_SERVER_MODE=guardian का उपयोग करें। दोहराने योग्य डिप्लॉयमेंट के लिए कॉन्फ़िग को प्राथमिकता दी जाती है, क्योंकि यह Plugin व्यवहार को शेष Codex हार्नेस सेटअप वाली उसी समीक्षित फ़ाइल में रखता है।

संबंधित