Get started
Codex पर्यवेक्षण
Codex पर्यवेक्षण
लक्ष्य
Codex पर्यवेक्षण OpenClaw ऑपरेटर को मूल Codex सत्र खोजने और, सुरक्षित होने पर, सामान्य OpenClaw Chat सतह के माध्यम से स्थानीय शाखा बनाने देता है। Codex App Server थ्रेड और मॉडल-लूप का स्वामी बना रहता है। OpenClaw फ़्लीट कैटलॉग, प्रमाणीकृत ऑपरेटर UI, सत्र बाइंडिंग और चैनल डिलीवरी प्रदान करता है।
यह सुविधा आधिकारिक codex Plugin से संबंधित है। कोई अलग
Supervisor Plugin या दूसरा Codex प्रोटोकॉल कार्यान्वयन नहीं है।
उत्पाद सीमा
जब भी Codex Plugin सक्रिय होता है, कैटलॉग पंजीकृत हो जाता है, जब तक कि मूल सत्र खोज को इसके द्वारा स्पष्ट रूप से अक्षम न किया गया हो:
plugins.entries.codex.config.sessionCatalog.enabled = falseएजेंट-सुलभ पर्यवेक्षण टूल इसके द्वारा सक्षम करें:
plugins.entries.codex.config.supervision.enabled = trueसक्रिय प्रारंभिक उत्पाद को जानबूझकर दीर्घकालीन फ़्लीट योजना से छोटा रखा गया है:
- केवल गैर-संग्रहीत Codex थ्रेड सूचीबद्ध करें।
- स्थिर होस्ट पहचान के अनुसार स्थानीय और ऑप्ट-इन किए गए युग्मित-नोड पंक्तियों को समूहित करें।
- संग्रहित या निष्क्रिय Gateway-स्थानीय थ्रेड से सामान्य, मॉडल-लॉक की गई Chat शाखा बनाएँ, पहले टर्न पर उसका पूर्ण Codex हार्नेस थ्रेड शुरू करें, या किसी पिछली शाखा के लिए बनाई गई Chat खोलें।
- केवल स्पष्ट अन्य-कोई-रनर-नहीं पुष्टि के बाद संग्रहित या निष्क्रिय Gateway-स्थानीय थ्रेड को संग्रहीत करें।
- मौजूदा पर्यवेक्षित Chat को खोलने की अनुमति बनाए रखते हुए सक्रिय स्थानीय स्रोतों को नई-शाखा या संग्रह नियंत्रणों के बिना दिखाएँ।
- मुख्य साइडबार में प्रत्येक होस्ट की नवीनतम पंक्तियाँ दिखाएँ, सत्र पृष्ठ पर पूरा कैटलॉग रखें और स्थानीय तथा युग्मित-नोड पंक्तियों के लिए सीमित, कर्सर-पृष्ठांकित ट्रांसक्रिप्ट पठन उपलब्ध कराएँ।
- कैटलॉग विफलताओं को होस्ट के अनुसार पृथक करें।
कैटलॉग गैर-संग्रहीत संग्रह है। इसके भीतर किसी पंक्ति की टर्न स्थिति फिर भी
निष्क्रिय, सक्रिय, notLoaded, या त्रुटि हो सकती है।
एजेंट-सुलभ पर्यवेक्षण ऑप्ट-इन बना रहता है। मार्गदर्शित ऑनबोर्डिंग, मूल Codex इंस्टॉलेशन की पहचान सफल होने और चयनित इन्फ़रेंस
बैकएंड की लाइव जाँच सफल होने के बाद, उपयोगकर्ता द्वारा चुने गए प्राथमिक बैकएंड से स्वतंत्र रूप से, इसे इंस्टॉल और सक्षम करने का प्रयास करती है। पर्यवेक्षण केवल तभी सक्रिय होता है जब वह अवसरानुकूल Plugin सेटअप
सफल होता है। स्पष्ट रूप से अक्षम Plugin, नीति अवरोध, या
supervision.enabled: false पर्यवेक्षण टूल के लिए प्रामाणिक बना रहता है, लेकिन
ऑपरेटर सत्र कैटलॉग को अक्षम नहीं करता। sessionCatalog.enabled: false
ऑपरेटर खोज और युग्मित-नोड कैटलॉग कमांड अक्षम करता है; Codex
प्रदाता और हार्नेस सक्रिय रहते हैं।
स्वामित्व
codex Plugin सभी Codex App Server व्यवहार का स्वामी है:
- एंडपॉइंट खोज और कनेक्शन जीवनचक्र
- प्रोटोकॉल आरंभीकरण और संस्करण जाँच
- थ्रेड सूचीकरण, पठन, पुनरारंभ, संग्रह और इवेंट प्रबंधन
- अनुमोदन और उपयोगकर्ता-इनपुट ब्रिज
- OpenClaw सत्रों से मूल थ्रेड बाइंडिंग
- जारी रखने के बाद केवल-Codex मॉडल और हार्नेस प्रवर्तन
Control UI और Gateway उस Plugin-स्वामित्व वाली सेवा का उपयोग करते हैं। वे Codex रोलआउट फ़ाइलें सीधे नहीं पढ़ते और कोई अन्य App Server क्लाइंट लागू नहीं करते।
डिफ़ॉल्ट स्थानीय टोपोलॉजी यह है:
Codex Desktop -> निजी stdio App Server -> उपयोगकर्ता का Codex होम ^OpenClaw Codex Plugin -> पर्यवेक्षण App Server कनेक्शन (डिफ़ॉल्ट रूप से प्रबंधित उपयोगकर्ता-होम stdio; स्पष्ट appServer सेटिंग्स का पालन किया जाता है) -> निष्क्रिय स्रोत कैटलॉग और पठन -> स्नैपशॉट पिन -> प्रामाणिक appServer-स्रोत शाखा -> दृश्यमान-इतिहास अंतःक्षेपण और उसके बाद का प्रत्येक पर्यवेक्षित Chat टर्न सामान्य OpenClaw Codex सत्र -> डिफ़ॉल्ट रूप से प्रबंधित एजेंट-होम stdio -> सामान्य पूर्ण हार्नेस थ्रेड -> OpenClaw Chat और चैनल डिलीवरीपर्यवेक्षण सक्षम करने से सामान्य Codex हार्नेस नहीं बदलता: वह डिफ़ॉल्ट रूप से
एजेंट-स्कोप वाला बना रहता है। अलग पर्यवेक्षण कनेक्शन डिफ़ॉल्ट रूप से
प्रबंधित उपयोगकर्ता-होम stdio का उपयोग करता है, इसलिए उसके कैटलॉग और स्नैपशॉट संचालन मूल
संग्रहित थ्रेड देखते हैं। स्पष्ट appServer कनेक्शन सेटिंग्स का पालन किया जाता है। जब
homeScope सेट न हो, तब पर्यवेक्षण कनेक्शन इसे stdio
या Unix के लिए "user" और WebSocket के लिए "agent" में रिज़ॉल्व करता है। appServer.homeScope: "user"
को स्पष्ट रूप से केवल तभी सेट करें जब सामान्य हार्नेस को भी मूल Codex
होम साझा करना चाहिए। Codex साइडबार समूह से अपनाई गई Chat इसका अपवाद है: उसकी निजी
पर्यवेक्षण बाइंडिंग स्रोत पठन, प्रामाणिक शाखा निर्माण और बाद के
टर्न को पर्यवेक्षण कनेक्शन पर बनाए रखती है। लाइव स्थिति और स्वामित्व
प्रक्रिया-स्थानीय बने रहते हैं; OpenClaw की पर्यवेक्षण प्रक्रिया से अज्ञात थ्रेड notLoaded
होता है, भले ही Codex Desktop उसे सक्रिय रूप से चला रहा हो।
Codex में अलग इंस्टॉलर-प्रबंधित बूटस्ट्रैप अनुबंध वाला एक प्रायोगिक प्रामाणिक स्थानीय डेमन है। इस सुविधा को उस डेमन को निहित रूप से बूटस्ट्रैप, अपने अधिकार में या उपस्थित नहीं मानना चाहिए।
कैटलॉग प्रवाह
सामान्य Gateway विधि sessions.catalog.list, codex
कैटलॉग प्रदाता को डिस्पैच करती है, जो हमेशा archived: false का अनुरोध करता है और App Server को
उसका इंटरैक्टिव-स्रोत डिफ़ॉल्ट लागू करने देता है: cli, vscode, Atlas और ChatGPT। यह
इनको संयोजित करता है:
- पर्यवेक्षण App Server से Gateway-स्थानीय
thread/listपरिणाम, जो डिफ़ॉल्ट रूप से प्रबंधित उपयोगकर्ता-होम stdio का उपयोग करता है। - प्रत्येक कनेक्टेड, ऑप्ट-इन किए गए नोड से
codex.appServer.threads.list.v1परिणाम।
ट्रांसक्रिप्ट चयन स्थानीय रूप से itemsView: "full" के साथ thread/turns/list या
चयनित नोड पर संस्करणित codex.appServer.thread.turns.list.v1 कमांड का उपयोग करता है।
प्रत्येक प्रतिक्रिया में अधिकतम 20 स्थायी टर्न और अपारदर्शी
आगे/पीछे कर्सर होते हैं। Control UI नवीनतम-प्रथम पृष्ठों का अनुरोध करता है, प्रत्येक पृष्ठ को
कालानुक्रमिक क्रम में रेंडर करता है और पुराने पृष्ठों को आरंभ में जोड़ता है। यह कभी भी
असीमित thread/read पर फ़ॉलबैक नहीं करता। OpenClaw किसी भी क्रमबद्ध आइटम पृष्ठ को
नोड या Gateway ट्रांसपोर्ट पार करने से पहले ही अस्वीकार कर देता है यदि वह 20 MiB से अधिक हो।
मूल macOS युग्मित-नोड कार्यान्वयन केवल अनसेट/डिफ़ॉल्ट या
स्पष्ट appServer.transport: "stdio" के साथ अनसेट/डिफ़ॉल्ट पर्यवेक्षण स्कोप या
स्पष्ट appServer.homeScope: "user" का समर्थन करता है। यह कॉन्फ़िगर किए गए command, args,
और सामान्यीकृत clearEnv को चाइल्ड प्रक्रिया में ले जाता है। "unix", "websocket",
या स्पष्ट homeScope: "agent" के साथ, यह न तो कैटलॉग क्षमता
और न ही कमांड विज्ञापित करता है; प्रत्यक्ष आह्वान भी सुरक्षित रूप से विफल होता है। इसे कभी भी एजेंट-स्कोप वाले कॉन्फ़िगरेशन के लिए उपयोगकर्ता
Codex होम उजागर नहीं करना चाहिए या स्पष्ट एंडपॉइंट के स्थान पर स्थानीय stdio
नहीं रखना चाहिए।
कैटलॉग प्रोजेक्शन पहचानकर्ताओं, शीर्षक, cwd, स्थिति, सक्रिय प्रतीक्षा फ़्लैग, टाइमस्टैम्प, स्रोत, मॉडल प्रदाता, Codex संस्करण और Git शाखा को सामान्यीकृत करता है। यह ट्रांसक्रिप्ट पूर्वावलोकन, टर्न, रोलआउट पथ, Codex होम पथ, Git रिमोट, कमिट SHA, कच्चे एंडपॉइंट या कच्ची App Server त्रुटियाँ वापस नहीं करता। ट्रांसक्रिप्ट प्रतिक्रियाओं में केवल स्पष्ट रूप से अनुरोधित App Server आइटम पृष्ठ और उसके अपारदर्शी कर्सर होते हैं।
होस्ट विफलताएँ प्रत्येक होस्ट परिणाम तक स्थानीय रहती हैं। ऑफ़लाइन नोड या अनुपलब्ध
स्थानीय App Server पृष्ठ से स्वस्थ होस्ट को नहीं मिटाता। कनेक्टिविटी एक
होस्ट गुण है, थ्रेड स्थिति नहीं: विफल होस्ट परिणाम में कोई नवीन
सत्र पंक्ति नहीं होती और वह मूल थ्रेड पर offline प्रोजेक्ट नहीं करता।
Control UI प्रगतिशील कैटलॉग अपडेट का अनुरोध करता है। प्रत्येक स्थानीय या युग्मित होस्ट अपने स्वयं के App Server सूचीकरण के पूर्ण होते ही दिखाई देता है; समग्र प्रतिक्रिया संगतता और पुनर्प्राप्ति स्नैपशॉट बनी रहती है। दृश्यमान पृष्ठ कनेक्टिविटी परिवर्तनों के बाद, फ़ोकस होने पर और अधिकतम प्रत्येक 30 सेकंड में, परिवर्तनों के बाद एक तेज़ पास के साथ, सामंजस्य स्थापित करता है। इसलिए किसी अन्य क्लाइंट में बनाए गए मूल Codex सत्रों को OpenClaw संग्रहण में आयात किए बिना अंततः खोज लिया जाता है।
कैटलॉग खोज निष्क्रिय है। मेटाडेटा सूचीबद्ध या पढ़ते समय
thread/resume को कॉल नहीं करना चाहिए, OpenClaw क्लाइंट को लाइव थ्रेड अनुरोधों की सदस्यता नहीं दिलानी चाहिए या
किसी अनुमोदन का उत्तर नहीं देना चाहिए।
खोज केवल शीर्षक में और केस-असंवेदी होती है। लौटाए गए प्रत्येक कैटलॉग पृष्ठ के लिए, Gateway और युग्मित Mac क्वेरी को App Server तक पहुँचाए बिना सीमित संख्या में मूल पृष्ठ स्कैन करते हैं, क्योंकि मूल खोज ट्रांसक्रिप्ट पूर्वावलोकनों से भी मेल खा सकती है। लौटाया गया मूल कर्सर कॉलर को स्कैन जारी रखने देता है।
ऑपरेटर CLI सीमा
Plugin तीन Gateway-समर्थित शेल कमांड पंजीकृत करता है:
openclaw codex sessions [--search <text>] [--host <id>] [--limit <count>] [--cursor <cursor>] [--json] [gateway-options]openclaw codex continue <thread-id> [--json] [gateway-options]openclaw codex archive <thread-id> --confirm-no-other-runner [--json] [gateway-options][gateway-options], --url <url>, --token <token>, --timeout <ms>, और
इनहेरिट किया गया --expect-final स्विच है। सत्र सूचीकरण का डिफ़ॉल्ट 75,000 ms है;
जारी रखने और संग्रह करने का डिफ़ॉल्ट 30,000 ms है;
इन यूनरी RPC के लिए --expect-final का कोई अतिरिक्त प्रभाव नहीं होता। सत्र खोज
केवल शीर्षक में और केस-असंवेदी होती है; प्रत्येक प्रतिक्रिया सीमित मूल पृष्ठ
श्रृंखला स्कैन करती है और --cursor पुराने परिणाम जारी रखता है। सीमा डिफ़ॉल्ट रूप से प्रत्येक होस्ट के लिए 50 है
और 1 से 100 तक स्वीकार करती है, तथा कर्सर के लिए एक स्थिर --host
गंतव्य आवश्यक है। कोई भी कमांड
संग्रहीत/संग्रहीत-शामिल करें विकल्प स्वीकार नहीं करता। केवल sessions युग्मित होस्ट को लक्षित कर सकता है;
continue और archive हमेशा hostId: "gateway:local" भेजते हैं, और संग्रह के लिए
स्पष्ट पुष्टि फ़्लैग आवश्यक है।
शेल नेमस्पेस, Chat के भीतर का /codex रनटाइम नेमस्पेस नहीं है। विशेष रूप से,
/codex sessions --host <node> एक नोड पर Codex CLI सत्र फ़ाइलें सूचीबद्ध करता है,
/codex threads वर्तमान वार्तालाप कनेक्शन के लिए App Server थ्रेड सूचीबद्ध करता है,
और /codex resume या /codex bind उस वार्तालाप की
बाइंडिंग को बदलता है। वे कमांड sessions.catalog.continue को प्रतिस्थापित नहीं करते और
कोई /codex continue या /codex archive रनटाइम कमांड नहीं है।
स्थानीय निरंतरता
संग्रहित या निष्क्रिय Gateway-स्थानीय पंक्ति के लिए, UI
होस्ट और थ्रेड आईडी के साथ catalogId: "codex" का उपयोग करके sessions.catalog.continue को कॉल करता है। Plugin:
- जब स्रोत में पहले से पर्यवेक्षित Chat हो, तो मौजूदा Chat का पुनः उपयोग करता है।
- अन्यथा स्रोत के अंतिम टर्मिनल स्थायी टर्न (पूर्ण, बाधित या विफल) तक के सीमित उपयोगकर्ता और सहायक इतिहास को नई OpenClaw Chat में प्रोजेक्ट करता है और लंबित हार्नेस शाखा दर्ज करता है।
- किसी ठोस मॉडल या
प्रदाता चयन के बजाय लंबित केवल-Codex मॉडल-लॉक नीति और निजी पर्यवेक्षण कनेक्शन स्कोप संग्रहित करता है तथा
OpenClaw
sessionKeyवापस करता है।
इतिहास प्रोजेक्शन दृश्यमान उपयोगकर्ता और सहायक
संदेशों की नवीनतम पूँछ चुनता है, जिसकी कठोर सीमाएँ 200 संदेश, कुल 512 KiB UTF-8 टेक्स्ट और
प्रति संदेश 64 KiB हैं। यह इमेज और स्थानीय-इमेज इनपुट को
[Image attachment] से बदलता है, कभी भी इमेज पेलोड या पथ कॉपी नहीं करता और रीजनिंग,
टूल कॉल तथा टूल परिणाम छोड़ देता है।
UI उस सत्र कुंजी के साथ सामान्य Chat पर जाता है। अभी कोई प्रामाणिक हार्नेस थ्रेड मौजूद नहीं है। पहले सामान्य Chat टर्न पर, हार्नेस वास्तविक Codex अनुमोदन, एलिसिटेशन, इवेंट और डिलीवरी हैंडलर इंस्टॉल करता है, फिर:
- बिना मॉडल
या प्रदाता ओवरराइड के मूल
thread/forkको कॉल करने और स्थायी स्रोत स्नैपशॉट पिन करने के लिए पर्यवेक्षण कनेक्शन का उपयोग करता है। Codex की वर्तमानConfigManagerस्थिति मॉडल और प्रदाता चुनती है, और फ़ोर्क प्रतिक्रिया वास्तविक जोड़ी बताती है। यदि मॉडल स्रोत में दर्ज अंतिम मॉडल से अलग है, तो Codex अपनी सामान्य मॉडल-अंतर चेतावनी उत्सर्जित करता है। - उसी कनेक्शन पर,
threadSource: "appServer", OpenClaw के cwd, नीति, कॉन्फ़िगरेशन, वातावरण, पूर्ण OpenClaw हार्नेस टूल सतह और इस प्रारंभिक शुरुआत के लिए फ़ोर्क द्वारा लौटाए गए ठीक उसी मॉडल और प्रदाता के साथ प्रामाणिक पूर्ण Codex हार्नेस थ्रेड शुरू करता है। - उस कनेक्शन के माध्यम से सीमित दृश्यमान उपयोगकर्ता और सहायक इतिहास अंतःक्षेपित करता है, उसके पर्यवेक्षण स्कोप को हटाए बिना प्रामाणिक बाइंडिंग कमिट करता है, टर्न चलाता है और अस्थायी फ़ोर्क को संग्रहीत करता है।
पहले टर्न से पहले, Chat एक लॉक की हुई लंबित ब्रांच होती है, जिसमें दृश्यमान हिस्ट्री मिरर होता है; उसके बाद, प्रत्येक मॉडल टर्न पर्यवेक्षण कनेक्शन पर कैनोनिकल Codex हार्नेस थ्रेड के माध्यम से चलता है। यह ब्रांच पूर्ण नेटिव रोलआउट क्लोन नहीं है: स्रोत रीजनिंग, टूल कॉल और टूल परिणाम जानबूझकर छोड़ दिए जाते हैं। यदि स्नैपशॉट पिनिंग या कैनोनिकल थ्रेड निर्माण विफल हो जाता है, तो लंबित ब्रांच पुनः प्रयास योग्य बनी रहती है। बाइंडिंग रेस, अक्षम पर्यवेक्षण, या अनुपलब्ध अथवा बेमेल पर्यवेक्षण कनेक्शन, सामान्य एजेंट-होम हार्नेस पर वापस जाने के बजाय टर्न चलने से पहले ही फ़ेल-क्लोज़ हो जाता है।
यह Codex के स्वामित्व वाले चयन की गारंटी देता है, स्रोत के ऐतिहासिक मॉडल के संरक्षण की नहीं। फ़ोर्क द्वारा लौटाई गई जोड़ी का उपयोग कैनोनिकल थ्रेड शुरू करने के लिए किया जाता है, और Codex उस थ्रेड के नेटिव मॉडल और प्रोवाइडर को स्थायी रूप से सहेजता है। बाद के रिज़्यूम OpenClaw मॉडल और प्रोवाइडर ओवरराइड छोड़ देते हैं, इसलिए Codex सहेजी गई जोड़ी पुनर्स्थापित करता है। यदि कोई अलग नेटिव Codex नियंत्रण कैनोनिकल थ्रेड को बदलता है, तो OpenClaw उस नेटिव सहेजे गए चयन को स्वीकार करता है। बाहरी OpenClaw मॉडल और फ़ॉलबैक शृंखला कभी उसका स्थान नहीं लेते।
पर्यवेक्षित मॉडल-लॉक्ड Chat के लिए मॉडल परिवर्तन, सेशन हटाना और सेशन रीसेट/नया ऑपरेशन
फ़ेल-क्लोज़ होते हैं। /codex model <model>, /codex bind, /codex resume (Node --bind here सहित), और /codex detach या
/codex unbind को परिवर्तित करना भी फ़ेल-क्लोज़ होता है, क्योंकि वे बाइंडिंग को बदलते या साफ़ करते हैं।
/codex model क्वेरी और /codex fast, /codex permissions, तथा /codex threads उपलब्ध रहते हैं। codex_threads एजेंट टूल नया
फ़ोर्क संलग्न नहीं कर सकता या बाउंड नेटिव थ्रेड को आर्काइव नहीं कर सकता। सूची और केवल-मेटाडेटा रीड
उपलब्ध रहते हैं; ट्रांसक्रिप्ट फ़ील्ड के लिए supervision.allowRawTranscripts आवश्यक है, जबकि
नाम बदलने, अनआर्काइव करने, अलग फ़ोर्क और किसी असंबंधित थ्रेड को आर्काइव करने के लिए
supervision.allowWriteControls आवश्यक है। कोई भी विकल्प लॉक की हुई बाइंडिंग को बदल नहीं सकता।
OpenClaw प्रविष्टि को हटाने या रीसेट करने से अन्यथा नेटिव
बाइंडिंग त्याग दी जाती और Codex-जैसे दिखने वाले सेशन के पीछे एक सामान्य थ्रेड बनाया या अनुमत किया जाता।
इसलिए रिटेंशन रखरखाव मॉडल-लॉक्ड प्रविष्टियों को तब भी सुरक्षित रखता है, जब वे
सामान्य आयु, संख्या या डिस्क-बजट सीमाओं से अधिक हों। स्वामी Plugin को अक्षम या अनइंस्टॉल करने पर भी
लॉक और Plugin स्वामित्व मार्कर बने रहते हैं। Chat
तब तक अनुपलब्ध और फ़ेल-क्लोज़ रहता है, जब तक वही Plugin फिर से सक्षम न हो; क्लीनअप उसे कभी
सामान्य मॉडल सेशन में परिवर्तित नहीं करता।
इस कार्रवाई से स्रोत को कभी रिज़्यूम या परिवर्तित नहीं किया जाता। अस्थायी फ़ोर्क एक
स्नैपशॉट पिन करता है; वह टिकाऊ निरंतरता थ्रेड नहीं है। पहले टर्न पर एक अलग
कैनोनिकल हार्नेस थ्रेड शुरू करने से OpenClaw केवल इसलिए प्रतिस्पर्धी
स्रोत लेखक नहीं बनता कि प्रक्रिया-स्थानीय स्थिति Desktop के स्वामित्व वाले टर्न को नहीं देख सकी।
दृश्यमान-हिस्ट्री मिरर और पिन किया गया स्नैपशॉट किसी सक्रिय स्रोत में अभी तक
पूरा न हुआ कार्य छोड़ सकते हैं। मूल CLI, VS Code,
Atlas या ChatGPT स्रोत नेटिव और OpenClaw दोनों कैटलॉग के लिए पात्र रहता है।
कैनोनिकल ब्रांच पर्यवेक्षण स्टोर में नेटिव Codex थ्रेड बनी रहती है,
लेकिन नेटिव क्लाइंट इसके appServer स्रोत प्रकार को फ़िल्टर कर सकते हैं, इसलिए Codex Desktop
दृश्यता कोई अनुबंध नहीं है।
आर्काइव व्यवहार
संग्रहीत या निष्क्रिय Gateway-स्थानीय पंक्ति के लिए, sessions.catalog.archive के साथ
catalogId: "codex" को
स्पष्ट confirmNoOtherRunner: true की आवश्यकता होती है, यह वर्तमान प्रक्रिया-स्थानीय
स्थिति को नए सिरे से पढ़ता है, केवल idle या notLoaded के लिए आगे बढ़ता है, नेटिव thread/archive को कॉल करता है,
और Codex द्वारा ऑपरेशन स्वीकार किए जाने के बाद ही सफलता लौटाता है। इसके बाद पंक्ति
गैर-आर्काइव कैटलॉग से निकल जाती है।
नए रीड से मिली सक्रिय या त्रुटि स्थिति आर्काइव को अस्वीकार करती है। स्रोत की
आरंभ हो रही या लंबित पर्यवेक्षित ब्रांच भी ऐसा ही करती है: स्रोत को आर्काइव किए जाने से पहले
पहले Chat टर्न को उसकी कैनोनिकल ब्रांच को मूर्त रूप देना होगा। सटीक लक्ष्य के लिए
ज्ञात सक्रिय OpenClaw बाइंडिंग स्वामी या कोई भी गैर-आर्काइव उत्पन्न वंशज
भी आर्काइव को अस्वीकार करता है। OpenClaw Codex के प्रयोगात्मक
thread/list ancestorThreadId संबंध को पृष्ठांकित करता है और अनुरोध या प्रतिक्रिया
त्रुटियों, कर्सर या थ्रेड चक्रों तथा सुरक्षा-सीमा समाप्त होने पर फ़ेल-क्लोज़ होता है। नेटिव आर्काइव
लोड किए गए पैरेंट और वंशज कार्य को बंद कर सकता है, इसलिए आर्काइव कोई इंटरप्ट
शॉर्टकट नहीं है। रीड, वंशज गणना और आर्काइव कॉल परमाण्विक नहीं हैं।
एक स्वतंत्र क्लाइंट फिर भी ऐसी पंक्ति पर कार्य का स्वामी हो सकता है या कार्य शुरू कर सकता है, जो स्थानीय रूप से निष्क्रिय या
notLoaded दिखाई देती है। अन्य-रनर-नहीं पुष्टि अज्ञात क्लाइंट और
उस रेस को तब तक कवर करती है, जब तक Codex में कंडीशनल आर्काइव या क्रॉस-प्रोसेस लीज़ उपलब्ध नहीं हो जाती।
युग्मित-Node आर्काइव निषिद्ध है।
Codex कैटलॉग में कोई आर्काइव दृश्य नहीं है। किसी अन्य स्वामी-अधिकृत Codex सतह पर
thread/unarchive से पुनर्स्थापित थ्रेड फिर से गैर-आर्काइव कैटलॉग के लिए पात्र
हो जाता है।
सक्रिय थ्रेड सुरक्षा
Codex एक App Server के क्लाइंटों के बीच किसी थ्रेड के परिवर्तनों को क्रमबद्ध करता है, लेकिन यह कोई विशिष्ट क्रॉस-प्रोसेस रनर या अनुमोदन-स्वामी लीज़ उपलब्ध नहीं कराता। स्वतंत्र stdio App Server एक ही रोलआउट में जोड़ सकते हैं, जबकि प्रत्येक केवल अपनी इन-मेमोरी स्थिति देखता है। अनुमोदन अनुरोध एक सर्वर के प्रत्येक सब्सक्राइबर तक भी पहुँच सकते हैं, और पहला मान्य उत्तर अनुरोध को पूरा करता है।
इसलिए:
- निष्क्रिय कैटलॉग क्लाइंट अनुमोदनों को सब्सक्राइब या स्वतः अस्वीकार नहीं करते
- वर्तमान में सक्रिय रिपोर्ट की गई पंक्तियाँ न तो नई ब्रांच दिखाती हैं, न ही आर्काइव
- एक अमैप्ड स्रोत दृश्यमान-हिस्ट्री ब्रांच बन जाता है, जिसका कैनोनिकल हार्नेस थ्रेड स्रोत को कभी रिज़्यूम नहीं करता
notLoadedको अज्ञात गतिविधि के रूप में दिखाया जाता है और इसे केवल सूचित अन्य-रनर-नहीं पुष्टि के बाद आर्काइव किया जा सकता है- स्थानीय आर्काइव के लिए उस पुष्टि के साथ नया
idleयाnotLoadedरीड आवश्यक है, साथ ही रीड और आर्काइव के बीच की प्रोटोकॉल रेस को स्वीकार किया जाता है
इंटरप्ट और मल्टी-क्लाइंट हैंडऑफ़ भविष्य के उत्पाद निर्णय हैं। सक्रिय पंक्ति दिखाने से वे निहित नहीं होते।
युग्मित-Node सीमा
Node इनवोक वर्तमान में केवल अनुरोध/प्रतिक्रिया है। यह सीमित कैटलॉग मेटाडेटा और ट्रांसक्रिप्ट टर्न पृष्ठ सुरक्षित रूप से लौटा सकता है, लेकिन यह Codex हार्नेस रन के लिए आवश्यक दीर्घकालिक इवेंट स्ट्रीम, अनुमोदन अनुरोध, टूल कॉल, रद्दीकरण और असिस्टेंट डेल्टा वहन नहीं कर सकता।
इसलिए Node अनुबंध सूची और ट्रांसक्रिप्ट-टर्न पृष्ठों का समर्थन करता है। रिमोट पंक्तियाँ पढ़ने योग्य रहती हैं, लेकिन निष्क्रिय स्थिति के बावजूद जारी रखें और आर्काइव अनुपलब्ध हैं। वास्तविक रिमोट निरंतरता के लिए Node-साइड रनर और स्ट्रीमिंग ब्रिज आवश्यक है, जो स्थानीय हार्नेस जैसी ही अनुमोदन और बाइंडिंग अपरिवर्तनीयताओं को सुरक्षित रखे।
अनुमतियाँ
प्रत्येक कंप्यूटर स्थानीय रूप से ऑप्ट-इन करता है। Gateway सक्षम करने से किसी अन्य Node को उसका Codex मेटाडेटा पढ़ने की अनुमति नहीं मिलती। Node क्षमता को सामान्य पेयरिंग और कमांड-नीति अनुमोदन पास करना होगा।
फ़्लीट सूची और ट्रांसक्रिप्ट दृश्य operator.write Gateway स्कोप का उपयोग करते हैं,
क्योंकि वे युग्मित Node को इनवोक करते हैं। स्थानीय निरंतरता और आर्काइव
प्रमाणित ऑपरेटर कार्रवाइयाँ हैं और होस्ट तथा स्थिति जाँच के अधीन रहती हैं।
स्वायत्त एजेंट और स्टैंडअलोन MCP पहुँच अलग हैं। शिप किए गए
codex_endpoint_probe, codex_sessions_list, codex_session_read,
codex_session_send, और codex_session_interrupt टूल अनुबंध
codex Plugin के स्वामित्व में रहते हैं। पर्यवेक्षण सक्षम होने पर, कच्चे codex_threads ट्रांसक्रिप्ट
रीड और ट्रांसक्रिप्ट-व्युत्पन्न सूची फ़ील्ड के लिए भी
supervision.allowRawTranscripts आवश्यक है; प्रत्येक codex_threads फ़ोर्क, नाम परिवर्तन, आर्काइव
या अनआर्काइव के लिए supervision.allowWriteControls आवश्यक है। दोनों नीतियाँ डिफ़ॉल्ट रूप से
अक्षम हैं।
संगतता
openclaw doctor --fix शिप किए गए plugins.entries.codex-supervisor
कॉन्फ़िगरेशन को माइग्रेट करता है, जिसमें एंडपॉइंट और ट्रांसक्रिप्ट/लेखन नीतियाँ, साथ ही Plugin
अनुमति/अस्वीकृति संदर्भ शामिल हैं, और उन्हें
plugins.entries.codex.config.supervision में ले जाता है। स्पष्ट कैनोनिकल गंतव्य
मान टकराव में प्राथमिकता पाते हैं। माइग्रेशन के बाद रनटाइम कोड केवल कैनोनिकल codex Plugin
आकार का उपयोग करता है।
आधिकारिक Plugin ठीक पाँच Supervisor संगतता टूल बनाए रखता है:
codex_endpoint_probe, codex_sessions_list, codex_session_read,
codex_session_send, और codex_session_interrupt। सेशन सूची डिफ़ॉल्ट रूप से केवल-लोडेड
है; कोई loaded_only पैरामीटर नहीं है। include_stored: true
गैर-आर्काइव स्थिति-डेटाबेस पंक्तियाँ जोड़ता है, जिन्हें प्रत्येक एंडपॉइंट के लिए max_stored_sessions
(डिफ़ॉल्ट 200, स्वीकृत सीमा 1 से 1,000) द्वारा सीमित किया जाता है; लोडेड पंक्तियाँ उस
सेटिंग से सीमित नहीं होतीं। ट्रांसक्रिप्ट-व्युत्पन्न फ़ील्ड और रीड
allowRawTranscripts द्वारा नियंत्रित रहते हैं; भेजना और इंटरप्ट allowWriteControls द्वारा नियंत्रित रहते हैं।
संगतता सेंड कभी निष्क्रिय थ्रेड शुरू या रिज़्यूम नहीं करता। mode: "start" को
हमेशा अस्वीकार किया जाता है; "auto" और "steer" केवल पढ़ने योग्य सक्रिय टर्न को निर्देशित करते हैं।
इंटरप्ट के लिए भी सक्रिय पढ़ने योग्य टर्न आवश्यक है। निष्क्रिय निरंतरता
नेटिव Codex कैटलॉग पर रूट होती है, ताकि पूर्ण हार्नेस अनुमोदनों, टूल और बाइंडिंग का स्वामी रहे।
स्टैंडअलोन लीगेसी MCP अडैप्टर इन्हीं टूल को आधिकारिक
Plugin से रिज़ॉल्व करता है और बनाए रखे गए लीगेसी नीति पर्यावरण
वेरिएबल का सम्मान करने वाला एकमात्र पथ है।
जुलाई कैटलॉग UI, Gateway विधि, Node क्षमता और CLI पंजीकरण पुराने Plugin आईडी के अंतर्गत
शिप नहीं हुए थे। वे दूसरे रनटाइम फ़साड के बिना सीधे codex स्वामित्व में
चले जाते हैं।
भावी कार्य
- रिमोट निरंतरता के लिए Node-साइड स्ट्रीमिंग रनर और इवेंट ब्रिज
- समकालिक क्लाइंट हैंडऑफ़ के लिए स्पष्ट रनर और अनुमोदन-स्वामी लीज़
- रनर-स्वामित्व लीज़ या समकक्ष फ़ेंसिंग उपलब्ध होने के बाद रिमोट आर्काइव
- इंटरप्ट और अधिक समृद्ध सक्रिय-सेशन अवलोकन
- Codex Desktop, CLI और OpenClaw के बीच ऑडिट किया गया हैंडऑफ़
आर्काइव ब्राउज़िंग नियोजित पर्यवेक्षण साइडबार का हिस्सा नहीं है। नेटिव Codex सतहें आर्काइव किए गए थ्रेड के लिए पुनर्प्राप्ति पथ बनी रहती हैं।
स्वीकृति परीक्षण
- पर्यवेक्षण सक्षम करने पर गैर-संग्रहीत स्थानीय सत्र सूचीबद्ध होते हैं।
- संग्रहीत सत्र कैटलॉग प्रतिक्रिया या UI में कभी दिखाई नहीं देते।
- किसी अन्य होस्ट के विफल होने पर भी स्वस्थ होस्ट दिखाई देते रहते हैं; अनुपलब्ध होस्ट ऑफ़लाइन सत्र स्थिति गढ़ने के बजाय कोई नई पंक्ति नहीं लौटाता।
- संग्रहीत या निष्क्रिय स्थानीय पंक्ति Codex-केवल मॉडल/रनटाइम लॉक वाला Chat प्रतिबिंब बनाती है; पहला टर्न अस्थायी स्नैपशॉट पिन करता है और प्रामाणिक पूर्ण हार्नेस थ्रेड शुरू करता है, और Continue दोहराने पर मौजूदा Chat खुलता है।
- पहला टर्न स्नैपशॉट फ़ोर्क पर मॉडल/प्रदाता ओवरराइड छोड़ देता है और प्रामाणिक शुरुआत को Codex द्वारा लौटाई गई सटीक जोड़ी पर पिन करता है, भले ही Codex चेतावनी दे कि उसका वर्तमान मॉडल स्रोत के अंतिम दर्ज मॉडल से अलग है।
- लंबित और प्रतिबद्ध पर्यवेक्षित बाइंडिंग स्रोत तक पहुँच, प्रामाणिक शाखा निर्माण और बाद के प्रत्येक टर्न के लिए पर्यवेक्षण कनेक्शन का उपयोग करती हैं; सामान्य Codex सत्र एजेंट-स्कोप वाले बने रहते हैं।
- बाद में फिर से शुरू करने पर OpenClaw मॉडल/प्रदाता ओवरराइड छोड़ दिए जाते हैं, Codex का प्रामाणिक स्थायी चयन सुरक्षित रहता है, उस थ्रेड में अलग मूल बदलाव स्वीकार किए जाते हैं, और बाहरी OpenClaw मॉडल या फ़ॉलबैक शृंखला को कभी प्रतिस्थापित नहीं किया जाता।
- पर्यवेक्षण अक्षम करने या बाइंडिंग/कनेक्शन जीवनचक्र खोने पर प्रक्रिया बंद अवस्था में विफल होती है, Chat को सामान्य एजेंट-होम हार्नेस में ले जाने के बजाय।
- पर्यवेक्षित मॉडल-लॉक किए गए Chat को तब तक हटाया नहीं जा सकता, जब तक वह मूल बाइंडिंग की सुरक्षा करता है।
- Chat अधिकतम 200 उपयोगकर्ता और सहायक संदेश, कुल 512 KiB और प्रति संदेश 64 KiB प्रतिबिंबित करता है। छवियाँ प्लेसहोल्डर बन जाती हैं; स्रोत तर्क-विचार, टूल कॉल, टूल परिणाम, छवि पेलोड और स्थानीय पथ क्लोन नहीं किए जाते।
- शाखा प्रवाह स्रोत थ्रेड को कभी फिर से शुरू नहीं करता।
- मूल स्रोत दोनों कैटलॉग के लिए पात्र बना रहता है। प्रामाणिक मूल
शाखा
appServerस्रोत प्रकार का उपयोग करती है और Codex Desktop में उसके दिखाई देने की गारंटी नहीं है। - सक्रिय स्थानीय स्रोत शाखा नहीं बना सकते या संग्रहीत नहीं किए जा सकते; मौजूदा पर्यवेक्षित Chat फिर भी खुल सकता है।
- अज्ञात गतिविधि वाली पंक्तियाँ पुष्टि के बिना शाखा बना सकती हैं; संग्रहित करने के लिए स्पष्ट पुष्टि आवश्यक है कि कोई अन्य रनर नहीं है।
- आरंभ हो रही या लंबित पर्यवेक्षित शाखा वाले स्रोत को तब तक संग्रहीत नहीं किया जा सकता, जब तक पहला Chat टर्न प्रामाणिक शाखा को साकार नहीं कर देता।
- सटीक लक्ष्य या किसी भी गैर-संग्रहीत उत्पन्न वंशज के लिए ज्ञात सक्रिय बाइंडिंग स्वामी संग्रहण को रोकता है; वंशज गणना की विफलताएँ बंद अवस्था में विफल होती हैं, और अज्ञात क्लाइंट तथा स्थिति-से-संग्रहण की रेस के लिए स्पष्ट पुष्टि की ज़िम्मेदारी बनी रहती है।
- पुष्ट संग्रहीत या निष्क्रिय स्थानीय संग्रहण मूल सफलता के बाद पंक्ति हटा देता है।
- युग्मित-Node पंक्तियाँ Continue या Archive के बिना दिखाई देती रहती हैं।
- निष्क्रिय सूचीकरण कभी भी थ्रेड अनुमोदनों की सदस्यता नहीं लेता या उनका उत्तर नहीं देता।
- पुराना Supervisor कॉन्फ़िगरेशन प्रामाणिक Codex कॉन्फ़िगरेशन स्वरूप में माइग्रेट होता है।
- पुरानी सूची डिफ़ॉल्ट रूप से केवल लोड की जाती है, संग्रहीत गणना उसकी प्रति-एंडपॉइंट सीमा का पालन करती है, और संगतता प्रेषण कभी निष्क्रिय थ्रेड को शुरू या फिर से शुरू नहीं करता।