Skip to main content
OpenClaw, exec टूल के माध्यम से शेल कमांड चलाता है और लंबे समय तक चलने वाले कार्यों को मेमोरी में रखता है। process टूल उन बैकग्राउंड सत्रों को प्रबंधित करता है।

exec टूल

पैरामीटर: व्यवहार:
  • फ़ोरग्राउंड रन सीधे आउटपुट लौटाते हैं।
  • बैकग्राउंड में भेजे जाने पर (स्पष्ट रूप से या yieldMs टाइमआउट के माध्यम से), टूल status: "running" + sessionId और आउटपुट का एक छोटा अंतिम अंश लौटाता है।
  • बैकग्राउंड और yieldMs रन tools.exec.timeoutSeconds इनहेरिट करते हैं, जब तक कॉल में स्पष्ट timeout न दिया गया हो।
  • सत्र को पोल या साफ़ किए जाने तक आउटपुट मेमोरी में रहता है।
  • यदि process टूल की अनुमति नहीं है, तो exec रन सिंक्रोनस रूप से चलता है और yieldMs/background को अनदेखा करता है।
  • शुरू किए गए exec कमांड को संदर्भ-संवेदी शेल/प्रोफ़ाइल नियमों के लिए OPENCLAW_SHELL=exec मिलता है।
  • अब शुरू होने वाले लंबे कार्य के लिए: इसे एक बार शुरू करें और कमांड के आउटपुट देने या विफल होने पर स्वचालित पूर्णता वेक (सक्षम होने पर) पर निर्भर रहें।
  • यदि स्वचालित पूर्णता वेक उपलब्ध नहीं है, या बिना आउटपुट के सफलतापूर्वक समाप्त होने वाले कमांड की मौन-सफलता की पुष्टि चाहिए, तो process से पोल करें।
  • रिमाइंडर या विलंबित फ़ॉलो-अप का अनुकरण sleep लूप या बार-बार पोल करके न करें — भविष्य के कार्य के लिए Cron का उपयोग करें।

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

कॉन्फ़िगरेशन (एनवायरनमेंट ओवरराइड की तुलना में वरीय)

चाइल्ड प्रोसेस ब्रिजिंग

exec/process टूल के बाहर लंबे समय तक चलने वाले चाइल्ड प्रोसेस (CLI का पुनः शुरू होना, Gateway सहायक) शुरू करते समय, चाइल्ड-प्रोसेस ब्रिज सहायक जोड़ें, ताकि समाप्ति सिग्नल आगे भेजे जाएँ और निकास/त्रुटि पर लिसनर अलग हो जाएँ। इससे systemd पर अनाथ प्रोसेस बनने से बचते हैं और सभी प्लेटफ़ॉर्म पर शटडाउन सुसंगत रहता है।

process टूल

क्रियाएँ: टिप्पणियाँ:
  • केवल बैकग्राउंड सत्र सूचीबद्ध/संग्रहित होते हैं — केवल मेमोरी में, डिस्क पर नहीं। प्रोसेस पुनः शुरू होने पर सत्र खो जाते हैं।
  • लाइव बैकग्राउंड सत्र सहयोगात्मक होस्ट निलंबन और सुरक्षित Gateway पुनः आरंभ को तब तक रोकता है, जब तक प्रोसेस स्वामी उसके वास्तविक निकास की पुष्टि न कर दे।
  • process remove समाप्ति का अनुरोध करने के तुरंत बाद चल रहे सत्र को छिपा सकता है; निकास की पुष्टि होने तक निलंबन और पुनः आरंभ अवरुद्ध रहते हैं।
  • सत्र लॉग चैट इतिहास में केवल तभी सहेजे जाते हैं, जब आप process poll/log चलाते हैं और टूल परिणाम रिकॉर्ड किया जाता है।
  • process प्रत्येक एजेंट के दायरे में है; यह केवल उस एजेंट द्वारा शुरू किए गए सत्र देखता है।
  • स्वचालित पूर्णता वेक उपलब्ध न होने पर स्थिति, लॉग या पूर्णता पुष्टि के लिए poll/log का उपयोग करें।
  • इंटरैक्टिव CLI को पुनर्प्राप्त करने से पहले log का उपयोग करें, ताकि वर्तमान ट्रांसक्रिप्ट, stdin स्थिति और इनपुट-प्रतीक्षा संकेत एक साथ दिखाई दें।
  • जब इनपुट या हस्तक्षेप की आवश्यकता हो, तब write/send-keys/submit/paste/kill का उपयोग करें।
  • process list में त्वरित स्कैन के लिए व्युत्पन्न name (कमांड क्रिया + लक्ष्य) शामिल होता है।
  • process list, poll, और log केवल तभी waitingForInput रिपोर्ट करते हैं, जब सत्र में अभी भी लिखने योग्य stdin हो और वह इनपुट-प्रतीक्षा सीमा से अधिक समय तक निष्क्रिय रहा हो (डिफ़ॉल्ट 15000 ms, OPENCLAW_PROCESS_INPUT_WAIT_IDLE_MS)।
  • process log पंक्ति-आधारित offset/limit का उपयोग करता है। दोनों को छोड़ने पर, यह पेजिंग संकेत के साथ अंतिम 200 पंक्तियाँ लौटाता है। जब offset सेट हो और limit न हो, तो यह offset से अंत तक लौटाता है (200 तक सीमित नहीं)।
  • poll का timeout लौटने से पहले उतने मिलीसेकंड तक प्रतीक्षा करता है; 30000 से अधिक मान 30000 तक सीमित किए जाते हैं।
  • पोलिंग माँग पर स्थिति जानने के लिए है, प्रतीक्षा-लूप शेड्यूलिंग के लिए नहीं। यदि कार्य बाद में होना चाहिए, तो Cron का उपयोग करें।

उदाहरण

कोई लंबा कार्य चलाएँ और बाद में पोल करें:
इनपुट भेजने से पहले किसी इंटरैक्टिव सत्र का निरीक्षण करें:
तुरंत बैकग्राउंड में शुरू करें:
stdin भेजें:
PTY कुंजियाँ भेजें:
वर्तमान पंक्ति सबमिट करें:
शाब्दिक टेक्स्ट पेस्ट करें:

संबंधित