Codex harness

Codex हार्नेस संदर्भ

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

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

सभी Codex हार्नेस सेटिंग्स plugins.entries.codex.config के अंतर्गत होती हैं।

json5
{  plugins: {    entries: {      codex: {        enabled: true,        config: {          discovery: {            enabled: true,            timeoutMs: 2500,          },          appServer: {            mode: "guardian",          },        },      },    },  },}

शीर्ष-स्तरीय फ़ील्ड:

फ़ील्ड डिफ़ॉल्ट अर्थ
discovery सक्षम Codex app-server model/list के लिए मॉडल खोज सेटिंग्स।
appServer प्रबंधित stdio app-server ट्रांसपोर्ट, कमांड, प्रमाणीकरण, अनुमोदन, सैंडबॉक्स और टाइमआउट सेटिंग्स। सामान्य हार्नेस डिफ़ॉल्ट रूप से एजेंट-स्कोप वाली स्थिति का उपयोग करता है।
codexDynamicToolsLoading "searchable" OpenClaw के डायनेमिक टूल्स को सीधे आरंभिक Codex टूल संदर्भ में रखने के लिए "direct" का उपयोग करें।
codexDynamicToolsExclude [] Codex app-server टर्न से हटाए जाने वाले अतिरिक्त OpenClaw डायनेमिक टूल नाम।
codexPlugins अक्षम कनेक्ट किए गए अकाउंट ऐप्स तक ऑप्ट-इन पहुँच सहित नेटिव Codex Plugin/app समर्थन। नेटिव Codex plugins देखें।
computerUse अक्षम Codex Computer Use सेटअप। Codex Computer Use देखें।
sessionCatalog सक्षम साइडबार के लिए नेटिव Codex सेशन खोज। प्रोवाइडर या हार्नेस को अक्षम किए बिना खोज अक्षम करने के लिए enabled: false सेट करें।
supervision अक्षम एजेंट-सामना करने वाली नेटिव-सेशन ट्रांसक्रिप्ट और लेखन-नियंत्रण नीति। Codex पर्यवेक्षण देखें।

पर्यवेक्षण

नेटिव सेशन खोज डिफ़ॉल्ट रूप से Gateway कंप्यूटर और ऑप्ट-इन किए गए युग्मित नोड्स से गैर-संग्रहित Codex सेशन सूचीबद्ध करती है। केवल उस कैटलॉग को इस प्रकार अक्षम करें:

json5
{  plugins: {    entries: {      codex: {        enabled: true,        config: {          sessionCatalog: {            enabled: false,          },        },      },    },  },}

supervision एजेंट-सामना करने वाले टूल्स को अलग से नियंत्रित करता है:

फ़ील्ड डिफ़ॉल्ट अर्थ
enabled false एजेंट-सामना करने वाले Codex पर्यवेक्षण टूल्स सक्षम करें। यह प्रमाणित ऑपरेटर सेशन कैटलॉग को नियंत्रित नहीं करता।
endpoints अंतर्निहित स्थानीय एंडपॉइंट बनाए रखे गए Codex पर्यवेक्षण एजेंट और स्टैंडअलोन MCP टूल्स के लिए संगतता और उन्नत एंडपॉइंट लक्ष्य। मानव कैटलॉग और ब्रांच प्रवाह इन लक्ष्यों को अनदेखा करते हैं और appServer से हल किए गए पर्यवेक्षण App Server का उपयोग करते हैं।
allowRawTranscripts false पर्यवेक्षण सक्षम होने पर, स्वायत्त एजेंट या स्टैंडअलोन MCP ट्रांसक्रिप्ट पठन और ट्रांसक्रिप्ट से प्राप्त सूची फ़ील्ड की अनुमति दें। codex_threads केवल-मेटाडेटा पठन उपलब्ध रहता है। प्रमाणित Control UI निरंतरता को नियंत्रित नहीं करता।
allowWriteControls false पर्यवेक्षण सक्षम होने पर, स्वायत्त codex_threads फ़ोर्क, नाम बदलने, संग्रहित करने और संग्रह से निकालने वाले म्यूटेशन के साथ स्टैंडअलोन MCP भेजने, दिशा देने और बाधित करने के ऑपरेशन की अनुमति दें। यह अन्य बाइंडिंग, होस्ट, स्थिति या पुष्टिकरण जाँचों को बायपास नहीं करता।

