Codex harness

Codex हार्नेस रनटाइम

Codex हार्नेस टर्न के लिए रनटाइम अनुबंध। सेटअप और रूटिंग के लिए, Codex हार्नेस देखें। कॉन्फ़िग फ़ील्ड के लिए, Codex हार्नेस संदर्भ देखें।

अवलोकन

Codex नेटिव मॉडल लूप, नेटिव थ्रेड पुनरारंभ, नेटिव टूल निरंतरता और नेटिव Compaction का स्वामी है। OpenClaw चैनल रूटिंग, सेशन फ़ाइलों, दृश्यमान संदेश डिलीवरी, OpenClaw डायनेमिक टूल, अनुमोदनों, मीडिया डिलीवरी और उस सीमा के आसपास एक ट्रांसक्रिप्ट मिरर का स्वामी है।

प्रॉम्प्ट रूटिंग केवल प्रोवाइडर स्ट्रिंग का नहीं, बल्कि चुने गए रनटाइम का अनुसरण करती है। किसी नेटिव Codex टर्न को Codex ऐप-सर्वर डेवलपर निर्देश मिलते हैं; एक स्पष्ट OpenClaw संगतता रूट सामान्य OpenClaw सिस्टम प्रॉम्प्ट बनाए रखता है, तब भी जब वह Codex-शैली के OpenAI प्रमाणीकरण या ट्रांसपोर्ट का उपयोग करता है।

OpenClaw, Codex की अंतर्निहित पर्सनैलिटी अक्षम (personality: "none") रखते हुए नेटिव Codex थ्रेड शुरू और पुनरारंभ करता है, ताकि वर्कस्पेस पर्सनैलिटी फ़ाइलें और OpenClaw एजेंट पहचान आधिकारिक बनी रहें। अन्यथा नेटिव Codex, Codex-स्वामित्व वाले बेस/मॉडल निर्देश और प्रोजेक्ट-दस्तावेज़ लोडिंग बनाए रखता है। हल्के OpenClaw रन (उदाहरण के लिए cron) अब भी प्रोजेक्ट-दस्तावेज़ लोडिंग को रोकते हैं।

OpenClaw डेवलपर निर्देश OpenClaw रनटाइम से संबंधित विषयों को कवर करते हैं: स्रोत-चैनल डिलीवरी, OpenClaw डायनेमिक टूल, ACP डेलिगेशन, अडैप्टर संदर्भ और सक्रिय एजेंट वर्कस्पेस प्रोफ़ाइल फ़ाइलें। Skill कैटलॉग और टूल-रूटेड MEMORY.md पॉइंटर, टर्न-स्कोप्ड सहयोग डेवलपर निर्देशों के रूप में प्रक्षेपित किए जाते हैं। जब मेमोरी टूल उपलब्ध नहीं होते, तब सक्रिय BOOTSTRAP.md सामग्री और पूर्ण MEMORY.md इसके बजाय सादे टर्न इनपुट संदर्भ पर फ़ॉलबैक करते हैं।

अधिकांश OpenClaw डायनेमिक टूल खोजयोग्य openclaw नेमस्पेस का उपयोग करते हैं। जिन टूल को catalogMode: "direct-only" चिह्नित किया गया है, वे openclaw_direct का उपयोग करते हैं, जिसे Codex नेस्टेड Code Mode निष्पादन के लिए उजागर करने के बजाय सीधे मॉडल को DirectModelOnly के रूप में दृश्यमान रखता है।

थ्रेड बाइंडिंग और मॉडल परिवर्तन

जब कोई OpenClaw सेशन किसी मौजूदा Codex थ्रेड से जुड़ा होता है, तो अगला टर्न वर्तमान में चुना गया मॉडल, अनुमोदन नीति, सैंडबॉक्स, अनुमोदन समीक्षक और सेवा स्तर ऐप-सर्वर को फिर से भेजता है। openai/gpt-5.5 से openai/gpt-5.2 पर स्विच करने से थ्रेड बाइंडिंग बनी रहती है, लेकिन Codex से नए चुने गए मॉडल के साथ जारी रखने को कहा जाता है।

