---
read_when:
    - आप आधिकारिक Codex app-server हार्नेस का उपयोग करना चाहते हैं
    - आपको Codex हार्नेस कॉन्फ़िगरेशन के उदाहरण चाहिए
    - आप चाहते हैं कि केवल Codex वाले डिप्लॉयमेंट OpenClaw पर फ़ॉलबैक करने के बजाय विफल हो जाएँ
summary: आधिकारिक Codex app-server हार्नेस के माध्यम से OpenClaw एम्बेडेड एजेंट टर्न चलाएँ
title: Codex हार्नेस
x-i18n:
    generated_at: "2026-07-27T18:07:16Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 32
    provider: openai
    source_hash: e016a1689af65c5520d529ce22a87bd25ee29369f7aedca77b27f943a7f21b0f
    source_path: plugins/codex-harness.md
    workflow: 16
---

आधिकारिक `codex` Plugin, अंतर्निहित OpenClaw हार्नेस के बजाय Codex
app-server के माध्यम से एम्बेडेड OpenAI एजेंट टर्न चलाता है। निम्न-स्तरीय
एजेंट सत्र का स्वामित्व Codex के पास होता है: नेटिव थ्रेड पुनरारंभ, नेटिव टूल निरंतरता,
नेटिव Compaction और app-server निष्पादन। OpenClaw अब भी चैट
चैनलों, सत्र फ़ाइलों, मॉडल चयन, OpenClaw डायनेमिक टूल, अनुमोदनों,
मीडिया डिलीवरी और दृश्यमान ट्रांस्क्रिप्ट मिरर का स्वामी रहता है।

`openai/gpt-5.6-sol` जैसे कैनोनिकल OpenAI मॉडल रेफ़रेंस का उपयोग करें। पुराने
Codex GPT रेफ़रेंस कॉन्फ़िगर न करें; OpenAI एजेंट प्रमाणीकरण क्रम को `auth.order.openai` के अंतर्गत रखें।
पुरानी Codex प्रमाणीकरण प्रोफ़ाइल आईडी और पुराने Codex प्रमाणीकरण क्रम की प्रविष्टियों की
मरम्मत `openclaw doctor --fix` द्वारा की जाती है।