एंडपॉइंट प्रविष्टियाँ ये फ़ील्ड स्वीकार करती हैं:

फ़ील्ड इन पर लागू अर्थ
id सभी स्थिर एंडपॉइंट आईडी।
label सभी वैकल्पिक प्रदर्शन लेबल।
transport सभी "stdio-proxy" या "websocket"
command stdio-proxy वैकल्पिक App Server कमांड।
args stdio-proxy वैकल्पिक कमांड आर्ग्युमेंट।
cwd stdio-proxy वैकल्पिक चाइल्ड-प्रोसेस कार्यशील डायरेक्टरी।
url websocket आवश्यक WebSocket या समर्थित स्थानीय सॉकेट URL।
authTokenEnv websocket वैकल्पिक एनवायरनमेंट वेरिएबल जिसका मान एंडपॉइंट को प्रमाणित करता है।

Codex Sessions पेज Plugin के पर्यवेक्षण App Server का उपयोग करता है और केवल गैर-संग्रहित सेशन दिखाता है। स्पष्ट appServer कनेक्शन सेटिंग्स के बिना, उस कनेक्शन को प्रबंधित यूज़र-होम stdio के रूप में चलाया जाता है। संग्रहीत या निष्क्रिय स्थानीय पंक्तियाँ अंतिम टर्मिनल में स्थायी किए गए स्रोत टर्न तक सीमित यूज़र और असिस्टेंट इतिहास वाला मॉडल-लॉक्ड Chat बना सकती हैं। इसकी निजी बाइंडिंग स्नैपशॉट फ़ोर्क, कैनोनिकल appServer-स्रोत ब्रांच, इतिहास इंजेक्शन और बाद के टर्न को उसी कनेक्शन पर बनाए रखती है। पहला कैनोनिकल प्रारंभ फ़ोर्क द्वारा लौटाई गई जोड़ी का उपयोग करता है। बाद के पुनरारंभों में OpenClaw मॉडल और प्रोवाइडर ओवरराइड छोड़ दिए जाते हैं, ताकि Codex कैनोनिकल थ्रेड की स्थायी जोड़ी पुनर्स्थापित करे; एक अलग नेटिव बदलाव उस जोड़ी को अपडेट कर सकता है, लेकिन बाहरी मॉडल और फ़ॉलबैक शृंखला उसे कभी प्रतिस्थापित नहीं करती। संग्रहीत और निष्क्रिय पंक्तियों को कोई-अन्य-रनर-नहीं पुष्टिकरण के बाद संग्रहित किया जा सकता है, बशर्ते कोई अन्य सक्रिय OpenClaw बाइंडिंग सटीक लक्ष्य या उसके किसी गैर-संग्रहित उत्पन्न वंशज की स्वामी न हो। OpenClaw, Codex की वंशज पृष्ठांकन प्रक्रिया का अनुसरण करता है और गणना त्रुटियों, चक्रों या सुरक्षा-सीमा समाप्त होने पर फ़ेल-क्लोज़्ड रहता है। पुष्टिकरण अभी भी अज्ञात नेटिव क्लाइंट और स्थिति-से-संग्रहण रेस को कवर करता है। पर्यवेक्षित मॉडल-लॉक्ड Chat को तब तक हटाया नहीं जा सकता, जब तक वह नेटिव बाइंडिंग की सुरक्षा करता है। सक्रिय स्रोत ब्रांच नहीं बना सकते या संग्रहित नहीं किए जा सकते, लेकिन मौजूदा पर्यवेक्षित Chat फिर भी खोला जा सकता है। प्रत्येक युग्मित-नोड पंक्ति केवल-पठन रहती है; नोड ट्रांसपोर्ट अभी तक हार्नेस के लिए आवश्यक स्ट्रीमिंग जीवनचक्र प्रदान नहीं करता।