पर्यवेक्षित बाइंडिंग इसका अपवाद हैं। OpenClaw मॉडल पिकर लॉक रहता है, और पुनरारंभ मॉडल तथा प्रोवाइडर ओवरराइड छोड़ देते हैं, ताकि Codex आधिकारिक थ्रेड के संग्रहीत मॉडल और प्रोवाइडर को पुनर्स्थापित करे। एक अलग नेटिव Codex नियंत्रण उस संग्रहीत युग्म को बदल सकता है, और शुरुआती स्नैपशॉट Codex की सामान्य मॉडल-अंतर चेतावनी उत्पन्न कर सकता है; बाहरी OpenClaw मॉडल और फ़ॉलबैक श्रृंखला कभी भी इनमें से किसी का स्थान नहीं लेती।

पर्यवेक्षण और सुरक्षित निरंतरता

Codex पर्यवेक्षण उसी codex Plugin की वैकल्पिक क्षमता है। यह एक अलग कनेक्शन के माध्यम से नेटिव थ्रेड खोजता है और केवल गैर-आर्काइव सेशन को Gateway कैटलॉग में प्रक्षेपित करता है। स्पष्ट appServer कनेक्शन सेटिंग के बिना, वह कनेक्शन प्रबंधित यूज़र-होम stdio का उपयोग करता है, जबकि सामान्य हार्नेस एजेंट-स्कोप्ड रहता है। सूचीकरण और मेटाडेटा रीड निष्क्रिय होते हैं: वे किसी थ्रेड को पुनरारंभ नहीं करते, OpenClaw को उसके लाइव इवेंट की सदस्यता नहीं दिलाते और न ही उसके अनुमोदनों का उत्तर देते हैं।

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

मूल CLI, VS Code, Atlas या ChatGPT स्रोत दोनों कैटलॉग के लिए पात्र रहता है। आधिकारिक शाखा एक नेटिव Codex थ्रेड है, लेकिन उसका स्रोत प्रकार appServer है; नेटिव क्लाइंट उस स्रोत प्रकार को फ़िल्टर कर सकते हैं, इसलिए Codex Desktop में उसका दिखाई देना सुनिश्चित नहीं है।

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

पेयर किए गए Node कैटलॉग शुरुआती रिलीज़ में केवल मेटाडेटा तक सीमित रहते हैं। वर्तमान Node इनवोक सीमा अनुरोध/प्रतिक्रिया आधारित है और वास्तविक Codex हार्नेस बाइंडिंग के लिए आवश्यक दीर्घकालिक टर्न इवेंट, अनुमोदन अनुरोध या स्ट्रीमिंग आउटपुट नहीं ले जा सकती। इसलिए पंक्ति निष्क्रिय होने पर भी रिमोट जारी रखें और आर्काइव अनुपलब्ध रहते हैं।

ऑपरेटर सेटअप और दृश्यमान Control UI व्यवहार के लिए Codex पर्यवेक्षण देखें।

दृश्यमान उत्तर और Heartbeat

Codex हार्नेस से होकर जाने वाले प्रत्यक्ष/स्रोत चैट टर्न, आंतरिक WebChat सतहों के लिए डिफ़ॉल्ट रूप से स्वचालित अंतिम असिस्टेंट डिलीवरी का उपयोग करते हैं, जो Pi हार्नेस अनुबंध से मेल खाता है: एजेंट सामान्य रूप से उत्तर देता है और OpenClaw अंतिम टेक्स्ट को स्रोत वार्तालाप में पोस्ट करता है। अंतिम असिस्टेंट टेक्स्ट को निजी रखने के लिए messages.visibleReplies: "message_tool" सेट करें, जब तक कि एजेंट message(action="send") को कॉल न करे।

