Skip to main content
macOS ऐप डिफ़ॉल्ट रूप से launchd के ज़रिए Gateway को प्रबंधित करता है और Gateway को चाइल्ड प्रोसेस के रूप में शुरू नहीं करता। यह पहले कॉन्फ़िगर किए गए पोर्ट पर पहले से चल रहे Gateway से जुड़ने का प्रयास करता है; यदि कोई उपलब्ध नहीं होता, तो यह बाहरी openclaw CLI के ज़रिए launchd सेवा सक्षम करता है (कोई एम्बेडेड रनटाइम नहीं)। इससे लॉगिन पर विश्वसनीय स्वचालित शुरुआत और क्रैश होने पर पुनः शुरुआत सुनिश्चित होती है। चाइल्ड-प्रोसेस मोड (ऐप द्वारा सीधे शुरू किया गया Gateway) का आज उपयोग नहीं हो रहा है। यदि UI के साथ अधिक निकट एकीकरण चाहिए, तो टर्मिनल में Gateway को मैन्युअल रूप से चलाएँ।

डिफ़ॉल्ट व्यवहार (launchd)

  • ऐप ai.openclaw.gateway लेबल वाला प्रति-उपयोगकर्ता LaunchAgent इंस्टॉल करता है (या --profile/OPENCLAW_PROFILE का उपयोग करते समय ai.openclaw.<profile>)।
  • Local मोड सक्षम होने पर, ऐप सुनिश्चित करता है कि LaunchAgent लोड हो और आवश्यकता होने पर Gateway शुरू करता है।
  • लॉग launchd Gateway लॉग पथ पर लिखे जाते हैं (Debug Settings में दिखाई देते हैं)।
सामान्य कमांड:
नामित प्रोफ़ाइल चलाते समय लेबल को ai.openclaw.<profile> से बदलें।

अहस्ताक्षरित डेवलपमेंट बिल्ड

scripts/restart-mac.sh --no-sign साइनिंग कुंजियों के बिना तेज़ स्थानीय बिल्ड के लिए है। launchd को किसी अहस्ताक्षरित रिले बाइनरी की ओर इंगित करने से रोकने के लिए, यह ~/.openclaw/disable-launchagent लिखता है। यदि मार्कर मौजूद हो, तो scripts/restart-mac.sh के हस्ताक्षरित रन इस ओवरराइड को हटा देते हैं। मैन्युअल रूप से रीसेट करने के लिए:

केवल-अटैच मोड

macOS ऐप को launchd कभी भी इंस्टॉल या प्रबंधित न करने के लिए बाध्य करने हेतु, इसे --attach-only (या --no-launchd) के साथ लॉन्च करें। इससे ~/.openclaw/disable-launchagent सेट होता है, इसलिए ऐप केवल पहले से चल रहे Gateway से जुड़ता है। यही व्यवहार Debug Settings में टॉगल करें।

रिमोट मोड

रिमोट मोड कभी भी स्थानीय Gateway शुरू नहीं करता। ऐप रिमोट होस्ट के लिए SSH टनल का उपयोग करता है और उस टनल के माध्यम से कनेक्ट होता है।

हम launchd को प्राथमिकता क्यों देते हैं

  • लॉगिन पर स्वचालित शुरुआत।
  • अंतर्निहित पुनः शुरुआत/KeepAlive व्यवहार।
  • पूर्वानुमेय लॉग और निगरानी।
यदि वास्तविक चाइल्ड-प्रोसेस मोड की कभी फिर आवश्यकता हो, तो उसे एक अलग, स्पष्ट, केवल-डेवलपमेंट मोड के रूप में प्रलेखित किया जाना चाहिए।

संबंधित