केवल appServer.homeScope: "user" यह बदलता है कि प्रबंधित हार्नेस प्रोसेस किस Codex होम का उपयोग करता है; यह फ़्लीट कैटलॉग प्रकाशित नहीं करता। पर्यवेक्षण सक्षम करने से हार्नेस डिफ़ॉल्ट नहीं बदलता। इसके बजाय, अलग पर्यवेक्षण कनेक्शन तब प्रबंधित यूज़र-होम stdio पर डिफ़ॉल्ट होता है, जब कोई स्पष्ट appServer कनेक्शन सेटिंग मौजूद नहीं होती। उस कनेक्शन के लिए स्पष्ट सेटिंग्स का पालन किया जाता है। लंबित और प्रतिबद्ध पर्यवेक्षित बाइंडिंग प्रत्येक टर्न के लिए उस कनेक्शन को बनाए रखती हैं; अक्षम पर्यवेक्षण या कनेक्शन/जीवनचक्र विचलन, एजेंट-होम हार्नेस पर फ़ॉलबैक करने के बजाय फ़ेल-क्लोज़्ड होता है। डिफ़ॉल्ट कनेक्शन नेटिव Codex क्लाइंट के साथ संग्रहीत सेशन साझा करता है, उनकी प्रोसेस-लोकल गतिविधि स्थिति नहीं।

लेगेसी plugins.entries.codex-supervisor सेटिंग्स समाप्त कर दी गई हैं। पुरानी प्रविष्टि, एंडपॉइंट परिभाषाएँ, नीति फ़्लैग और Plugin अनुमति/अस्वीकृति संदर्भों को इस ब्लॉक में माइग्रेट करने के लिए openclaw doctor --fix चलाएँ। टकरावों में स्पष्ट कैनोनिकल codex.config.supervision मानों को प्राथमिकता मिलती है।

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

सामान्य हार्नेस टर्न के लिए, OpenClaw आधिकारिक Plugin के साथ भेजी गई प्रबंधित Codex बाइनरी शुरू करता है (वर्तमान में @openai/codex 0.144.6):

bash
codex app-server --listen stdio://

इससे 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 ट्रांसपोर्ट उपलब्ध है:

json5
{  plugins: {    entries: {      codex: {        enabled: true,        config: {          appServer: {            transport: "websocket",            url: "ws://gateway-host:39175",            authToken: "${CODEX_APP_SERVER_TOKEN}",            requestTimeoutMs: 60000,          },        },      },    },  },}

Codex, WebSocket ट्रांसपोर्ट को प्रायोगिक और असमर्थित के रूप में वर्गीकृत करता है। प्रोडक्शन वर्कलोड के लिए प्रबंधित stdio या स्थानीय Unix कंट्रोल सॉकेट को प्राथमिकता दें।

appServer फ़ील्ड:

फ़ील्ड डिफ़ॉल्ट अर्थ
transport "stdio" "stdio" Codex को आरंभ करता है; स्पष्ट "unix" स्थानीय नियंत्रण सॉकेट से कनेक्ट करता है; "websocket", url से कनेक्ट करता है।
homeScope "agent" "agent" प्रत्येक OpenClaw एजेंट के लिए सामान्य हार्नेस स्थिति को अलग रखता है। "user" एक स्पष्ट ऑप्ट-इन है, जो मूल $CODEX_HOME या ~/.codex को साझा करता है, मूल प्रमाणीकरण का उपयोग करता है और केवल स्वामी के लिए थ्रेड प्रबंधन सक्षम करता है। उपयोगकर्ता स्कोप स्थानीय stdio या Unix ट्रांसपोर्ट का समर्थन करता है। अलग पर्यवेक्षण कनेक्शन के लिए, सेट न किया गया मान stdio या Unix हेतु "user" और WebSocket हेतु "agent" में बदलता है।
command प्रबंधित Codex बाइनरी stdio ट्रांसपोर्ट के लिए निष्पादन योग्य फ़ाइल। प्रबंधित बाइनरी का उपयोग करने के लिए इसे सेट न करें।
args ["app-server", "--listen", "stdio://"] stdio ट्रांसपोर्ट के लिए आर्ग्युमेंट।
url सेट नहीं WebSocket ऐप सर्वर URL या unix:// URL। एक स्पष्ट खाली Unix पथ मानक उपयोगकर्ता-होम नियंत्रण सॉकेट चुनता है।
authToken सेट नहीं WebSocket ट्रांसपोर्ट के लिए बियरर टोकन। शाब्दिक स्ट्रिंग या ${CODEX_APP_SERVER_TOKEN} जैसे SecretInput को स्वीकार करता है।
headers {} अतिरिक्त WebSocket हेडर। हेडर मान शाब्दिक स्ट्रिंग या SecretInput मान स्वीकार करते हैं, उदाहरण के लिए x-codex-client-session-token: "${CODEX_CLIENT_SESSION_TOKEN}"
clearEnv [] OpenClaw द्वारा अपना इनहेरिट किया गया परिवेश बनाने के बाद, आरंभ की गई stdio ऐप-सर्वर प्रक्रिया से हटाए जाने वाले अतिरिक्त परिवेश चर नाम।
remoteWorkspaceRoot सेट नहीं दूरस्थ Codex ऐप-सर्वर वर्कस्पेस रूट। इसे सेट करने पर, OpenClaw समाधान किए गए OpenClaw वर्कस्पेस से स्थानीय वर्कस्पेस रूट का अनुमान लगाता है, इस दूरस्थ रूट के अंतर्गत वर्तमान cwd प्रत्यय को सुरक्षित रखता है और Codex को केवल अंतिम ऐप-सर्वर cwd भेजता है। यदि cwd समाधान किए गए OpenClaw वर्कस्पेस रूट से बाहर है, तो OpenClaw दूरस्थ ऐप-सर्वर को Gateway-स्थानीय पथ भेजने के बजाय सुरक्षित रूप से विफल हो जाता है।
loopDetectionPreToolUseRelay true केवल OpenClaw लूप पहचान और उसके स्पष्ट नीति-रहित मार्कर के लिए उपयोग की जाने वाली Codex PreToolUse उपप्रक्रिया इंस्टॉल करें। प्रति-टूल प्रक्रिया फैन-आउट कम करने के लिए false सेट करें। टूल-पूर्व Plugin हुक और विश्वसनीय-टूल नीति फिर भी अपना आवश्यक रिले इंस्टॉल करते हैं।
requestTimeoutMs 60000 ऐप-सर्वर कंट्रोल-प्लेन कॉल के लिए टाइमआउट।
turnCompletionIdleTimeoutMs 60000 Codex द्वारा कोई टर्न स्वीकार किए जाने के बाद या टर्न-स्कोप वाले ऐप-सर्वर अनुरोध के बाद की शांत अवधि, जब OpenClaw turn/completed की प्रतीक्षा करता है।
turnAssistantCompletionIdleTimeoutMs 10000 अंतिम/गैर-कमेंट्री सहायक आइटम या टूल-पूर्व रॉ सहायक पूर्णता द्वारा सहायक-आउटपुट रिलीज़ सक्रिय किए जाने के बाद की शांत अवधि, जबकि OpenClaw अभी भी turn/completed की प्रतीक्षा करता है। इसे बढ़ाने से Codex को turn/completed उत्सर्जित करने के लिए अधिक समय मिलता है, इससे पहले कि OpenClaw व्यवधान डाले और सत्र लेन रिलीज़ करे।
postToolRawAssistantCompletionIdleTimeoutMs 300000 टूल हैंडऑफ़, मूल टूल पूर्णता, टूल-पश्चात रॉ सहायक प्रगति, रॉ रीजनिंग पूर्णता या रीजनिंग प्रगति के बाद उपयोग किया जाने वाला पूर्णता-निष्क्रियता और प्रगति गार्ड, जबकि OpenClaw turn/completed की प्रतीक्षा करता है। इसका उपयोग उन विश्वसनीय या भारी कार्यभारों के लिए करें, जिनमें टूल-पश्चात संश्लेषण अंतिम सहायक रिलीज़ बजट की तुलना में वैध रूप से अधिक समय तक शांत रह सकता है।
mode "yolo", जब तक स्थानीय Codex आवश्यकताएँ YOLO की अनुमति न दें YOLO या अभिभावक-समीक्षित निष्पादन के लिए प्रीसेट।
approvalPolicy "never" या अनुमत अभिभावक अनुमोदन नीति थ्रेड प्रारंभ, फिर से शुरू करने और टर्न पर भेजी जाने वाली मूल Codex अनुमोदन नीति।
sandbox "danger-full-access" या अनुमत अभिभावक सैंडबॉक्स थ्रेड प्रारंभ और फिर से शुरू करने पर भेजा जाने वाला मूल Codex सैंडबॉक्स मोड। सक्रिय OpenClaw सैंडबॉक्स, danger-full-access टर्न को Codex workspace-write तक सीमित करते हैं; टर्न नेटवर्क फ़्लैग OpenClaw सैंडबॉक्स निर्गमन का अनुसरण करता है।
approvalsReviewer "user" या अनुमत अभिभावक समीक्षक अनुमति होने पर Codex से मूल अनुमोदन प्रॉम्प्ट की समीक्षा कराने के लिए "auto_review" का उपयोग करें।
defaultWorkspaceDir वर्तमान प्रक्रिया निर्देशिका जब --cwd छोड़ा गया हो, तब /codex bind द्वारा उपयोग किया जाने वाला वर्कस्पेस।
serviceTier सेट नहीं वैकल्पिक Codex ऐप-सर्वर सेवा स्तर। "priority" तेज़-मोड रूटिंग सक्षम करता है, "flex" फ्लेक्स प्रोसेसिंग का अनुरोध करता है और null ओवरराइड हटाता है। पुराना "fast", "priority" के रूप में स्वीकार किया जाता है।
networkProxy अक्षम ऐप-सर्वर कमांड के लिए Codex अनुमति-प्रोफ़ाइल नेटवर्किंग को ऑप्ट-इन करें। OpenClaw चयनित permissions.<profile>.network कॉन्फ़िगरेशन परिभाषित करता है और sandbox भेजने के बजाय default_permissions के साथ उसे चुनता है।
experimental.sandboxExecServer false पूर्वावलोकन के लिए वैकल्पिक सुविधा, जो OpenClaw सैंडबॉक्स-समर्थित Codex परिवेश को समर्थित Codex ऐप-सर्वर के साथ पंजीकृत करती है, ताकि मूल Codex निष्पादन सक्रिय OpenClaw सैंडबॉक्स के भीतर चल सके।