Codex Heartbeat टर्न को डिफ़ॉल्ट रूप से खोजयोग्य OpenClaw टूल कैटलॉग में heartbeat_respond मिलता है, ताकि एजेंट दर्ज कर सके कि वेक शांत रहना चाहिए या सूचना देनी चाहिए। Heartbeat पहल मार्गदर्शन, Heartbeat टर्न तक सीमित Codex सहयोग-मोड डेवलपर निर्देश के रूप में भेजा जाता है; सामान्य चैट टर्न Codex Default मोड में रहते हैं। जब HEARTBEAT.md रिक्त नहीं होता, तब Heartbeat निर्देश उसकी सामग्री को इनलाइन करने के बजाय Codex को फ़ाइल की ओर निर्देशित करते हैं।

हुक सीमाएँ

परत स्वामी उद्देश्य
OpenClaw Plugin हुक OpenClaw OpenClaw और Codex हार्नेस में उत्पाद/Plugin संगतता।
Codex ऐप-सर्वर एक्सटेंशन मिडलवेयर OpenClaw बंडल किए गए Plugin OpenClaw डायनेमिक टूल के आसपास प्रति-टर्न अडैप्टर व्यवहार।
Codex नेटिव हुक Codex Codex कॉन्फ़िग से निम्न-स्तरीय Codex जीवनचक्र और नेटिव टूल नीति।

OpenClaw, Plugin व्यवहार को रूट करने के लिए प्रोजेक्ट या ग्लोबल Codex hooks.json फ़ाइलों का उपयोग नहीं करता। नेटिव टूल और अनुमति ब्रिज के लिए, OpenClaw PreToolUse, PostToolUse, PermissionRequest और Stop के लिए प्रति-थ्रेड Codex कॉन्फ़िग इंजेक्ट करता है।

जब Codex ऐप-सर्वर अनुमोदन सक्षम होते हैं (approvalPolicy, "never" नहीं होता), तब डिफ़ॉल्ट रूप से इंजेक्ट किया गया नेटिव हुक कॉन्फ़िग PermissionRequest को छोड़ देता है, ताकि Codex का ऐप-सर्वर समीक्षक और OpenClaw का अनुमोदन ब्रिज समीक्षा के बाद वास्तविक एस्केलेशन संभालें। फिर भी संगतता रिले को बाध्य करने के लिए permission_request को nativeHookRelay.events में जोड़ें। अन्य Codex हुक, जैसे SessionStart और UserPromptSubmit, Codex-स्तरीय नियंत्रण बने रहते हैं; उन्हें v1 अनुबंध में OpenClaw Plugin हुक के रूप में उजागर नहीं किया गया है।

OpenClaw डायनेमिक टूल के लिए, Codex द्वारा कॉल माँगे जाने के बाद OpenClaw टूल को निष्पादित करता है, इसलिए Plugin और मिडलवेयर व्यवहार हार्नेस अडैप्टर में चलता है। Codex-नेटिव टूल के लिए, Codex आधिकारिक टूल रिकॉर्ड का स्वामी है; OpenClaw चुने गए इवेंट को मिरर कर सकता है, लेकिन नेटिव थ्रेड को तब तक पुनर्लिखित नहीं कर सकता, जब तक Codex उसे ऐप-सर्वर या नेटिव हुक कॉलबैक के माध्यम से उजागर न करे।

Codex ऐप-सर्वर रिपोर्ट-मोड PreToolUse इवेंट, Plugin अनुमोदन को मेल खाते ऐप-सर्वर अनुमोदन तक स्थगित करते हैं। यदि कोई OpenClaw before_tool_call हुक requireApproval लौटाता है, जबकि नेटिव पेलोड openclaw_approval_mode: "report" सेट करता है, तो नेटिव हुक रिले Plugin अनुमोदन आवश्यकता दर्ज करता है और कोई नेटिव निर्णय नहीं लौटाता। जब Codex बाद में उसी टूल उपयोग के लिए ऐप-सर्वर अनुमोदन अनुरोध भेजता है, तो OpenClaw Plugin अनुमोदन प्रॉम्प्ट खोलता है और निर्णय को वापस Codex पर मैप करता है। Codex PermissionRequest इवेंट एक अलग अनुमोदन पथ हैं और उस ब्रिज के लिए कॉन्फ़िगर किए जाने पर अब भी OpenClaw अनुमोदनों के माध्यम से रूट हो सकते हैं।