प्रोवाइडर/मॉडल रनटाइम नीति अनसेट या `auto` होने पर, केवल `openai/*` प्रीफ़िक्स
कभी भी इस हार्नेस का चयन नहीं करता। OpenAI केवल उस सटीक आधिकारिक HTTPS
Platform Responses या ChatGPT Responses रूट के लिए Codex को अप्रत्यक्ष रूप से चुन सकता है, जिसमें
लेखक द्वारा दिया गया कोई अनुरोध ओवरराइड न हो। देखें
[OpenAI का अप्रत्यक्ष एजेंट रनटाइम](/hi/providers/openai#implicit-agent-runtime)।
यदि Platform बनाम ChatGPT रूटिंग ज्ञात होने से पहले प्रमाणीकरण का स्वामित्व Codex के पास है, तो OpenClaw
फिर भी प्रत्येक संभावित रूट से Codex संगतता घोषित करने की अपेक्षा करता है। केवल नेटिव
प्रमाणीकरण स्वामित्व उस रूट जाँच को कभी बायपास नहीं करता।

जब कोई OpenClaw सैंडबॉक्स सक्रिय नहीं होता, तो OpenClaw नेटिव Codex कोड मोड सक्षम करके
Codex app-server थ्रेड शुरू करता है (डिफ़ॉल्ट रूप से केवल-कोड-मोड बंद रहता है), ताकि
नेटिव वर्कस्पेस/कोड क्षमताएँ, app-server `item/tool/call` ब्रिज के माध्यम से रूट किए गए OpenClaw
डायनेमिक टूल के साथ उपलब्ध रहें। सक्रिय OpenClaw सैंडबॉक्स या प्रतिबंधित टूल नीति
नेटिव कोड मोड को पूरी तरह अक्षम कर देती है, जब तक कि आप प्रयोगात्मक सैंडबॉक्स
exec-server पथ को स्पष्ट रूप से सक्षम न करें।

डिफ़ॉल्ट `tools.exec.host: "auto"` और किसी सक्रिय OpenClaw सैंडबॉक्स के न होने पर,
Codex को युग्मित Node पर कमांड के लिए `node_exec` और `node_process` टूल भी मिलते हैं।
नेटिव शेल Codex app-server होस्ट और वर्कस्पेस पर ही रहता है
(डिफ़ॉल्ट stdio परिनियोजन के लिए Gateway-स्थानीय); `node_exec` किसी Node को
नाम या आईडी से चुनता है और OpenClaw की Node अनुमोदन नीति को लागू रखता है। यदि कोई सीमित
रनटाइम अनुमति-सूची नेटिव Code Mode को अक्षम कर देती है और टर्न को बिना
निष्पादन परिवेश के छोड़ देती है, तो OpenClaw इसके बजाय प्रत्यक्ष, बिना सैंडबॉक्स वाले निष्पादन के लिए
अपने नीति-फ़िल्टर किए गए `exec` और `process` टूल उपलब्ध रखता है।

यह Codex-नेटिव सुविधा
[OpenClaw Code Mode](/hi/tools/code-mode) से अलग है, जो सामान्य OpenClaw रन के लिए
अलग `exec` इनपुट आकार वाला एक ऑप्ट-इन QuickJS-WASI रनटाइम है। व्यापक
मॉडल/प्रोवाइडर/रनटाइम विभाजन के लिए
[एजेंट रनटाइम](/hi/concepts/agent-runtimes) से शुरू करें: `openai/gpt-5.6-sol` मॉडल
रेफ़रेंस है, `codex` रनटाइम है, और Telegram, Discord, Slack या कोई अन्य
चैनल संचार सतह है।

## आवश्यकताएँ

- आधिकारिक `@openclaw/codex` Plugin इंस्टॉल हो। यदि आपका कॉन्फ़िग अनुमति-सूची का उपयोग करता है, तो
  `plugins.allow` में `codex` शामिल करें।
- `0.143.0` से `0.145.0` तक का स्थिर Codex app-server। Plugin डिफ़ॉल्ट रूप से एक संगत
  बाइनरी प्रबंधित करता है, इसलिए `PATH` पर मौजूद `codex` कमांड सामान्य
  स्टार्टअप को प्रभावित नहीं करता।
- `openclaw models auth login --provider openai` के माध्यम से Codex प्रमाणीकरण, एजेंट के Codex होम में पहले से मौजूद
  app-server खाता, या एक स्पष्ट Codex API-कुंजी प्रमाणीकरण प्रोफ़ाइल।

प्रमाणीकरण प्राथमिकता, परिवेश पृथक्करण, कस्टम app-server कमांड,
मॉडल खोज और कॉन्फ़िग फ़ील्ड की पूरी सूची के लिए
[Codex हार्नेस संदर्भ](/hi/plugins/codex-harness-reference) देखें।

## त्वरित शुरुआत

आधिकारिक Plugin इंस्टॉल करें, फिर Codex OAuth से साइन इन करें:

```bash
openclaw plugins install @openclaw/codex
openclaw models auth login --provider openai
```

`codex` Plugin सक्षम करें और एक OpenAI एजेंट मॉडल चुनें:

```json5
{
  plugins: {
    entries: {
      codex: {
        enabled: true,
      },
    },
  },
  agents: {
    defaults: {
      model: "openai/gpt-5.6-sol",
    },
  },
}
```

यदि आपका कॉन्फ़िग `plugins.allow` का उपयोग करता है, तो उसमें `codex` भी जोड़ें:

```json5
{
  plugins: {
    allow: ["codex"],
    entries: {
      codex: {
        enabled: true,
      },
    },
  },
}
```

Plugin कॉन्फ़िग बदलने के बाद Gateway पुनः शुरू करें। यदि किसी चैट का पहले से
सत्र है, तो पहले `/new` या `/reset` चलाएँ, ताकि अगला टर्न वर्तमान कॉन्फ़िग से
हार्नेस निर्धारित करे।

## Codex Desktop और CLI के साथ थ्रेड साझा करें

डिफ़ॉल्ट `appServer.homeScope: "agent"` प्रत्येक OpenClaw एजेंट को
ऑपरेटर की नेटिव Codex स्थिति से अलग रखता है। किसी स्वामी को Codex Desktop और Codex CLI में दिखाए गए
उन्हीं नेटिव थ्रेड का निरीक्षण और प्रबंधन करने देने के लिए, उपयोगकर्ता Codex होम को
ऑप्ट-इन करें:

```json5
{
  plugins: {
    entries: {
      codex: {
        enabled: true,
        config: {
          appServer: {
            homeScope: "user",
          },
        },
      },
    },
  },
}
```

उपयोगकर्ता-होम मोड स्थानीय प्रबंधित stdio प्रक्रिया या साझा Unix-socket
ट्रांसपोर्ट का समर्थन करता है। सेट होने पर यह `$CODEX_HOME` और अन्यथा `~/.codex` का उपयोग करता है, जिसमें
उस होम का नेटिव Codex प्रमाणीकरण, कॉन्फ़िग, Plugin और थ्रेड स्टोर शामिल हैं। OpenClaw
इस app-server में OpenClaw प्रमाणीकरण प्रोफ़ाइल इंजेक्ट नहीं करता।

स्वामी टर्न को `codex_threads` टूल मिलता है: नेटिव थ्रेड को सूचीबद्ध करें, खोजें, पढ़ें, फ़ोर्क करें, नाम बदलें,
आर्काइव करें और पुनर्स्थापित करें। किसी थ्रेड को OpenClaw में जारी रखने के लिए फ़ोर्क करें;
फ़ोर्क वर्तमान OpenClaw सत्र से जुड़ जाता है और अन्य नेटिव Codex क्लाइंट को
दिखाई देता रहता है। आर्काइव करने के लिए स्पष्ट पुष्टि आवश्यक है कि थ्रेड कहीं और बंद है।
जब पर्यवेक्षण भी सक्षम हो, तो ट्रांस्क्रिप्ट फ़ील्ड और बदलावों के लिए संबंधित
`supervision.allowRawTranscripts` या `supervision.allowWriteControls` ऑप्ट-इन आवश्यक होता है।

स्वतंत्र रूप से प्रबंधित stdio App Servers के माध्यम से एक ही थ्रेड को समवर्ती रूप से
पुनरारंभ या उसमें लिखें नहीं। Codex एक App Server के भीतर लाइव लेखकों का समन्वय करता है,
अलग-अलग प्रक्रियाओं के बीच नहीं। सामान्य उपयोगकर्ता-होम stdio सत्रों के लिए
फ़ोर्क करना सुरक्षित सह-अस्तित्व पथ है।

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

## Codex सत्रों का पर्यवेक्षण करें

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

सेटअप, ब्रांचिंग नियमों, युग्मित-Node सीमाओं, मेटाडेटा एक्सपोज़र और समस्या निवारण के लिए
[Codex सत्रों का पर्यवेक्षण करें](/hi/plugins/codex-supervision) देखें।

## कॉन्फ़िगरेशन

| आवश्यकता                                           | सेट करें                                                                                         | स्थान                              |
| --------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ---------------------------------- |
| हार्नेस सक्षम करें                                  | `plugins.entries.codex.enabled: true`                                                            | OpenClaw कॉन्फ़िग                  |
| नेटिव Codex सत्र खोज छिपाएँ                         | `plugins.entries.codex.config.sessionCatalog.enabled: false`                                     | Codex Plugin कॉन्फ़िग              |
| अनुमति-सूची वाला Plugin इंस्टॉल बनाए रखें           | `plugins.allow` में `codex` शामिल करें                                                               | OpenClaw कॉन्फ़िग                  |
| पात्र OpenAI टर्न को Codex का अप्रत्यक्ष उपयोग करने दें | सटीक आधिकारिक HTTPS Responses/ChatGPT रूट, लेखक द्वारा अनुरोध ओवरराइड नहीं, रनटाइम अनसेट/`auto` | OpenAI प्रोवाइडर/मॉडल कॉन्फ़िग     |
| ChatGPT/Codex OAuth से साइन इन करें                  | `openclaw models auth login --provider openai`                                                   | CLI प्रमाणीकरण प्रोफ़ाइल            |
| Codex रन के लिए API-कुंजी बैकअप जोड़ें              | `auth.order.openai` में सदस्यता प्रमाणीकरण के बाद सूचीबद्ध `openai:*` API-कुंजी प्रोफ़ाइल                 | CLI प्रमाणीकरण प्रोफ़ाइल + OpenClaw कॉन्फ़िग |
| Codex अनुपलब्ध होने पर बंद रहते हुए विफल हों        | प्रोवाइडर या मॉडल `agentRuntime.id: "codex"`                                                     | OpenClaw मॉडल/प्रोवाइडर कॉन्फ़िग   |
| प्रत्यक्ष OpenAI API ट्रैफ़िक का उपयोग करें          | सामान्य OpenAI प्रमाणीकरण के साथ प्रोवाइडर या मॉडल `agentRuntime.id: "openclaw"`                          | OpenClaw मॉडल/प्रोवाइडर कॉन्फ़िग   |
| app-server व्यवहार समायोजित करें                    | `plugins.entries.codex.config.appServer.*`                                                       | Codex Plugin कॉन्फ़िग              |
| नेटिव Codex Plugin ऐप सक्षम करें                    | `plugins.entries.codex.config.codexPlugins.*`                                                    | Codex Plugin कॉन्फ़िग              |
| Codex Computer Use सक्षम करें                       | `plugins.entries.codex.config.computerUse.*`                                                     | Codex Plugin कॉन्फ़िग              |

सदस्यता-प्रथम/API-कुंजी-बैकअप क्रम के लिए `auth.order.openai` को प्राथमिकता दें।
मौजूदा पुराने Codex प्रमाणीकरण प्रोफ़ाइल आईडी और पुराना Codex प्रमाणीकरण क्रम
केवल doctor वाली पुरानी स्थिति हैं; नए पुराने Codex GPT रेफ़रेंस न लिखें।

```json5
{
  auth: {
    order: {
      openai: ["openai:user@example.com", "openai:api-key-backup"],
    },
  },
}
```

Codex-संगत प्रभावी रूट के लिए, ऊपर दिए गए दोनों प्रोफ़ाइल उसी Codex रन के
संभावित विकल्प बने रहते हैं। प्रोफ़ाइल क्रम क्रेडेंशियल चुनता है, रनटाइम नहीं।
प्रमाणीकरण क्रम बदलने से कोई कस्टम, Completions, HTTP या
अनुरोध-ओवरराइड किया गया रूट Codex-संगत नहीं बनता।

### Compaction

Codex-समर्थित एजेंट पर `compaction.model` या `compaction.provider` सेट न करें।
Codex अपनी नेटिव app-server थ्रेड स्थिति के माध्यम से Compaction करता है, इसलिए
OpenClaw रनटाइम पर उन स्थानीय सारांशकर्ता ओवरराइड को अनदेखा करता है, और
जब एजेंट Codex का उपयोग करता है तो `openclaw doctor --fix` उन्हें हटा देता है।

Lossless, Codex टर्न के आसपास संयोजन, अंतर्ग्रहण और
रखरखाव के लिए एक संदर्भ इंजन के रूप में समर्थित रहता है, जिसे
`plugins.slots.contextEngine: "lossless-claw"` और
`plugins.entries.lossless-claw.config.summaryModel` के माध्यम से कॉन्फ़िगर किया जाता है, न कि
`agents.defaults.compaction.provider` के माध्यम से। Codex के सक्रिय रनटाइम होने पर `openclaw doctor --fix`
पुराने `compaction.provider: "lossless-claw"` आकार को Lossless
संदर्भ-इंजन स्लॉट में माइग्रेट करता है, लेकिन नेटिव Codex ही
Compaction का स्वामी रहता है। नेटिव app-server हार्नेस उन संदर्भ इंजनों का समर्थन करता है
जिन्हें प्री-प्रॉम्प्ट संयोजन चाहिए; `codex-cli` सहित सामान्य CLI बैकएंड
वह होस्ट क्षमता प्रदान नहीं करते।

Codex-समर्थित एजेंटों के लिए, `/compact` बाउंड थ्रेड पर नेटिव Codex app-server
Compaction शुरू करता है और उसके अंतिम परिणाम की प्रतीक्षा करता है। साझा
`agents.defaults.compaction.timeoutSeconds` बजट लागू होता है; टाइमआउट पर,
OpenClaw Codex से नेटिव टर्न बाधित करने को कहता है और समाप्ति की पुष्टि होने तक
प्रति-थ्रेड अवरोध बनाए रखता है। यह कभी भी संदर्भ इंजन या
सार्वजनिक OpenAI सारांशकर्ता पर फ़ॉलबैक नहीं करता। यदि नेटिव Codex थ्रेड बाइंडिंग अनुपस्थित या
पुरानी है, तो कमांड चुपचाप Compaction बैकएंड बदलने के बजाय
बंद रहते हुए विफल होता है।

### प्रत्यक्ष API दीर्घ संदर्भ

Codex सदस्यता और प्रत्यक्ष OpenAI API ट्रैफ़िक अलग-अलग अनुबंध हैं। लाइव
ChatGPT/Codex कैटलॉग आम तौर पर `272000` टोकन मॉडल विंडो उपलब्ध कराता है,
जबकि OpenAI, GPT-5.5 और GPT-5.6 के लिए `1050000` टोकन Platform API विंडो और
`128000` अधिकतम आउटपुट का दस्तावेज़ीकरण करता है। पूर्ण आउटपुट सीमा आरक्षित
करने पर व्युत्पन्न `922000` टोकन इनपुट बजट बचता है। `272000` से अधिक
इनपुट टोकन वाले अनुरोध OpenAI की अधिक दर वाली लॉन्ग-कॉन्टेक्स्ट कीमत का उपयोग करते हैं।

स्थापित Codex संस्करण के साथ संगत पूर्ण Codex मॉडल कैटलॉग से शुरुआत करें।
हर उस प्रत्यक्ष GPT-5.5 या GPT-5.6 प्रविष्टि के लिए, जिसे लॉन्ग कॉन्टेक्स्ट का उपयोग
करना चाहिए, शेष वर्णनकर्ता सुरक्षित रखें और यह सेट करें:

```json
{
  "context_window": 922000,
  "max_context_window": 922000,
  "auto_compact_token_limit": 700000
}
```

Codex, `922000` कैटलॉग मान पर अपना सामान्य 95% प्रभावी-विंडो आरक्षण लागू
करता है, इसलिए यह लगभग `875900` उपयोग योग्य टोकन रिपोर्ट करता है।
`700000` पर कॉम्पैक्ट करने से उस प्रभावी सुरक्षा सीमा से पहले
`175900` टोकन और प्रदाता-सुरक्षित इनपुट सीमा से पहले `222000`
टोकन बचते हैं। यह बड़ा अंतर जानबूझकर रखा गया है: Codex अगला उपयोगकर्ता संदेश और
कॉन्टेक्स्ट अपडेट जोड़ने से पहले पहले से रिकॉर्ड किए गए कॉन्टेक्स्ट की जाँच करता है,
इसलिए थ्रेशोल्ड में एक बड़े आगत टर्न के साथ-साथ टूल, निर्देश, सीरियलाइज़ेशन और
Compaction टर्न स्वयं भी समाहित होने चाहिए।

स्टैंडअलोन Codex CLI या Desktop उपयोग के लिए, कमांड-प्रमाणित कस्टम प्रदाता
सिस्टम कीचेन या सीक्रेट मैनेजर से API कुंजी पढ़ सकता है, जबकि सामान्य
ChatGPT लॉगिन कनेक्टरों के लिए उपलब्ध रहता है:

```toml
model = "gpt-5.6-terra"
model_provider = "openai_api_direct"
model_context_window = 922000
model_auto_compact_token_limit = 700000
model_auto_compact_token_limit_scope = "total"
model_catalog_json = "/absolute/path/to/models-api-1m.json"

[model_providers.openai_api_direct]
name = "OpenAI API direct"
base_url = "https://api.openai.com/v1"
wire_api = "responses"
requires_openai_auth = false

[model_providers.openai_api_direct.auth]
command = "/absolute/path/to/read-openai-inference-key"
timeout_ms = 5000
refresh_interval_ms = 300000
```

प्रमाणीकरण सहायक को stdout पर केवल कुंजी प्रिंट करनी होगी। इसे TOML में न रखें।

OpenClaw Codex ऐप-सर्वर हार्नेस के लिए, डिफ़ॉल्ट एजेंट-स्कोप वाला Codex होम बनाए
रखें और OpenClaw को `openai` API-कुंजी प्रोफ़ाइल इंजेक्ट करने दें। कैटलॉग और
कॉन्टेक्स्ट सीमाओं को नेटिव Codex ऐप-सर्वर आर्ग्युमेंट के रूप में पास करें:

```json5
{
  auth: {
    order: {
      openai: ["openai:api-key"],
    },
  },
  plugins: {
    entries: {
      codex: {
        enabled: true,
        config: {
          appServer: {
            args: [
              "app-server",
              "--listen",
              "stdio://",
              "-c",
              'model_catalog_json="/absolute/path/to/models-api-1m.json"',
              "-c",
              "model_context_window=922000",
              "-c",
              "model_auto_compact_token_limit=700000",
              "-c",
              "model_auto_compact_token_limit_scope=total",
            ],
          },
        },
      },
    },
  },
  agents: {
    defaults: {
      model: "openai/gpt-5.6-terra",
      models: {
        "openai/gpt-5.6-terra": { agentRuntime: { id: "codex" } },
      },
    },
  },
}
```

आवश्यक होने पर `openai:api-key` को वास्तविक API-कुंजी प्रोफ़ाइल आईडी से बदलें।
एजेंट-स्कोप वाले ऐप-सर्वर को केवल वही तैयार की गई कुंजी मिलती है; ऑपरेटर का नेटिव
`~/.codex` ChatGPT लॉगिन, Plugin, कनेक्टर और थ्रेड स्टोर अपरिवर्तित रहते हैं।
Codex ऐप-सर्वर `0.144.6` ऐप-सर्वर टर्न पर कमांड-प्रमाणित कस्टम प्रदाता का
बेयरर संलग्न नहीं करता, इसलिए इस रूट के लिए `homeScope: "user"` के बजाय ऊपर दिए गए
इंजेक्ट किए गए API-कुंजी पथ का उपयोग करें।

कैटलॉग या ऐप-सर्वर आर्ग्युमेंट बदलने के बाद, Gateway को पुनः आरंभ करें और नई चैट
शुरू करें। मौजूदा नेटिव थ्रेड अपनी रिकॉर्ड की गई प्रदाता और मॉडल सेटिंग सुरक्षित
रखते हैं। रनटाइम को `/status` और `/codex status` से सत्यापित करें, फिर
लंबा सत्र शुरू करने से पहले एक निरापद प्रत्यक्ष API टर्न भेजें।

<Warning>
लॉन्ग कॉन्टेक्स्ट जानबूझकर ऑप्ट-इन है। इनपुट के `272000` टोकन से अधिक होते
ही OpenAI पूरे अनुरोध के लिए इनपुट पर 2× और आउटपुट पर 1.5× दर से शुल्क लेता है।
पहुँच, वास्तविक सीमाओं और बिलिंग के लिए API ही प्रामाणिक स्रोत रहता है। देखें
[OpenAI मॉडल सीमाएँ](https://developers.openai.com/api/docs/models/compare) और
[API मूल्य निर्धारण](https://developers.openai.com/api/docs/pricing)।
</Warning>

इस पृष्ठ का शेष भाग डिप्लॉयमेंट संरचना, विफलता पर बंद होने वाली रूटिंग, संरक्षक
अनुमोदन नीति, नेटिव Codex Plugin और Computer Use को शामिल करता है। विकल्पों की
पूरी सूचियों, डिफ़ॉल्ट, एनम, खोज, पर्यावरण पृथक्करण, टाइमआउट और ऐप-सर्वर ट्रांसपोर्ट
फ़ील्ड के लिए
[Codex हार्नेस संदर्भ](/hi/plugins/codex-harness-reference) देखें।

## Codex रनटाइम सत्यापित करें

उस चैट में `/status` का उपयोग करें जहाँ Codex अपेक्षित है। Codex-समर्थित
OpenAI एजेंट टर्न यह दिखाता है:

```text
रनटाइम: OpenAI Codex
```

फिर Codex ऐप-सर्वर की स्थिति जाँचें:

```text
/codex status
/codex models
/codex binding
```

`/codex binding` संलग्न नेटिव थ्रेड और वर्तमान मॉडल सेटिंग रिपोर्ट करता है।
`/codex status` ऐप-सर्वर कनेक्टिविटी, अकाउंट, दर सीमाएँ, MCP सर्वर और Skills
रिपोर्ट करता है। `/codex models` हार्नेस और अकाउंट के लिए लाइव Codex ऐप-सर्वर
कैटलॉग सूचीबद्ध करता है। यदि `/status` अप्रत्याशित है, तो
[समस्या निवारण](#troubleshooting) देखें।

## रूटिंग और मॉडल चयन

प्रदाता संदर्भों और रनटाइम नीति को अलग रखें:

- मानक OpenAI मॉडल चयन के लिए `openai/gpt-*` का उपयोग करें। केवल उपसर्ग
  कभी भी Codex का चयन नहीं करता।
- रनटाइम सेट न होने या `auto` होने पर, बिना किसी लिखित अनुरोध
  ओवरराइड वाला केवल सटीक आधिकारिक HTTPS Platform Responses या ChatGPT Responses
  रूट ही Codex को निहित रूप से चुन सकता है।
- कॉन्फ़िगरेशन में पुराने Codex GPT संदर्भों का उपयोग न करें; पुराने संदर्भों और
  अप्रचलित सत्र रूट पिन की मरम्मत के लिए `openclaw doctor --fix` चलाएँ।
- `agentRuntime.id: "codex"` संगत रूट के लिए Codex को विफलता पर बंद होने वाली
  आवश्यकता बनाता है। यह असंगत प्रभावी रूट को संगत नहीं बनाता।
- `agentRuntime.id: "openclaw"` किसी प्रदाता या मॉडल को एम्बेडेड OpenClaw रनटाइम
  में ऑप्ट-इन करता है, जब ऐसा करना अभिप्रेत हो।
- `/codex ...` चैट से नेटिव Codex ऐप-सर्वर वार्तालाप नियंत्रित करता है।
- ACP/acpx एक अलग बाहरी हार्नेस पथ है। इसका उपयोग केवल तब करें जब उपयोगकर्ता
  ACP/acpx या बाहरी हार्नेस एडाप्टर माँगे।

| उपयोगकर्ता का उद्देश्य                                      | उपयोग                                                                                                   |
| ---------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| वर्तमान चैट संलग्न करना                                    | `/codex bind [thread-id] [--cwd <path>] [--model <model>] [--provider <provider>]`                    |
| मौजूदा Codex थ्रेड फिर से शुरू करना                        | `/codex resume <thread-id>`                                                                           |
| Codex थ्रेड सूचीबद्ध या फ़िल्टर करना                       | `/codex threads [filter]`                                                                             |
| बाउंड थ्रेड का नेटिव लक्ष्य पढ़ना या अपडेट करना             | `/codex goal [status\|set <objective>\|pause\|resume\|block\|complete\|clear]`                        |
| नेटिव Codex Plugin सूचीबद्ध करना                           | `/codex plugins list`                                                                                 |
| कॉन्फ़िगर किए गए नेटिव Codex Plugin को सक्षम या अक्षम करना | `/codex plugins enable <name>`, `/codex plugins disable <name>`                                       |
| संग्रहित Codex CLI सत्र को युग्मित-Node टर्न के रूप में फिर शुरू करना | `/codex sessions --host <node> [filter]`, फिर `/codex resume <session-id> --host <node> --bind here` |
| कंप्यूटरों में गैर-संग्रहीत Codex सत्र देखना               | Codex पर्यवेक्षण सक्षम करें और **Codex सत्र** खोलें                                                  |
| बाउंड थ्रेड का मॉडल, फ़ास्ट-मोड या अनुमतियाँ बदलना         | `/codex model <model>`, `/codex fast [on\|off\|status]`, `/codex permissions [default\|yolo\|status]` |
| सक्रिय टर्न रोकना या निर्देशित करना                         | `/codex stop`, `/codex steer <text>`                                                                  |
| वर्तमान बाइंडिंग अलग करना                                  | `/codex detach` (उपनाम `/codex unbind`)                                                               |
| केवल Codex फ़ीडबैक भेजना                                   | `/codex diagnostics [note]`                                                                           |
| ACP/acpx कार्य शुरू करना                                   | ACP/acpx सत्र कमांड, `/codex` नहीं                                                               |

| उपयोग का मामला                                  | कॉन्फ़िगर करें                                                                                               | सत्यापित करें                            | टिप्पणियाँ                                      |
| ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | --------------------------------------- | ------------------------------------------ |
| नेटिव Codex रनटाइम वाला पात्र OpenAI रूट       | बिना किसी लिखित अनुरोध ओवरराइड वाला सटीक आधिकारिक HTTPS Responses/ChatGPT रूट, साथ में सक्षम `codex` Plugin | `/status` में `Runtime: OpenAI Codex` दिखता है | रनटाइम सेट न होने/`auto` होने पर निहित पथ |
| Codex अनुपलब्ध होने पर विफलता के साथ बंद होना  | प्रदाता या मॉडल `agentRuntime.id: "codex"`                                                                | एम्बेडेड फ़ॉलबैक के बजाय टर्न विफल होता है | केवल-Codex डिप्लॉयमेंट के लिए उपयोग करें             |
| OpenClaw के माध्यम से प्रत्यक्ष OpenAI API-कुंजी ट्रैफ़िक | प्रदाता या मॉडल `agentRuntime.id: "openclaw"` और सामान्य OpenAI प्रमाणीकरण                                      | `/status` में OpenClaw रनटाइम दिखता है        | केवल तभी उपयोग करें जब OpenClaw अभिप्रेत हो      |
| पुराना कॉन्फ़िगरेशन                            | पुराने Codex GPT संदर्भ                                                                                     | `openclaw doctor --fix` इसे पुनर्लिखता है     | नया कॉन्फ़िगरेशन इस प्रकार न लिखें                  |
| ACP/acpx Codex एडाप्टर                         | ACP `sessions_spawn({ runtime: "acp" })`                                                                    | ACP कार्य/सत्र स्थिति                    | नेटिव Codex हार्नेस से अलग                          |

`agents.defaults.imageModel` भी इसी उपसर्ग विभाजन का अनुसरण करता है। सामान्य OpenAI रूट के
लिए `openai/gpt-*` और केवल तभी `codex/gpt-*` का उपयोग करें, जब छवि समझ
एक सीमित Codex ऐप-सर्वर टर्न से होकर चलनी चाहिए। Doctor पुराने Codex GPT संदर्भों
को `openai/gpt-*` में पुनर्लिखता है।

## डिप्लॉयमेंट पैटर्न

### मूल Codex डिप्लॉयमेंट

ऐसे OpenAI मॉडल के लिए क्विकस्टार्ट कॉन्फ़िगरेशन का उपयोग करें, जिसका प्रभावी
आधिकारिक HTTPS रूट Codex को निहित रूप से चुनने के योग्य हो:

```json5
{
  plugins: {
    entries: {
      codex: {
        enabled: true,
      },
    },
  },
  agents: {
    defaults: {
      model: "openai/gpt-5.6-sol",
    },
  },
}
```

### मिश्रित प्रदाता डिप्लॉयमेंट

Claude को डिफ़ॉल्ट एजेंट बनाए रखें और एक नामित Codex एजेंट जोड़ें:

```json5
{
  plugins: {
    entries: {
      codex: {
        enabled: true,
      },
    },
  },
  agents: {
    defaults: {
      model: "anthropic/claude-opus-4-6",
    },
    list: [
      {
        id: "main",
        default: true,
        model: "anthropic/claude-opus-4-6",
      },
      {
        id: "codex",
        name: "Codex",
        model: "openai/gpt-5.6-sol",
      },
    ],
  },
}
```

`main` एजेंट अपने सामान्य प्रदाता पथ का उपयोग करता है। `codex`
एजेंट Codex ऐप-सर्वर का उपयोग करता है, बशर्ते उसका प्रभावी OpenAI रूट संगत बना रहे;
जब इसे विफलता पर बंद होने वाली स्पष्ट आवश्यकता बनाना हो, तब मॉडल-स्कोप वाला
`agentRuntime.id: "codex"` जोड़ें।

### विफलता पर बंद होने वाला Codex डिप्लॉयमेंट

बंडल किया गया Plugin उपलब्ध होने पर सटीक पात्र आधिकारिक HTTPS OpenAI रूट Codex
में रिज़ॉल्व हो सकता है। लिखित विफलता-पर-बंद नियम के लिए स्पष्ट रनटाइम नीति जोड़ें:

```json5
{
  models: {
    providers: {
      openai: {
        agentRuntime: {
          id: "codex",
        },
      },
    },
  },
  agents: {
    defaults: {
      model: "openai/gpt-5.6-sol",
    },
  },
  plugins: {
    entries: {
      codex: {
        enabled: true,
      },
    },
  },
}
```

Codex को अनिवार्य करने पर, यदि प्रभावी रूट को Codex-संगत घोषित नहीं किया गया है, Plugin अक्षम है, app-server बहुत पुराना है, या app-server प्रारंभ नहीं हो सकता, तो OpenClaw आरंभिक चरण में ही विफल हो जाता है।

## App-server नीति

डिफ़ॉल्ट रूप से, Plugin stdio ट्रांसपोर्ट के साथ OpenClaw की प्रबंधित Codex बाइनरी को स्थानीय रूप से प्रारंभ करता है। किसी भिन्न एक्ज़ीक्यूटेबल को जानबूझकर चलाने के लिए ही `appServer.command` सेट करें। Codex WebSocket ट्रांसपोर्ट को प्रयोगात्मक और असमर्थित के रूप में वर्गीकृत करता है; इसका उपयोग केवल किसी अन्य स्थान पर पहले से चल रहे app-server के विरुद्ध गैर-प्रोडक्शन परीक्षण के लिए करें:

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

स्थानीय stdio app-server सत्र डिफ़ॉल्ट रूप से विश्वसनीय स्थानीय ऑपरेटर अभिविन्यास का उपयोग करते हैं: `approvalPolicy: "never"`, `approvalsReviewer: "user"`, और `sandbox: "danger-full-access"`। यदि स्थानीय Codex आवश्यकताएँ उस अंतर्निहित YOLO अभिविन्यास की अनुमति नहीं देतीं, तो OpenClaw इसके बजाय अनुमत guardian अनुमतियाँ चुनता है। जब सत्र के लिए OpenClaw sandbox सक्रिय होता है, तो OpenClaw Codex के होस्ट-पक्षीय sandboxing पर निर्भर रहने के बजाय उस टर्न के लिए Codex के मूल Code Mode, उपयोगकर्ता MCP सर्वर और ऐप-समर्थित Plugin निष्पादन को अक्षम कर देता है। इसके बजाय, सामान्य exec/process टूल उपलब्ध होने पर shell पहुँच `sandbox_exec` और `sandbox_process` जैसे OpenClaw sandbox-समर्थित डायनेमिक टूल के माध्यम से होती है।

sandbox से बाहर जाने या अतिरिक्त अनुमतियों से पहले Codex के मूल स्वचालित समीक्षा के लिए सामान्यीकृत OpenClaw exec मोड का उपयोग करें:

```json5
{
  tools: {
    exec: {
      mode: "auto",
    },
  },
  plugins: {
    entries: {
      codex: {
        enabled: true,
      },
    },
  },
}
```

Codex app-server सत्रों के लिए, `tools.exec.mode: "auto"` Codex Guardian-समीक्षित स्वीकृतियों से मैप होता है: स्थानीय आवश्यकताएँ इन मानों की अनुमति दें, तो सामान्यतः `approvalPolicy: "on-request"`, `approvalsReviewer: "auto_review"`, और `sandbox: "workspace-write"`। `tools.exec.mode: "auto"` में, OpenClaw पुराने असुरक्षित Codex `approvalPolicy: "never"` या `sandbox: "danger-full-access"` ओवरराइड सुरक्षित नहीं रखता; जानबूझकर स्वीकृति-रहित Codex अभिविन्यास के लिए `tools.exec.mode: "full"` का उपयोग करें। पुराना `plugins.entries.codex.config.appServer.mode: "guardian"` प्रीसेट अभी भी काम करता है, लेकिन `tools.exec.mode: "auto"` सामान्यीकृत OpenClaw सतह है।

होस्ट exec स्वीकृतियों और ACPX अनुमतियों के साथ मोड-स्तरीय तुलना के लिए [अनुमति मोड](/hi/tools/permission-modes) देखें। प्रत्येक app-server फ़ील्ड, प्रमाणीकरण क्रम, परिवेश पृथक्करण और टाइमआउट व्यवहार के लिए [Codex हार्नेस संदर्भ](/hi/plugins/codex-harness-reference) देखें।

## कमांड और निदान

`codex` Plugin, OpenClaw टेक्स्ट कमांड का समर्थन करने वाले किसी भी चैनल पर `/codex` को स्लैश कमांड के रूप में पंजीकृत करता है।

मूल निष्पादन और नियंत्रण के लिए स्वामी या `operator.admin` Gateway क्लाइंट आवश्यक है: थ्रेड बाँधना या पुनः शुरू करना, टर्न भेजना या रोकना, मॉडल, तेज़-मोड या अनुमति स्थिति बदलना, Compaction या समीक्षा करना, और बाइंडिंग अलग करना। अन्य अधिकृत प्रेषकों के पास केवल-पठन स्थिति, सहायता, खाता, मॉडल, थ्रेड, मूल लक्ष्य, MCP सर्वर, स्किल और बाइंडिंग निरीक्षण कमांड रहते हैं।

सामान्य रूप:

- `/codex status` app-server कनेक्टिविटी, मॉडल, खाता, दर सीमाएँ, MCP सर्वर और स्किल की जाँच करता है।
- `/codex models` सक्रिय Codex app-server मॉडल सूचीबद्ध करता है।
- `/codex threads [filter]` हाल के Codex app-server थ्रेड सूचीबद्ध करता है।
- `/codex goal` संलग्न थ्रेड के मूल Codex लक्ष्य को पढ़ता या अपडेट करता है। Codex का स्वचालित लक्ष्य जारी रखना अक्षम रहता है; OpenClaw अभी स्वायत्त अनुवर्ती टर्न का स्वामी नहीं है।
- `/codex resume <thread-id>` वर्तमान OpenClaw सत्र को किसी मौजूदा Codex थ्रेड से संलग्न करता है।
- `/codex bind [thread-id] [--cwd <path>] [--model <model>] [--provider <provider>]`
  वर्तमान चैट को संलग्न करता है।
- `/codex detach` (या `/codex unbind`) वर्तमान बाइंडिंग को अलग करता है।
- `/codex binding` वर्तमान बाइंडिंग का वर्णन करता है।
- `/codex stop` सक्रिय टर्न रोकता है; `/codex steer <text>` उसे निर्देशित करता है।
- `/codex model <model>`, `/codex fast [on|off|status]`, और `/codex permissions [default|yolo|status]` प्रत्येक वार्तालाप की स्थिति बदलते हैं।
- `/codex compact` Codex app-server से संलग्न थ्रेड की Compaction करने को कहता है।
- `/codex review` संलग्न थ्रेड के लिए Codex की मूल समीक्षा प्रारंभ करता है।
- `/codex diagnostics [note]` संलग्न थ्रेड के लिए Codex फ़ीडबैक भेजने से पहले पूछता है।
- `/codex account` खाता और दर-सीमा स्थिति दिखाता है।
- `/codex mcp` Codex app-server MCP सर्वर की स्थिति सूचीबद्ध करता है।
- `/codex skills` Codex app-server स्किल सूचीबद्ध करता है।
- `/codex plugins list`, `/codex plugins enable <name>`, और `/codex plugins disable <name>` कॉन्फ़िगर किए गए मूल Codex Plugins को प्रबंधित करते हैं।
- `/codex computer-use [status|install]` Codex Computer Use को प्रबंधित करता है।
- `/codex help` पूरा कमांड ट्री सूचीबद्ध करता है।

अधिकांश सहायता रिपोर्टों के लिए, उस वार्तालाप में `/diagnostics [note]` से प्रारंभ करें जहाँ बग हुआ था। यह एक Gateway निदान रिपोर्ट बनाता है और Codex हार्नेस सत्रों के लिए संबंधित Codex फ़ीडबैक बंडल भेजने की स्वीकृति माँगता है। गोपनीयता मॉडल और समूह चैट व्यवहार के लिए [निदान निर्यात](/hi/gateway/diagnostics) देखें। `/codex diagnostics [note]` का उपयोग केवल तभी करें जब आपको पूर्ण Gateway निदान बंडल के बिना वर्तमान में संलग्न थ्रेड के लिए विशेष रूप से Codex फ़ीडबैक अपलोड करना हो।

### Codex थ्रेड का स्थानीय रूप से निरीक्षण करें

किसी खराब Codex रन का निरीक्षण करने का सबसे तेज़ तरीका प्रायः मूल Codex थ्रेड को सीधे खोलना है:

```bash
codex resume <thread-id>
```

पूर्ण हुए `/diagnostics` उत्तर, `/codex binding`, या `/codex threads [filter]` से थ्रेड आईडी प्राप्त करें।

अपलोड कार्यविधि और रनटाइम-स्तरीय निदान सीमाओं के लिए [Codex हार्नेस रनटाइम](/hi/plugins/codex-harness-runtime#codex-feedback-upload) देखें।

### प्रमाणीकरण क्रम

डिफ़ॉल्ट प्रति-एजेंट होम में, प्रमाणीकरण इस क्रम में चुना जाता है:

1. एजेंट के लिए क्रमबद्ध OpenAI प्रमाणीकरण प्रोफ़ाइल, अधिमानतः `auth.order.openai` के अंतर्गत। पुराने विरासती Codex प्रमाणीकरण प्रोफ़ाइल आईडी और पुराने Codex प्रमाणीकरण क्रम को माइग्रेट करने के लिए `openclaw doctor --fix` चलाएँ।
2. उस एजेंट के Codex होम में app-server का मौजूदा खाता।
3. केवल स्थानीय stdio app-server लॉन्च के लिए, `CODEX_API_KEY`, फिर `OPENAI_API_KEY`, जब कोई app-server खाता मौजूद न हो और OpenAI प्रमाणीकरण अभी भी आवश्यक हो।

जब OpenClaw को ChatGPT सदस्यता-शैली की Codex प्रमाणीकरण प्रोफ़ाइल दिखाई देती है, तो वह उत्पन्न किए गए Codex चाइल्ड प्रोसेस से `CODEX_API_KEY` और `OPENAI_API_KEY` हटा देता है। इससे Gateway-स्तरीय API कुंजियाँ एम्बेडिंग या प्रत्यक्ष OpenAI मॉडल के लिए उपलब्ध रहती हैं, जबकि मूल Codex app-server टर्न अनजाने में API के माध्यम से बिल नहीं होते। स्पष्ट Codex API-कुंजी प्रोफ़ाइल और स्थानीय stdio परिवेश-कुंजी फ़ॉलबैक, इनहेरिट किए गए चाइल्ड-प्रोसेस परिवेश के बजाय app-server लॉगिन का उपयोग करते हैं। WebSocket app-server कनेक्शन को Gateway परिवेश API-कुंजी फ़ॉलबैक नहीं मिलता; स्पष्ट प्रमाणीकरण प्रोफ़ाइल या रिमोट app-server के अपने खाते का उपयोग करें।

यदि कोई सदस्यता प्रोफ़ाइल Codex उपयोग सीमा तक पहुँचती है, तो Codex द्वारा रीसेट समय रिपोर्ट किए जाने पर OpenClaw उसे दर्ज करता है और उसी Codex रन के लिए अगली क्रमबद्ध प्रमाणीकरण प्रोफ़ाइल आज़माता है। रीसेट समय बीतने पर, चयनित `openai/gpt-*` मॉडल या Codex रनटाइम को बदले बिना सदस्यता प्रोफ़ाइल फिर पात्र हो जाती है।

मूल Codex Plugins कॉन्फ़िगर होने पर, OpenClaw Plugin-स्वामित्व वाले ऐप्स को Codex थ्रेड में प्रदर्शित करने से पहले कनेक्ट किए गए app-server के माध्यम से उन Plugins को इंस्टॉल या रीफ़्रेश करता है। ऐप आईडी, पहुँच-योग्यता और मेटाडेटा के लिए `app/list` प्रामाणिक स्रोत बना रहता है, लेकिन प्रत्येक थ्रेड के लिए सक्षम करने के निर्णय का स्वामी OpenClaw है: यदि नीति किसी सूचीबद्ध सुलभ ऐप की अनुमति देती है, तो `app/list` द्वारा वर्तमान में उस ऐप को अक्षम रिपोर्ट करने पर भी OpenClaw `thread/start.config.apps[appId].enabled = true` भेजता है। यह पथ अज्ञात आईडी के लिए ऐप इंस्टॉलेशन नहीं गढ़ता; OpenClaw केवल `plugin/install` वाले मार्केटप्लेस Plugins को सक्रिय करता है और फिर इन्वेंटरी रीफ़्रेश करता है।

### परिवेश पृथक्करण

स्थानीय stdio app-server लॉन्च के लिए, OpenClaw `CODEX_HOME` को प्रति-एजेंट डायरेक्टरी पर सेट करता है, ताकि Codex कॉन्फ़िगरेशन, प्रमाणीकरण/खाता फ़ाइलें, Plugin कैश/डेटा और मूल थ्रेड स्थिति डिफ़ॉल्ट रूप से ऑपरेटर के व्यक्तिगत `~/.codex` को पढ़ें या उसमें लिखें नहीं। OpenClaw सामान्य प्रोसेस `HOME` को सुरक्षित रखता है; Codex द्वारा चलाए गए सबप्रोसेस अभी भी उपयोगकर्ता-होम कॉन्फ़िगरेशन और टोकन खोज सकते हैं, और Codex साझा `$HOME/.agents/skills` तथा `$HOME/.agents/plugins/marketplace.json` प्रविष्टियाँ खोज सकता है। `appServer.homeScope: "user"` के साथ, OpenClaw इसके बजाय मूल उपयोगकर्ता Codex होम और उसके मौजूदा खाते का उपयोग करता है तथा OpenClaw प्रमाणीकरण प्रोफ़ाइल इंजेक्ट नहीं करता।

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

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

`appServer.clearEnv` केवल उत्पन्न किए गए Codex app-server चाइल्ड प्रोसेस को प्रभावित करता है। स्थानीय लॉन्च सामान्यीकरण के दौरान OpenClaw इस सूची से `CODEX_HOME` और `HOME` को हटा देता है: `CODEX_HOME` चयनित एजेंट या उपयोगकर्ता स्कोप की ओर इंगित करता रहता है, और `HOME` इनहेरिट होता रहता है ताकि सबप्रोसेस सामान्य उपयोगकर्ता-होम स्थिति का उपयोग कर सकें।

### डायनेमिक टूल और वेब खोज

Codex डायनेमिक टूल डिफ़ॉल्ट रूप से `searchable` लोडिंग का उपयोग करते हैं। OpenClaw सामान्यतः Codex के मूल कार्यस्थान संचालन की नकल करने वाले डायनेमिक टूल प्रदर्शित नहीं करता: `read`, `write`, `edit`, `apply_patch`, `exec`, `process`, `update_plan`, `get_goal`, `create_goal`, `update_goal`, `tool_call`, `tool_describe`, `tool_search`, और `tool_search_code`। लक्ष्य संचालन Codex के मूल भाग बने रहते हैं, इसलिए OpenClaw दूसरे लक्ष्य स्टोर को Codex टर्न में प्रक्षेपित नहीं करता। अधिकांश शेष OpenClaw एकीकरण टूल, जैसे मैसेजिंग, मीडिया, Cron, ब्राउज़र, नोड, Gateway और `heartbeat_respond`, `openclaw` नेमस्पेस के अंतर्गत Codex टूल खोज के माध्यम से उपलब्ध होते हैं, जिससे आरंभिक मॉडल संदर्भ छोटा रहता है। प्रतिबंधित-टर्न shell फ़ॉलबैक `exec` और `process` के लिए अपवाद है, जब कोई सीमित अनुमत-सूची मूल Code Mode को अक्षम करती है; रनटाइम अनुमत-सूचियाँ और `codexDynamicToolsExclude` तब भी लागू होते हैं।

OpenClaw के `computer` टूल सहित `catalogMode: "direct-only"` चिह्नित टूल इसके बजाय `openclaw_direct` नेमस्पेस का उपयोग करते हैं। Codex उस नेमस्पेस को `DirectModelOnly` मानता है, इसलिए वे टूल नेस्टेड Code Mode `tools.*` कॉल से गुज़रने के बजाय सामान्य और केवल-Code-Mode थ्रेड में सीधे मॉडल को दिखाई देते हैं।

खोज सक्षम होने और कोई प्रबंधित प्रदाता चयनित न होने पर वेब खोज डिफ़ॉल्ट रूप से Codex के होस्ट किए गए `web_search` टूल का उपयोग करती है। मूल होस्टेड खोज और OpenClaw का प्रबंधित `web_search` डायनेमिक टूल परस्पर अनन्य हैं, ताकि प्रबंधित खोज मूल डोमेन प्रतिबंधों को बायपास न कर सके। होस्टेड खोज अनुपलब्ध होने, स्पष्ट रूप से अक्षम होने या किसी चयनित प्रबंधित प्रदाता से प्रतिस्थापित होने पर OpenClaw प्रबंधित टूल का उपयोग करता है। OpenClaw Codex के स्वतंत्र `web.run` एक्सटेंशन को अक्षम रखता है, क्योंकि प्रोडक्शन app-server ट्रैफ़िक उसके उपयोगकर्ता-परिभाषित `web` नेमस्पेस को अस्वीकार करता है। `tools.web.search.enabled: false` दोनों पथ अक्षम करता है, और टूल-अक्षम केवल-LLM रन भी ऐसा ही करते हैं। Codex `"cached"` को प्राथमिकता मानता है और अप्रतिबंधित app-server टर्न के लिए उसे सक्रिय बाहरी पहुँच में बदलता है। मूल `allowedDomains` सेट होने पर स्वचालित प्रबंधित फ़ॉलबैक बंद अवस्था में विफल होता है, ताकि अनुमत-सूची को बायपास न किया जा सके। स्थायी प्रभावी खोज-नीति परिवर्तन अगले टर्न से पहले बँधे हुए Codex थ्रेड को बदल देते हैं; प्रत्येक टर्न के अस्थायी प्रतिबंध एक अस्थायी प्रतिबंधित थ्रेड का उपयोग करते हैं और बाद में पुनः शुरू करने के लिए मौजूदा बाइंडिंग सुरक्षित रखते हैं।

`sessions_yield`, `sessions_spawn`, और केवल message-tool वाले स्रोत उत्तर सीधे बने रहते हैं, क्योंकि वे टर्न-नियंत्रण या प्रत्यायोजन अनुबंध हैं। मार्गदर्शन अब भी प्राथमिक Codex उप-एजेंट सतह के रूप में Codex के मूल `spawn_agent` को वरीयता देता है, जबकि स्पष्ट OpenClaw या ACP प्रत्यायोजन को `sessions_spawn` के माध्यम से सीधे कॉल किया जा सकता है। Codex Code Mode में, सामान्य OpenClaw डायनेमिक-टूल परिणाम JavaScript ऑब्जेक्ट के बजाय JSON टेक्स्ट होते हैं, इसलिए फ़ील्ड पढ़ने से पहले JSON जैसे दिखने वाले परिणामों को पार्स करें। Codex नेस्टेड डायनेमिक कॉल को क्रमिक रूप से भी निष्पादित करता है; `Promise.all` से उन्हें समवर्ती रूप से लॉन्च करने की अपेक्षा करने के बजाय, एक सीमित लूप में कई `sessions_spawn` कॉल सबमिट करें। पहले से स्वीकार किए गए चाइल्ड बाद की कॉल सबमिट किए जाने के दौरान भी साथ-साथ चल सकते हैं। संपूर्ण पैटर्न के लिए
[Swarm](/hi/tools/swarm#use-swarm-from-other-harnesses) देखें।
Heartbeat सहयोग निर्देश
Codex को Heartbeat टर्न समाप्त करने से पहले `heartbeat_respond` खोजने के लिए कहते हैं,
जब टूल पहले से लोड न हो।

`codexDynamicToolsLoading: "direct"` केवल तभी सेट करें, जब ऐसे कस्टम
Codex ऐप-सर्वर से कनेक्ट किया जा रहा हो जो स्थगित डायनेमिक टूल खोज नहीं सकता, या जब
पूर्ण टूल पेलोड को डीबग किया जा रहा हो।

### कॉन्फ़िगरेशन फ़ील्ड

समर्थित शीर्ष-स्तरीय Codex Plugin फ़ील्ड:

| फ़ील्ड                      | डिफ़ॉल्ट        | अर्थ                                                                                  |
| -------------------------- | -------------- | ---------------------------------------------------------------------------------------- |
| `codexDynamicToolsLoading` | `"searchable"` | OpenClaw डायनेमिक टूल को सीधे आरंभिक Codex टूल संदर्भ में रखने के लिए `"direct"` का उपयोग करें। |
| `codexDynamicToolsExclude` | `[]`           | Codex ऐप-सर्वर टर्न से हटाए जाने वाले अतिरिक्त OpenClaw डायनेमिक टूल नाम।              |
| `codexPlugins`             | अक्षम       | माइग्रेट किए गए स्रोत-इंस्टॉल्ड क्यूरेटेड Plugin के लिए मूल Codex Plugin/ऐप समर्थन।           |
| `sessionCatalog`           | सक्षम        | इस Gateway और पात्र पेयर किए गए Node पर मूल Codex सत्रों के लिए साइडबार खोज।   |
| `supervision`              | अक्षम       | एजेंट-सामना करने वाली मूल-सत्र ट्रांसक्रिप्ट और लेखन-नियंत्रण नीति।                         |

समर्थित `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 App Server URL या `unix://` URL। स्पष्ट रूप से दिया गया खाली Unix पथ मानक उपयोगकर्ता-होम नियंत्रण सॉकेट चुनता है।                                                                                                                                                                                                                                                                          |
| `authToken`                                   | सेट नहीं                                                  | WebSocket ट्रांसपोर्ट के लिए Bearer टोकन। शाब्दिक स्ट्रिंग या `${CODEX_APP_SERVER_TOKEN}` जैसे SecretInput को स्वीकार करता है।                                                                                                                                                                                                                                                                              |
| `headers`                                     | `{}`                                                   | अतिरिक्त WebSocket हेडर। हेडर मान शाब्दिक स्ट्रिंग या SecretInput मान स्वीकार करते हैं, उदाहरण के लिए `x-codex-client-session-token: "${CODEX_CLIENT_SESSION_TOKEN}"`।                                                                                                                                                                                                                               |
| `clearEnv`                                    | `[]`                                                   | OpenClaw द्वारा अपना इनहेरिट किया गया परिवेश बनाने के बाद आरंभ की गई stdio app-server प्रक्रिया से हटाए जाने वाले अतिरिक्त पर्यावरण चर नाम। OpenClaw स्थानीय लॉन्च के लिए चयनित `CODEX_HOME` और इनहेरिट किया गया `HOME` बनाए रखता है।                                                                                                                                                                           |
| `codeModeOnly`                                | `false`                                                | Codex के केवल-कोड-मोड टूल पृष्ठभाग का वैकल्पिक चयन करें। सामान्य OpenClaw डायनेमिक टूल नेस्टेड `tools.*` कॉल के माध्यम से उपलब्ध रहते हैं; `openclaw_direct` टूल सीधे मॉडल को दिखाई देते रहते हैं।                                                                                                                                                                                                             |
| `remoteWorkspaceRoot`                         | सेट नहीं                                                  | दूरस्थ Codex app-server कार्यस्थान रूट। इसे सेट करने पर, OpenClaw हल किए गए OpenClaw कार्यस्थान से स्थानीय कार्यस्थान रूट का अनुमान लगाता है, इस दूरस्थ रूट के अंतर्गत वर्तमान cwd प्रत्यय को सुरक्षित रखता है और Codex को केवल अंतिम app-server cwd भेजता है। यदि cwd हल किए गए OpenClaw कार्यस्थान रूट से बाहर है, तो OpenClaw दूरस्थ app-server को Gateway-स्थानीय पथ भेजने के बजाय सुरक्षित रूप से विफल हो जाता है। |
| `requestTimeoutMs`                            | `60000`                                                | app-server नियंत्रण-प्लेन कॉल की समय-सीमा।                                                                                                                                                                                                                                                                                                                                                     |
| `turnCompletionIdleTimeoutMs`                 | `60000`                                                | Codex द्वारा किसी टर्न को स्वीकार करने के बाद या टर्न-स्कोप वाले app-server अनुरोध के बाद, जब OpenClaw `turn/completed` की प्रतीक्षा करता है, तब की शांत अवधि।                                                                                                                                                                                                                                                                    |
| `turnAssistantCompletionIdleTimeoutMs`        | `10000`                                                | अंतिम/गैर-कमेंट्री सहायक आइटम या टूल-पूर्व कच्चे सहायक समापन द्वारा सहायक-आउटपुट रिलीज़ सक्रिय करने के बाद, जब OpenClaw अब भी `turn/completed` की प्रतीक्षा करता है, तब की शांत अवधि। इसे बढ़ाने से OpenClaw के व्यवधान डालकर सत्र लेन रिलीज़ करने से पहले Codex को `turn/completed` उत्सर्जित करने के लिए अधिक समय मिलता है।                                                                                            |
| `postToolRawAssistantCompletionIdleTimeoutMs` | `300000`                                               | टूल हैंडऑफ़, मूल टूल समापन, टूल-पश्चात कच्ची सहायक प्रगति, कच्चे तर्क समापन या तर्क प्रगति के बाद, जब OpenClaw `turn/completed` की प्रतीक्षा करता है, तब उपयोग होने वाला समापन-निष्क्रियता और प्रगति गार्ड। इसका उपयोग विश्वसनीय या भारी कार्यभारों के लिए करें, जहाँ टूल-पश्चात संश्लेषण अंतिम सहायक रिलीज़ बजट से अधिक समय तक वैध रूप से शांत रह सकता है।                                |
| `mode`                                        | जब तक स्थानीय Codex आवश्यकताएँ YOLO को अस्वीकार न करें, `"yolo"` | YOLO या संरक्षक-समीक्षित निष्पादन के लिए प्रीसेट। `danger-full-access`, `never` अनुमोदन या `user` समीक्षक को छोड़ने वाली स्थानीय stdio आवश्यकताएँ अंतर्निहित डिफ़ॉल्ट को संरक्षक बना देती हैं।                                                                                                                                                                                                           |
| `approvalPolicy`                              | `"never"` या अनुमत संरक्षक अनुमोदन नीति       | थ्रेड आरंभ/पुनः आरंभ/टर्न को भेजी जाने वाली मूल Codex अनुमोदन नीति। अनुमति होने पर संरक्षक डिफ़ॉल्ट `"on-request"` को प्राथमिकता देते हैं।                                                                                                                                                                                                                                                                            |
| `sandbox`                                     | `"danger-full-access"` या अनुमत संरक्षक सैंडबॉक्स  | थ्रेड आरंभ/पुनः आरंभ को भेजा जाने वाला मूल Codex सैंडबॉक्स मोड। अनुमति होने पर संरक्षक डिफ़ॉल्ट `"workspace-write"` को प्राथमिकता देते हैं, अन्यथा `"read-only"` को। जब OpenClaw सैंडबॉक्स सक्रिय होता है, तो `danger-full-access` टर्न OpenClaw सैंडबॉक्स की इग्रेस सेटिंग से प्राप्त नेटवर्क पहुँच के साथ Codex `workspace-write` का उपयोग करते हैं।                                                                                     |
| `approvalsReviewer`                           | `"user"` या अनुमत संरक्षक समीक्षक               | अनुमति होने पर Codex को मूल अनुमोदन प्रॉम्प्ट की समीक्षा करने देने के लिए `"auto_review"` का उपयोग करें, अन्यथा `guardian_subagent` या `user` का। `guardian_subagent` एक लेगेसी उपनाम बना रहता है।                                                                                                                                                                                                                              |
| `serviceTier`                                 | सेट नहीं                                                  | वैकल्पिक Codex app-server सेवा स्तर। `"priority"` तेज़-मोड रूटिंग सक्षम करता है, `"flex"` फ्लेक्स प्रोसेसिंग का अनुरोध करता है, `null` ओवरराइड हटाता है और लेगेसी `"fast"` को `"priority"` के रूप में स्वीकार किया जाता है।                                                                                                                                                                                                 |
| `networkProxy`                                | अक्षम                                               | app-server कमांड के लिए Codex अनुमति-प्रोफ़ाइल नेटवर्किंग का वैकल्पिक चयन करें। OpenClaw चयनित `permissions.<profile>.network` कॉन्फ़िगरेशन परिभाषित करता है और `sandbox` भेजने के बजाय `default_permissions` के साथ उसे चुनता है।                                                                                                                                                                             |
| `experimental.sandboxExecServer`              | `false`                                                | पूर्वावलोकन वैकल्पिक चयन, जो समर्थित Codex app-server के साथ OpenClaw सैंडबॉक्स-समर्थित Codex परिवेश पंजीकृत करता है, ताकि मूल Codex निष्पादन सक्रिय OpenClaw सैंडबॉक्स के भीतर चल सके।                                                                                                                                                                                                            |

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

```json5
{
  plugins: {
    entries: {
      codex: {
        config: {
          appServer: {
            sandbox: "workspace-write",
            networkProxy: {
              enabled: true,
              domains: {
                "api.openai.com": "allow",
                "blocked.example.com": "deny",
              },
              unixSockets: {
                "/tmp/proxy.sock": "allow",
                "/tmp/blocked.sock": "none",
              },
              allowUpstreamProxy: true,
              proxyUrl: "http://127.0.0.1:3128",
            },
          },
        },
      },
    },
  },
}
```

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

### डायनेमिक टूल कॉल टाइमआउट

OpenClaw के स्वामित्व वाली डायनेमिक टूल कॉल
`appServer.requestTimeoutMs` से स्वतंत्र रूप से सीमित होती हैं: Codex `item/tool/call` अनुरोध डिफ़ॉल्ट रूप से
90 सेकंड के OpenClaw वॉचडॉग का उपयोग करते हैं। प्रति-कॉल धनात्मक `timeoutMs`
आर्ग्युमेंट उस विशिष्ट टूल बजट को बढ़ाता या घटाता है, जिसकी अधिकतम सीमा 600000 ms है।
जब टूल कॉल अपना टाइमआउट प्रदान नहीं करती, तब `image_generate` टूल
`agents.defaults.mediaModels.image.timeoutMs` का उपयोग करता है; अन्यथा इमेज जनरेशन के लिए 120 सेकंड का
डिफ़ॉल्ट उपयोग करता है। मीडिया-अंडरस्टैंडिंग `image` टूल
चयनित इमेज-सक्षम `tools.media.models[]` प्रविष्टि के `timeoutSeconds` या उसके 60 सेकंड के मीडिया डिफ़ॉल्ट का उपयोग करता है;
इमेज को समझने के लिए, वह टाइमआउट स्वयं अनुरोध पर लागू होता है और पहले किए गए
तैयारी कार्य से कम नहीं होता। टाइमआउट होने पर, OpenClaw जहाँ समर्थित हो वहाँ टूल
सिग्नल को निरस्त करता है और Codex को विफल डायनेमिक-टूल प्रतिक्रिया लौटाता है,
ताकि सत्र को `processing` में छोड़े बिना टर्न जारी रह सके।
यह वॉचडॉग बाहरी डायनेमिक `item/tool/call` बजट है; प्रदाता-विशिष्ट
अनुरोध टाइमआउट उस कॉल के भीतर चलते हैं और अपने स्वयं के टाइमआउट सिमैंटिक्स बनाए रखते हैं।

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

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

### स्थानीय परीक्षण एनवायरनमेंट ओवरराइड

- `OPENCLAW_CODEX_APP_SERVER_BIN`, `appServer.command` के अनसेट होने पर
  प्रबंधित बाइनरी को बायपास करता है।
- `OPENCLAW_CODEX_APP_SERVER_ARGS`
- `OPENCLAW_CODEX_APP_SERVER_MODE=yolo|guardian`
- `OPENCLAW_CODEX_APP_SERVER_APPROVAL_POLICY`
- `OPENCLAW_CODEX_APP_SERVER_SANDBOX`

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

## नेटिव Codex plugins

नेटिव Codex plugin समर्थन, OpenClaw हार्नेस टर्न वाले उसी Codex थ्रेड में
Codex ऐप-सर्वर की अपनी ऐप और plugin क्षमताओं का उपयोग करता है। OpenClaw,
Codex plugins को कृत्रिम `codex_plugin_*` OpenClaw डायनेमिक टूल में
रूपांतरित नहीं करता।

`codexPlugins` केवल उन सत्रों को प्रभावित करता है जो नेटिव Codex हार्नेस चुनते हैं।
इसका बिल्ट-इन हार्नेस रन, सामान्य OpenAI प्रदाता रन, ACP
वार्तालाप बाइंडिंग या अन्य हार्नेस पर कोई प्रभाव नहीं पड़ता।

न्यूनतम माइग्रेट किया गया कॉन्फ़िगरेशन:

```json5
{
  plugins: {
    entries: {
      codex: {
        enabled: true,
        config: {
          codexPlugins: {
            enabled: true,
            allow_destructive_actions: true,
            plugins: {
              "google-calendar": {
                enabled: true,
                marketplaceName: "openai-curated",
                pluginName: "google-calendar",
              },
            },
          },
        },
      },
    },
  },
}
```

थ्रेड ऐप कॉन्फ़िगरेशन की गणना तब की जाती है, जब OpenClaw कोई Codex हार्नेस
सत्र स्थापित करता है या बासी Codex थ्रेड बाइंडिंग को बदलता है; इसकी गणना प्रत्येक
टर्न पर दोबारा नहीं की जाती। `codexPlugins` बदलने के बाद, `/new`,
`/reset` का उपयोग करें या Gateway को पुनः शुरू करें, ताकि भविष्य के Codex हार्नेस
सत्र अपडेट किए गए ऐप सेट के साथ शुरू हों।

माइग्रेशन पात्रता, ऐप इन्वेंट्री, विध्वंसक कार्रवाई नीति,
एलिसिटेशन और नेटिव plugin डायग्नोस्टिक्स के लिए,
[नेटिव Codex plugins](/hi/plugins/codex-native-plugins) देखें।

OpenAI की ओर ऐप और plugin एक्सेस को साइन-इन किए हुए Codex
खाते द्वारा और Business तथा Enterprise/Edu वर्कस्पेस के लिए वर्कस्पेस ऐप
नियंत्रणों द्वारा नियंत्रित किया जाता है। OpenAI के खाते और वर्कस्पेस-नियंत्रण अवलोकन के लिए
[अपने ChatGPT प्लान के साथ Codex का उपयोग करना](https://help.openai.com/en/articles/11369540-using-codex-with-your-chatgpt-plan)
देखें।

## कंप्यूटर उपयोग

कंप्यूटर उपयोग की अपनी सेटअप मार्गदर्शिका है:
[Codex कंप्यूटर उपयोग](/hi/plugins/codex-computer-use)।

संक्षिप्त रूप: OpenClaw डेस्कटॉप-नियंत्रण ऐप को वेंडर नहीं करता या स्वयं
डेस्कटॉप कार्रवाइयाँ निष्पादित नहीं करता। यह Codex ऐप-सर्वर तैयार करता है, सत्यापित करता है कि
`computer-use` MCP सर्वर उपलब्ध है, और फिर Codex-मोड टर्न के दौरान नेटिव
MCP टूल कॉल का स्वामित्व Codex को देता है।

## रनटाइम सीमाएँ

Codex हार्नेस केवल निम्न-स्तरीय एम्बेडेड एजेंट एक्ज़ीक्यूटर को बदलता है।

- OpenClaw डायनेमिक टूल समर्थित हैं। Codex उन टूल को निष्पादित करने के लिए OpenClaw से कहता है,
  इसलिए OpenClaw निष्पादन पथ में बना रहता है।
- Codex-नेटिव शेल, पैच, MCP और नेटिव ऐप टूल का स्वामित्व Codex के पास है।
  OpenClaw समर्थित रिले के माध्यम से चयनित नेटिव इवेंट देख या अवरुद्ध कर सकता है,
  लेकिन यह नेटिव टूल आर्ग्युमेंट को दोबारा नहीं लिखता।
- Codex नेटिव Compaction का स्वामी है। OpenClaw चैनल इतिहास,
  खोज, `/new`, `/reset` और भविष्य में मॉडल या हार्नेस
  बदलने के लिए ट्रांसक्रिप्ट मिरर बनाए रखता है, लेकिन Codex Compaction को OpenClaw या
  कॉन्टेक्स्ट-इंजन सारांशकर्ता से प्रतिस्थापित नहीं करता।
- मीडिया जनरेशन, मीडिया अंडरस्टैंडिंग, TTS, अनुमोदन और मैसेजिंग-टूल
  आउटपुट संबंधित OpenClaw प्रदाता/मॉडल सेटिंग के माध्यम से जारी रहते हैं।
- `tool_result_persist` OpenClaw के स्वामित्व वाले ट्रांसक्रिप्ट टूल परिणामों पर लागू होता है,
  Codex-नेटिव टूल परिणाम रिकॉर्ड पर नहीं।

हुक लेयर, समर्थित V1 सतहों, नेटिव अनुमति प्रबंधन, कतार
निर्देशन, Codex फ़ीडबैक अपलोड तंत्र और Compaction विवरण के लिए,
[Codex हार्नेस रनटाइम](/hi/plugins/codex-harness-runtime) देखें।

## समस्या निवारण

**Codex सामान्य `/model` प्रदाता के रूप में दिखाई नहीं देता:** नए
कॉन्फ़िगरेशन के लिए यह अपेक्षित है। कोई `openai/gpt-*` मॉडल चुनें,
`plugins.entries.codex.enabled` सक्षम करें और जाँचें कि क्या `plugins.allow`,
`codex` को बाहर करता है।

**OpenClaw, Codex के बजाय बिल्ट-इन हार्नेस का उपयोग करता है:** पुष्टि करें कि प्रभावी
रूट सटीक आधिकारिक HTTPS Platform Responses या ChatGPT Responses रूट है,
जिसमें कोई लिखित अनुरोध ओवरराइड नहीं है, और Codex Plugin इंस्टॉल तथा
सक्षम है। केवल `openai/gpt-*` प्रीफ़िक्स पर्याप्त नहीं है। परीक्षण के दौरान सख्त प्रमाण के लिए,
प्रदाता या मॉडल `agentRuntime.id: "codex"` सेट करें; रूट या हार्नेस असंगत होने पर
फ़ोर्स किया गया Codex फ़ॉलबैक करने के बजाय विफल होता है।

**OpenAI Codex रनटाइम API-कुंजी पथ पर फ़ॉलबैक करता है:** ऐसा संशोधित
Gateway अंश एकत्र करें जो मॉडल, रनटाइम, चयनित प्रदाता और
विफलता दिखाता हो। प्रभावित सहयोगियों से उनके OpenClaw होस्ट पर यह केवल-पठन कमांड चलाने को कहें:

```bash
(
  pattern='openai/gpt-5\.[45]|openai[-]codex|agentRuntime(\.id)?|harnessRuntime|Runtime: OpenAI Codex|legacy OpenAI Codex prefix|resolveSelectedOpenAIRuntimeProvider|candidateProvider[": ]+openai|status[": ]+401|Incorrect API key|No API key|api-key path|API-key path|OAuth'

  if ls /tmp/openclaw/openclaw-*.log >/dev/null 2>&1; then
    grep -E -i -n "$pattern" /tmp/openclaw/openclaw-*.log 2>/dev/null || true
  else
    journalctl --user -u openclaw-gateway --since today --no-pager 2>/dev/null \
      | grep -E -i "$pattern" || true
  fi
) | sed -E \
    -e 's/(Authorization: Bearer )[A-Za-z0-9._~+\/-]+/\1[REDACTED]/Ig' \
    -e 's/(Bearer )[A-Za-z0-9._~+\/-]+/\1[REDACTED]/Ig' \
    -e 's/(api[_ -]?key[=: ]+)[^ ,}"]+/\1[REDACTED]/Ig' \
    -e 's/(OPENAI_API_KEY[=: ]+)[^ ,}"]+/\1[REDACTED]/Ig' \
    -e 's/sk-[A-Za-z0-9_-]{12,}/sk-[REDACTED]/g' \
    -e 's/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/[EMAIL-REDACTED]/g' \
  | tail -200
```

उपयोगी अंशों में सामान्यतः `openai/gpt-5.6-sol` या `openai/gpt-5.6-luna`,
`Runtime: OpenAI Codex`, `agentRuntime.id` या `harnessRuntime`,
`candidateProvider: "openai"`, और `401`, `Incorrect API key` या
`No API key` परिणाम शामिल होते हैं। सुधारे गए रन में सामान्य OpenAI API-कुंजी
विफलता के बजाय OpenAI OAuth पथ दिखना चाहिए।

**लेगेसी Codex मॉडल रेफ़रेंस कॉन्फ़िगरेशन मौजूद है:** `openclaw doctor --fix` चलाएँ।
Doctor लेगेसी मॉडल रेफ़रेंस को `openai/*` में फिर से लिखता है, पुराने सेशन और
पूरे-एजेंट के रनटाइम पिन हटाता है, और मौजूदा ऑथ-प्रोफ़ाइल ओवरराइड सुरक्षित रखता है।

**ऐप-सर्वर अस्वीकार किया गया है:** बंडल किए गए `0.145.0` के माध्यम से
`0.143.0` का एक स्थिर Codex ऐप-सर्वर इस्तेमाल करें। प्रीरिलीज़, बिल्ड-सफ़िक्स वाले संस्करण और
नए, अप्रमाणित रिलीज़ अस्वीकार कर दिए जाते हैं, क्योंकि OpenClaw जनरेट किए गए स्कीमा को
बंडल किए गए ऐप-सर्वर संस्करण के विरुद्ध सत्यापित करता है।

**`/codex status` कनेक्ट नहीं कर सकता:** जाँचें कि `codex` Plugin
सक्षम है, अलाउलिस्ट कॉन्फ़िगर होने पर `plugins.allow` में यह शामिल है,
और कोई भी कस्टम `appServer.command`, `url`, `authToken` या
हेडर मान्य हैं।

**Codex ऐप-सर्वर बहुत अधिक मेमोरी इस्तेमाल करता है:** पहले दोनों प्रक्रियाओं में
अंतर करें। OpenClaw स्थानीय Codex ऐप-सर्वर को एक अलग Rust चाइल्ड के रूप में चलाता है।
`NODE_OPTIONS=--max-old-space-size=...` केवल Gateway के Node.js V8
हीप को बदलता है; यह Codex को सीमित या बड़ा नहीं करता। प्रबंधित Gateway इंस्टॉलेशन पहले से
ही एक अनुकूली V8 हीप चुनते हैं, और इसे बढ़ाने से Codex के लिए होस्ट मेमोरी कम बच सकती है। Gateway पर दबाव के लिए
[Gateway मेमोरी समस्या-निवारण](/hi/gateway/troubleshooting#gateway-exits-during-high-memory-use)
का उपयोग करें और Codex चाइल्ड के लिए होस्ट या कंटेनर मेमोरी की जाँच करें।

बंडल किए गए Codex में कोई हीप या RSS सीमा और कॉन्फ़िगर करने योग्य निष्क्रिय-अनलोड
विलंब नहीं है। अंतिम क्लाइंट के अनसब्सक्राइब करने के बाद, कोई निष्क्रिय थ्रेड
30 मिनट तक लोड रह सकता है। सीमित संसाधनों वाले होस्ट पर, Gateway हीप बढ़ाने से पहले
नेटिव Codex सबएजेंट फ़ैन-आउट कम करें:

```json5
{
  plugins: {
    entries: {
      codex: {
        config: {
          appServer: {
            args: ["-c", "agents.max_threads=3", "app-server", "--listen", "stdio://"],
          },
        },
      },
    },
  },
}
```

यह सेटिंग बंडल किए गए Codex के डिफ़ॉल्ट
मल्टी-एजेंट बैकएंड के लिए नेटिव चाइल्ड थ्रेड सीमित करती है। यदि आप Codex मल्टी-एजेंट v2 को स्पष्ट रूप से सक्षम करते हैं, तो
इसके बजाय `features.multi_agent_v2.max_concurrent_threads_per_session=3` इस्तेमाल करें; v2
सीमा में रूट थ्रेड शामिल है और इसे `agents.max_threads` के साथ संयोजित नहीं किया जा सकता।
Codex के लिए अधिक उपलब्ध मेमोरी पाने हेतु होस्ट, कंटेनर या cgroup मेमोरी
आवंटन बढ़ाएँ। OS की हार्ड सीमा Codex पर बैकप्रेशर डालने के बजाय उसे समाप्त कर सकती है।

**मॉडल खोज धीमी है:** `plugins.entries.codex.config.discovery.timeoutMs` कम करें
या खोज अक्षम करें।
[Codex हार्नेस संदर्भ](/hi/plugins/codex-harness-reference#model-discovery) देखें।

**WebSocket ट्रांसपोर्ट तुरंत विफल हो जाता है:** `appServer.url`,
`authToken`, हेडर और यह जाँचें कि रिमोट ऐप-सर्वर समान Codex
ऐप-सर्वर प्रोटोकॉल संस्करण का उपयोग करता है। Codex WebSocket ट्रांसपोर्ट अभी भी प्रयोगात्मक
और असमर्थित है; प्रबंधित stdio या स्थानीय Unix नियंत्रण सॉकेट को प्राथमिकता दें।

**नेटिव शेल या पैच टूल `Native hook relay
unavailable` के साथ ब्लॉक हो जाते हैं:** Codex थ्रेड अब भी ऐसे नेटिव हुक रिले
आईडी का उपयोग करने की कोशिश कर रहा है जिसे OpenClaw ने अब पंजीकृत नहीं कर रखा है। यह नेटिव Codex हुक
ट्रांसपोर्ट की समस्या है, ACP बैकएंड, प्रोवाइडर, GitHub या शेल-कमांड की
विफलता नहीं। प्रभावित चैट में `/new` या `/reset` के साथ नया सेशन शुरू करें,
फिर कोई हानिरहित कमांड दोबारा चलाएँ। यदि यह एक बार काम करता है लेकिन अगली नेटिव टूल
कॉल फिर विफल हो जाती है, तो `/new` को केवल अस्थायी समाधान मानें: Codex ऐप-सर्वर या
OpenClaw Gateway को पुनः आरंभ करने के बाद प्रॉम्प्ट को नए सेशन में कॉपी करें,
ताकि पुराने थ्रेड हटा दिए जाएँ और नेटिव हुक पंजीकरण
फिर से बनाए जाएँ।

**Codex टूल कॉल बहुत अधिक अल्पकालिक हुक प्रक्रियाएँ बनाती हैं:** `plugins.entries.codex.config.appServer.loopDetectionPreToolUseRelay: false`
सेट करें
और Gateway को पुनः आरंभ करें। यह केवल OpenClaw लूप पहचान और उसके नो-पॉलिसी मार्कर के लिए
इस्तेमाल होने वाली Codex `PreToolUse` उपप्रक्रिया को अक्षम करता है।
आवश्यक `before_tool_call` और विश्वसनीय-टूल पॉलिसी रिले सक्षम रहते हैं।

**कोई गैर-Codex मॉडल अंतर्निहित हार्नेस इस्तेमाल करता है:** यह अपेक्षित है, जब तक कि प्रोवाइडर
या मॉडल रनटाइम पॉलिसी उसे किसी अन्य हार्नेस पर रूट न करे। सामान्य गैर-OpenAI
प्रोवाइडर रेफ़रेंस `auto` मोड में अपने सामान्य प्रोवाइडर पथ पर बने रहते हैं।

**Computer Use इंस्टॉल है लेकिन टूल नहीं चलते:** नए सेशन से
`/codex computer-use status` जाँचें। यदि कोई टूल
`Native hook relay unavailable` रिपोर्ट करता है, तो ऊपर दिया गया नेटिव हुक रिले पुनर्प्राप्ति तरीका इस्तेमाल करें।
[Codex Computer Use](/hi/plugins/codex-computer-use#troubleshooting) देखें।

## संबंधित

- [Codex हार्नेस संदर्भ](/hi/plugins/codex-harness-reference)
- [Codex हार्नेस रनटाइम](/hi/plugins/codex-harness-runtime)
- [Codex पर्यवेक्षण](/hi/plugins/codex-supervision)
- [नेटिव Codex plugins](/hi/plugins/codex-native-plugins)
- [Codex Computer Use](/hi/plugins/codex-computer-use)
- [एजेंट रनटाइम](/hi/concepts/agent-runtimes)
- [मॉडल प्रोवाइडर](/hi/concepts/model-providers)
- [OpenAI प्रोवाइडर](/hi/providers/openai)
- [OpenAI Codex सहायता](https://help.openai.com/en/collections/14937394-codex)
- [एजेंट हार्नेस plugins](/hi/plugins/sdk-agent-harness)
- [Plugin हुक](/hi/plugins/hooks)
- [डायग्नोस्टिक्स निर्यात](/hi/gateway/diagnostics)
- [स्थिति](/hi/cli/status)
- [परीक्षण](/hi/help/testing-live#live-codex-app-server-harness-smoke)