appServer.networkProxy स्पष्ट है क्योंकि यह Codex सैंडबॉक्स अनुबंध को बदलता है। सक्षम होने पर, OpenClaw Codex थ्रेड कॉन्फ़िगरेशन में features.network_proxy.enabled और default_permissions भी सेट करता है, ताकि जनरेट की गई अनुमति प्रोफ़ाइल Codex-प्रबंधित नेटवर्किंग शुरू कर सके। डिफ़ॉल्ट रूप से, OpenClaw प्रोफ़ाइल बॉडी से टकराव-प्रतिरोधी openclaw-network-<fingerprint> प्रोफ़ाइल नाम जनरेट करता है; profileName का उपयोग केवल तब करें, जब एक स्थिर स्थानीय नाम आवश्यक हो।

js
export default {  plugins: {    entries: {      codex: {        config: {          appServer: {            sandbox: "workspace-write",            networkProxy: {              enabled: true,              domains: {                "api.openai.com": "allow",                "blocked.example.com": "deny",              },              allowUpstreamProxy: true,              proxyUrl: "http://127.0.0.1:3128",            },          },        },      },    },  },};

यदि सामान्य ऐप-सर्वर रनटाइम danger-full-access होता, तो networkProxy को सक्षम करने पर जनरेट की गई अनुमति प्रोफ़ाइल के लिए इसके बजाय वर्कस्पेस-शैली फ़ाइल-सिस्टम एक्सेस का उपयोग होता है। Codex-प्रबंधित नेटवर्क प्रवर्तन सैंडबॉक्स नेटवर्किंग है, इसलिए पूर्ण-एक्सेस प्रोफ़ाइल आउटबाउंड ट्रैफ़िक की सुरक्षा नहीं करेगी।