Codex ऐप-सर्वर आइटम सूचनाएँ उन नेटिव टूल पूर्णताओं के लिए असिंक्रोनस after_tool_call अवलोकन भी प्रदान करती हैं, जिन्हें नेटिव PostToolUse रिले पहले से कवर नहीं करता। ये केवल टेलीमेट्री/संगतता के लिए हैं; ये नेटिव टूल कॉल को ब्लॉक, विलंबित या परिवर्तित नहीं कर सकते।

Compaction और LLM जीवनचक्र प्रक्षेपण Codex ऐप-सर्वर सूचनाओं और OpenClaw अडैप्टर स्थिति से आते हैं, नेटिव Codex हुक कमांड से नहीं। before_compaction, after_compaction, llm_input और llm_output, अडैप्टर-स्तरीय अवलोकन हैं, Codex के आंतरिक अनुरोध या Compaction पेलोड के बाइट-दर-बाइट कैप्चर नहीं।

Codex नेटिव hook/started और hook/completed ऐप-सर्वर सूचनाएँ, ट्रैजेक्टरी और डीबगिंग के लिए codex_app_server.hook एजेंट इवेंट के रूप में प्रक्षेपित की जाती हैं। वे OpenClaw Plugin हुक का आह्वान नहीं करतीं।

V1 समर्थन अनुबंध

Codex रनटाइम v1 में समर्थित:

सतह समर्थन कारण
Codex के माध्यम से OpenAI मॉडल लूप समर्थित Codex app-server OpenAI टर्न, नेटिव थ्रेड पुनः आरंभ और नेटिव टूल निरंतरता का स्वामी है।
OpenClaw चैनल रूटिंग और डिलीवरी समर्थित Telegram, Discord, Slack, WhatsApp, iMessage और अन्य चैनल मॉडल रनटाइम से बाहर रहते हैं।
OpenClaw डायनेमिक टूल समर्थित Codex OpenClaw से इन टूल को निष्पादित करने के लिए कहता है, इसलिए OpenClaw निष्पादन पथ में बना रहता है।
प्रॉम्प्ट और कॉन्टेक्स्ट Plugin समर्थित OpenClaw, OpenClaw-विशिष्ट प्रॉम्प्ट/कॉन्टेक्स्ट को Codex टर्न में प्रोजेक्ट करता है, जबकि Codex के स्वामित्व वाले बेस, मॉडल और कॉन्फ़िगर किए गए प्रोजेक्ट-दस्तावेज़ प्रॉम्प्ट को नेटिव Codex लेन में रहने देता है। OpenClaw नेटिव थ्रेड के लिए Codex के अंतर्निहित व्यक्तित्व को अक्षम करता है, ताकि एजेंट वर्कस्पेस व्यक्तित्व फ़ाइलें प्रामाणिक बनी रहें। नेटिव Codex डेवलपर निर्देश केवल codex_app_server के लिए स्पष्ट रूप से सीमित कमांड मार्गदर्शन स्वीकार करते हैं; विरासती ग्लोबल कमांड संकेत गैर-Codex प्रॉम्प्ट सतहों के लिए बने रहते हैं।
कॉन्टेक्स्ट इंजन जीवनचक्र समर्थित असेंबल, इंजेस्ट और टर्न-पश्चात रखरखाव Codex टर्न के आसपास चलते हैं। कॉन्टेक्स्ट इंजन नेटिव Codex Compaction को प्रतिस्थापित नहीं करते।
डायनेमिक टूल हुक समर्थित before_tool_call, after_tool_call और टूल-परिणाम मिडलवेयर OpenClaw के स्वामित्व वाले डायनेमिक टूल के आसपास चलते हैं।
जीवनचक्र हुक अडैप्टर अवलोकनों के रूप में समर्थित llm_input, llm_output, agent_end, before_compaction और after_compaction सटीक Codex-मोड पेलोड के साथ सक्रिय होते हैं।
अंतिम-उत्तर संशोधन गेट नेटिव हुक रिले के माध्यम से समर्थित Codex Stop को before_agent_finalize पर रिले किया जाता है; revise अंतिम रूप देने से पहले Codex से एक और मॉडल पास का अनुरोध करता है।
नेटिव शेल, पैच और MCP को ब्लॉक करना या देखना नेटिव हुक रिले के माध्यम से समर्थित Codex PreToolUse और PostToolUse को कमिट की गई नेटिव टूल सतहों के लिए रिले किया जाता है, जिसमें Codex app-server 0.142.0 या नए संस्करण पर MCP पेलोड शामिल हैं। ब्लॉक करना समर्थित है; आर्ग्युमेंट पुनर्लेखन समर्थित नहीं है।
नेटिव अनुमति नीति Codex app-server अनुमोदनों और संगतता नेटिव हुक रिले के माध्यम से समर्थित Codex app-server अनुमोदन अनुरोध Codex समीक्षा के बाद OpenClaw के माध्यम से रूट होते हैं। PermissionRequest नेटिव हुक रिले नेटिव अनुमोदन मोड के लिए ऑप्ट-इन है, क्योंकि Codex इसे गार्जियन समीक्षा से पहले उत्सर्जित करता है।
App-server ट्रैजेक्टरी कैप्चर समर्थित OpenClaw app-server को भेजे गए अनुरोध और उससे प्राप्त सूचनाओं को रिकॉर्ड करता है।

Codex रनटाइम v1 में समर्थित नहीं:

सतह V1 सीमा भावी मार्ग
नेटिव टूल आर्ग्युमेंट में परिवर्तन Codex नेटिव प्री-टूल हुक ब्लॉक कर सकते हैं, लेकिन OpenClaw Codex-नेटिव टूल आर्ग्युमेंट का पुनर्लेखन नहीं करता। प्रतिस्थापन टूल इनपुट के लिए Codex हुक/स्कीमा समर्थन आवश्यक है।
संपादन योग्य Codex-नेटिव ट्रांसक्रिप्ट इतिहास Codex प्रामाणिक नेटिव थ्रेड इतिहास का स्वामी है। OpenClaw एक मिरर का स्वामी है और भावी कॉन्टेक्स्ट प्रोजेक्ट कर सकता है, लेकिन उसे असमर्थित आंतरिक भागों में परिवर्तन नहीं करना चाहिए। यदि नेटिव थ्रेड सर्जरी आवश्यक हो, तो स्पष्ट Codex app-server API जोड़ें।
Codex-नेटिव टूल रिकॉर्ड के लिए tool_result_persist वह हुक OpenClaw के स्वामित्व वाले ट्रांसक्रिप्ट लेखन को रूपांतरित करता है, Codex-नेटिव टूल रिकॉर्ड को नहीं। रूपांतरित रिकॉर्ड मिरर किए जा सकते हैं, लेकिन प्रामाणिक पुनर्लेखन के लिए Codex समर्थन आवश्यक है।
समृद्ध नेटिव Compaction मेटाडेटा OpenClaw नेटिव Compaction का अनुरोध कर सकता है, लेकिन उसे स्थिर रखी गई/हटाई गई सूची, टोकन अंतर, पूर्णता सारांश या सारांश पेलोड प्राप्त नहीं होता। अधिक समृद्ध Codex Compaction इवेंट आवश्यक हैं।
Compaction में हस्तक्षेप OpenClaw Plugin या कॉन्टेक्स्ट इंजन को नेटिव Codex Compaction पर वीटो लगाने, उसका पुनर्लेखन करने या उसे प्रतिस्थापित करने नहीं देता। यदि Plugin को नेटिव Compaction पर वीटो लगाने या उसका पुनर्लेखन करने की आवश्यकता हो, तो Codex प्री/पोस्ट Compaction हुक जोड़ें।
बाइट-दर-बाइट मॉडल API अनुरोध कैप्चर OpenClaw app-server अनुरोधों और सूचनाओं को कैप्चर कर सकता है, लेकिन Codex कोर अंतिम OpenAI API अनुरोध आंतरिक रूप से बनाता है। Codex मॉडल-अनुरोध ट्रेसिंग इवेंट या डीबग API आवश्यक है।