Plugin पुराने, नए लेकिन असत्यापित, प्रीरिलीज़, बिल्ड-सफ़िक्स वाले या संस्करण-रहित ऐप-सर्वर हैंडशेक को ब्लॉक करता है। Codex ऐप-सर्वर को 0.143.0 से बंडल किए गए 0.144.6 तक का स्थिर संस्करण रिपोर्ट करना आवश्यक है।

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 उसे फ़िलहाल अक्षम चिह्नित करता हो। अज्ञात या अनुपस्थित ऐप ID फ़ेल-क्लोज़्ड रहते हैं; यह पथ केवल plugin/install के माध्यम से मार्केटप्लेस plugins को सक्रिय करता है और इन्वेंट्री रीफ़्रेश करता है। OpenClaw को केवल उन रिमोट ऐप-सर्वरों से कनेक्ट करें, जिन पर OpenClaw-प्रबंधित Plugin इंस्टॉलेशन और ऐप इन्वेंट्री रीफ़्रेश स्वीकार करने के लिए भरोसा किया जाता है।

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

स्थानीय stdio ऐप-सर्वर सत्र डिफ़ॉल्ट रूप से YOLO मोड का उपयोग करते हैं: approvalPolicy: "never", approvalsReviewer: "user", और sandbox: "danger-full-access"। यह विश्वसनीय स्थानीय ऑपरेटर स्थिति बिना निगरानी वाले OpenClaw टर्न और Heartbeat को ऐसे नेटिव अनुमोदन प्रॉम्प्ट के बिना आगे बढ़ने देती है, जिनका उत्तर देने के लिए कोई उपस्थित नहीं होता।

यदि Codex की स्थानीय सिस्टम आवश्यकताएँ फ़ाइल अंतर्निहित YOLO अनुमोदन, समीक्षक या सैंडबॉक्स मानों को अस्वीकार करती है, तो OpenClaw इसके बजाय अंतर्निहित डिफ़ॉल्ट को गार्डियन मानता है और अनुमत गार्डियन अनुमतियाँ चुनता है। tools.exec.mode: "auto" भी गार्डियन-समीक्षित Codex अनुमोदन लागू करता है और असुरक्षित पुराने approvalPolicy: "never" या sandbox: "danger-full-access" ओवरराइड को बनाए नहीं रखता; जानबूझकर अनुमोदन-रहित स्थिति के लिए tools.exec.mode: "full" सेट करें। उसी आवश्यकताएँ फ़ाइल में होस्टनेम से मेल खाने वाली [[remote_sandbox_config]] प्रविष्टियों का सैंडबॉक्स डिफ़ॉल्ट निर्णय के लिए पालन किया जाता है।

Codex गार्डियन-समीक्षित अनुमोदनों के लिए appServer.mode: "guardian" सेट करें:

json5
{  plugins: {    entries: {      codex: {        enabled: true,        config: {          appServer: {            mode: "guardian",            serviceTier: "priority",          },        },      },    },  },}

जब वे मान अनुमत होते हैं, तब 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 सैंडबॉक्स-समर्थित डायनेमिक टूल के माध्यम से उपलब्ध कराया जाता है।

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

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