नेटिव अनुमतियाँ और MCP एलिसिटेशन

PermissionRequest के लिए, OpenClaw केवल तभी स्पष्ट अनुमति या अस्वीकृति निर्णय लौटाता है, जब नीति निर्णय करती है। निर्णय न होना अनुमति नहीं है: Codex इसे हुक निर्णय न होने के रूप में मानता है और अपने गार्जियन या उपयोगकर्ता अनुमोदन पथ पर आगे बढ़ता है।

Codex app-server अनुमोदन मोड डिफ़ॉल्ट रूप से इस नेटिव हुक को छोड़ देते हैं। यह तब तक लागू होता है, जब तक permission_request को स्पष्ट रूप से nativeHookRelay.events में शामिल नहीं किया जाता या कोई संगतता रनटाइम इसे इंस्टॉल नहीं करता।

जब कोई ऑपरेटर Codex नेटिव अनुमति अनुरोध के लिए allow-always चुनता है, तो OpenClaw एक सीमित सत्र अवधि के लिए उस सटीक प्रोवाइडर/सत्र/टूल इनपुट/cwd फ़िंगरप्रिंट को याद रखता है। याद रखा गया निर्णय जानबूझकर केवल सटीक-मिलान वाला होता है: बदला हुआ कमांड, आर्ग्युमेंट, टूल पेलोड या cwd नया अनुमोदन बनाता है।

जब Codex _meta.codex_approval_kind को "mcp_tool_call" के रूप में चिह्नित करता है, तो Codex MCP टूल अनुमोदन एलिसिटेशन OpenClaw के Plugin अनुमोदन प्रवाह के माध्यम से रूट होते हैं। Codex request_user_input मूल सत्र के लिए एक प्रोवाइडर-न्यूट्रल Gateway प्रश्न पंजीकृत करता है। Control UI Gateway प्रश्न कार्ड रेंडर करता है, और जब चैनल उनका समर्थन करता है, तब एकल गैर-गोपनीय विकल्प टाइप किए गए चैनल बटन का उपयोग करता है। बटन टैप, Control UI उत्तर और अगला कतारबद्ध सादा-पाठ उत्तर, OpenClaw द्वारा app-server उत्तर लौटाने से पहले उसी Gateway रिकॉर्ड को समाधान करते हैं। Codex स्वचालित-समाधान और प्रयास निरस्तीकरण प्रतीक्षा को सीमित करते हैं और रिकॉर्ड को रद्द करते हैं। गोपनीय प्रश्न पूरी तरह चेतावनी वाले पाठ-उत्तर पथ पर रहते हैं। अन्य MCP एलिसिटेशन अनुरोध बंद अवस्था में विफल होते हैं।

इन प्रॉम्प्ट को वहन करने वाले सामान्य Plugin अनुमोदन प्रवाह के लिए, Plugin अनुमति अनुरोध देखें।

कतार संचालन

सक्रिय-रन कतार संचालन Codex app-server turn/steer पर मैप होता है। डिफ़ॉल्ट messages.queue.mode: "steer" के साथ, OpenClaw कॉन्फ़िगर की गई शांत अवधि के दौरान संचालन-मोड चैट संदेशों को बैच करता है और उन्हें आगमन क्रम में एक turn/steer अनुरोध के रूप में भेजता है।

Codex समीक्षा और मैन्युअल Compaction टर्न उसी टर्न के संचालन को अस्वीकार कर सकते हैं। ऐसी स्थिति में, OpenClaw प्रॉम्प्ट शुरू करने से पहले सक्रिय रन के समाप्त होने की प्रतीक्षा करता है। जब संदेशों को संचालन के बजाय डिफ़ॉल्ट रूप से कतारबद्ध करना हो, तो /queue followup या /queue collect का उपयोग करें। संचालन कतार देखें।

Codex फ़ीडबैक अपलोड

जब नेटिव Codex हार्नेस पर किसी सत्र के लिए /diagnostics [note] स्वीकृत होता है, तो OpenClaw प्रासंगिक Codex थ्रेड के लिए Codex app-server feedback/upload को भी कॉल करता है, जिसमें सूचीबद्ध प्रत्येक थ्रेड के लॉग और उपलब्ध होने पर बनाए गए Codex उपथ्रेड शामिल होते हैं।

अपलोड Codex के सामान्य फ़ीडबैक पथ से OpenAI सर्वर तक जाता है। यदि उस app-server में Codex फ़ीडबैक अक्षम है, तो कमांड app-server त्रुटि लौटाता है। पूर्ण हुए निदान उत्तर में भेजे गए थ्रेड के चैनल, OpenClaw सत्र आईडी, Codex थ्रेड आईडी और स्थानीय codex resume <thread-id> कमांड सूचीबद्ध होते हैं।

यदि आप स्वीकृति अस्वीकार करते हैं या उसे अनदेखा करते हैं, तो OpenClaw उन Codex आईडी को प्रिंट नहीं करता और Codex फ़ीडबैक नहीं भेजता। यह अपलोड स्थानीय Gateway निदान निर्यात को प्रतिस्थापित नहीं करता। स्वीकृति, गोपनीयता, स्थानीय बंडल और समूह-चैट व्यवहार के लिए निदान निर्यात देखें।

केवल तभी /codex diagnostics [note] का उपयोग करें, जब आप पूर्ण Gateway निदान बंडल के बिना वर्तमान में संलग्न थ्रेड के लिए Codex फ़ीडबैक अपलोड चाहते हों।

Compaction और ट्रांसक्रिप्ट मिरर

जब चयनित मॉडल Codex हार्नेस का उपयोग करता है, तो नेटिव थ्रेड Compaction का स्वामित्व Codex app-server के पास होता है। OpenClaw Codex टर्न के लिए प्रीफ़्लाइट Compaction नहीं चलाता, Codex Compaction को कॉन्टेक्स्ट-इंजन Compaction से प्रतिस्थापित नहीं करता, और नेटिव Compaction शुरू न हो पाने पर OpenClaw या सार्वजनिक OpenAI सारांशीकरण पर फ़ॉलबैक नहीं करता। OpenClaw चैनल इतिहास, खोज, /new, /reset, और भविष्य में मॉडल या हार्नेस बदलने के लिए एक ट्रांसक्रिप्ट मिरर बनाए रखता है।