json5
{  plugins: {    entries: {      codex: {        enabled: true,        config: {          appServer: {            experimental: {              sandboxExecServer: true,            },          },        },      },    },  },}

जब फ़्लैग चालू होता है और वर्तमान 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 Desktop और CLI के साथ नेटिव Codex स्थिति साझा करने के लिए 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 skill स्नैपशॉट अब भी OpenClaw की अपनी Plugin रजिस्ट्री और skill लोडर से प्रवाहित होते हैं; व्यक्तिगत Codex ~/.codex एसेट नहीं। यदि किसी Codex होम से उपयोगी Codex CLI skills या plugins को किसी पृथक OpenClaw एजेंट का भाग बनाना हो, तो उनकी इन्वेंट्री स्पष्ट रूप से बनाएँ:

bash
openclaw migrate codex --dry-runopenclaw migrate apply codex --yes

यदि किसी डिप्लॉयमेंट को अतिरिक्त एनवायरनमेंट पृथक्करण की आवश्यकता हो, तो उन वेरिएबल को appServer.clearEnv में जोड़ें:

json5
{  plugins: {    entries: {      codex: {        enabled: true,        config: {          appServer: {            clearEnv: ["CODEX_API_KEY", "OPENAI_API_KEY"],          },        },      },    },  },}

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 उपलब्ध रहता है। केवल-मैसेज-टूल स्रोत प्रत्युत्तर भी सीधे बने रहते हैं, क्योंकि यह एक टर्न-नियंत्रण अनुबंध है।

OpenClaw के computer टूल सहित catalogMode: "direct-only" के रूप में चिह्नित टूल, 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.imageGenerationModel.timeoutMs
  • कॉन्फ़िगर किए गए टाइमआउट के बिना image_generate के लिए, 120 सेकंड का इमेज-जनरेशन डिफ़ॉल्ट।
  • मीडिया-समझ image टूल के लिए, मिलीसेकंड में परिवर्तित tools.media.image.timeoutSeconds, या 60 सेकंड का मीडिया डिफ़ॉल्ट। इमेज समझ के लिए, यह स्वयं अनुरोध पर लागू होता है और पहले किए गए तैयारी कार्य के कारण कम नहीं होता।
  • message टूल के लिए, 120 सेकंड का निश्चित डिफ़ॉल्ट।
  • 90 सेकंड का डायनेमिक-टूल डिफ़ॉल्ट।

यह वॉचडॉग बाहरी डायनेमिक item/tool/call बजट है। प्रदाता-विशिष्ट अनुरोध टाइमआउट उस कॉल के भीतर चलते हैं और अपने टाइमआउट सिमैंटिक्स बनाए रखते हैं। डायनेमिक टूल बजट अधिकतम 600000 ms तक सीमित हैं। टाइमआउट होने पर, जहाँ समर्थित हो वहाँ 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 बंडल किए गए फ़ॉलबैक कैटलॉग का उपयोग करता है:

मॉडल id प्रदर्शन नाम रीजनिंग प्रयास
gpt-5.5 gpt-5.5 low, medium, high, xhigh
gpt-5.4-mini GPT-5.4-Mini low, medium, high, xhigh

plugins.entries.codex.config.discovery के अंतर्गत खोज को समायोजित करें:

json5
{  plugins: {    entries: {      codex: {        enabled: true,        config: {          discovery: {            enabled: true,            timeoutMs: 2500,          },        },      },    },  },}

जब स्टार्टअप में Codex की जाँच से बचना हो और केवल फ़ॉलबैक कैटलॉग का उपयोग करना हो, तो खोज अक्षम करें:

json5
{  plugins: {    entries: {      codex: {        enabled: true,        config: {          discovery: {            enabled: false,          },        },      },    },  },}

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

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 हार्नेस के शेष सेटअप वाली उसी समीक्षा की गई फ़ाइल में रखता है।

संबंधित

Was this useful?
On this page

On this page