स्पष्ट Compaction अनुरोध, जैसे /compact या Plugin द्वारा अनुरोधित मैन्युअल कॉम्पैक्ट कार्रवाई, thread/compact/start के साथ नेटिव Codex Compaction शुरू करते हैं। OpenClaw अनुरोध और साझा-क्लाइंट लीज़ को तब तक खुला रखता है, जब तक Codex मेल खाने वाला contextCompaction पूर्णता आइटम उत्सर्जित नहीं करता, और फिर Compaction टर्न को पूर्ण बताता है। यदि वह अंतिम टर्न कॉन्फ़िगर किए गए Compaction टाइमआउट से अधिक समय लेता है, तो OpenClaw नेटिव टर्न इंटरप्ट का अनुरोध करता है। लीज़ और प्रति-थ्रेड Compaction फ़ेंस तब तक रोके रहते हैं, जब तक Codex अंतिम स्थिति नहीं बताता या इंटरप्ट RPC की पुष्टि नहीं करता। यदि Codex इंटरप्ट की रियायत अवधि के भीतर पुष्टि नहीं करता, तो OpenClaw फ़ेंस रिलीज़ करने से पहले कनेक्शन को सेवानिवृत्त कर देता है। रिमोट कनेक्शन मेल खाने वाली थ्रेड बाइंडिंग को भी अलग कर देते हैं, ताकि बाद का कार्य किसी अपुष्ट रिमोट टर्न के साथ ओवरलैप न कर सके। सेवानिवृत्त कनेक्शन के अन्य टर्न विफल होते हैं और नए क्लाइंट पर पुनः प्रयास कर सकते हैं। क्लाइंट बंद होने, अनुरोध रद्द होने या Compaction टर्न विफल होने पर कार्रवाई विफल लौटती है। कॉन्टेक्स्ट-दबाव के कारण स्वचालित Compaction करना Codex का काम है; OpenClaw केवल मैन्युअल रूप से अनुरोधित ट्रिगर के लिए नेटिव Compaction शुरू करता है।

जब कोई कॉन्टेक्स्ट इंजन Codex थ्रेड-बूटस्ट्रैप प्रोजेक्शन का अनुरोध करता है, तो OpenClaw टूल-कॉल नाम और आईडी, इनपुट आकार तथा संपादित टूल-परिणाम सामग्री को नए Codex थ्रेड में प्रोजेक्ट करता है। वह उस प्रोजेक्शन में टूल-कॉल आर्ग्युमेंट के मूल मान कॉपी नहीं करता।

जब app-server उन्हें उत्सर्जित करता है, तो मिरर में उपयोगकर्ता प्रॉम्प्ट, अंतिम सहायक टेक्स्ट और हल्के Codex तर्क या योजना रिकॉर्ड शामिल होते हैं। OpenClaw नेटिव Compaction की शुरुआत और अंतिम स्थिति रिकॉर्ड करता है, लेकिन वह मानव-पठनीय Compaction सारांश या Compaction के बाद Codex द्वारा रखी गई प्रविष्टियों की ऑडिट-योग्य सूची उपलब्ध नहीं कराता।

चूँकि Codex कैनोनिकल नेटिव थ्रेड का स्वामी है, इसलिए tool_result_persist Codex-नेटिव टूल परिणाम रिकॉर्ड को दोबारा नहीं लिखता। यह केवल तब लागू होता है, जब OpenClaw किसी OpenClaw-स्वामित्व वाले सत्र ट्रांसक्रिप्ट का टूल परिणाम लिखता है।

मीडिया और डिलीवरी

OpenClaw मीडिया डिलीवरी और मीडिया प्रदाता चयन का स्वामी बना रहता है। छवि, वीडियो, संगीत, PDF, TTS और मीडिया समझ के लिए agents.defaults.imageGenerationModel, videoGenerationModel, pdfModel और messages.tts जैसी मेल खाती प्रदाता/मॉडल सेटिंग का उपयोग होता है।

टेक्स्ट, छवियाँ, वीडियो, संगीत, TTS, स्वीकृतियाँ और मैसेजिंग-टूल आउटपुट सामान्य OpenClaw डिलीवरी पथ से जारी रहते हैं; मीडिया जनरेशन के लिए लेगेसी रनटाइम की आवश्यकता नहीं होती। जब Codex savedPath वाला कोई नेटिव छवि-जनरेशन आइटम उत्सर्जित करता है, तो OpenClaw उसी सटीक फ़ाइल को सामान्य उत्तर-मीडिया पथ से अग्रेषित करता है, भले ही Codex टर्न में कोई सहायक टेक्स्ट न हो।

संबंधित

Was this useful?
On this page

On this page