OpenClaw को आपके मुख्य ब्राउज़र पर नियंत्रण करने दें: लॉगिन स्थिति बनाए रखने का पूरा समाधान
OpenClaw को आपके मुख्य ब्राउज़र पर नियंत्रण करने दें: लॉगिन स्थिति बनाए रखने का पूरा समाधान
जिन दोस्तों ने OpenClaw का उपयोग किया है, उन्हें ब्राउज़र की समस्याओं का सामना करना पड़ा होगा। वर्तमान में OpenClaw दो प्रकार के ब्राउज़र मोड प्रदान करता है, लेकिन सच कहूं तो, दोनों का उपयोग करना बहुत अच्छा नहीं है।
पहला प्रकार OpenClaw का अंतर्निहित होस्टेड ब्राउज़र है। यह एक पूरी तरह से नया Chromium उदाहरण शुरू करेगा, जिसमें अपना स्वतंत्र उपयोगकर्ता डेटा निर्देशिका है। समस्या स्पष्ट है: यह एक "नया कंप्यूटर" है, जिसमें कोई लॉगिन स्थिति नहीं है। क्या आप चाहते हैं कि AI आपके लिए बैकएंड प्रबंधन पृष्ठ पर कार्रवाई करे? खेद है, पहले लॉगिन करें। यदि आप द्वितीयक प्रमाणीकरण या एसएमएस कोड का सामना करते हैं? तो यह लगभग असंभव है। और इस ब्राउज़र का कनेक्शन स्थिरता भी सामान्य है, कभी-कभी यह टूट जाता है।
दूसरा प्रकार Chrome एक्सटेंशन रिले है। एक एक्सटेंशन स्थापित करें, जिससे OpenClaw आपके Chrome टैब को नियंत्रित कर सके। यह सुनने में बहुत अच्छा लगता है, लेकिन वास्तव में इसका उपयोग करने पर कई समस्याएँ हैं: एक्सटेंशन और OpenClaw के बीच कनेक्शन अक्सर अस्थिर होता है, टैब स्विच करते समय नियंत्रण खोने की संभावना होती है, और हर बार आपको मैन्युअल रूप से एक्सटेंशन आइकन पर क्लिक करके अनुमति देनी होती है, जिससे बिना किसी हस्तक्षेप के स्वचालन संभव नहीं होता।
साफ शब्दों में कहें, हम वास्तव में जो चाहते हैं वह यह है: AI को सीधे मेरे Chrome का उपयोग करने देना, मेरे सभी लॉगिन स्थिति के साथ, स्थिरता से, जैसे मैं खुद वेब पृष्ठों पर कार्रवाई कर रहा हूँ।
इस आवश्यकता का वास्तव में एक अधिक गहन और विश्वसनीय समाधान है: Chrome के रिमोट डिबगिंग प्रोटोकॉल (CDP) के माध्यम से सीधे कनेक्ट करना।
सिद्धांत
Chrome में एक अंतर्निहित डिबगिंग इंटरफ़ेस है जिसे DevTools Protocol (CDP) कहा जाता है। सामान्यतः जब आप F12 दबाते हैं, तो जो डेवलपर टूल खुलता है, वह इस प्रोटोकॉल का उपयोग करता है। हमें जो करना है वह यह है कि Chrome को इस इंटरफ़ेस को एक स्थानीय पोर्ट के माध्यम से उजागर करने के लिए कहना है, और फिर OpenClaw को इससे कनेक्ट करना है।
कनेक्ट होने के बाद, OpenClaw ब्राउज़र को मानव की तरह संचालित कर सकता है: बटन पर क्लिक करना, फ़ॉर्म भरना, पृष्ठ की सामग्री पढ़ना, सब कुछ संभव है। और चूंकि यह निम्न स्तर के प्रोटोकॉल के माध्यम से होता है, यह एक्सटेंशन रिले की तुलना में कहीं अधिक स्थिर है।
समस्याएँ: user-data-dir की सीमाएँ
Chrome को रिमोट डिबगिंग पैरामीटर जोड़ने के लिए सीधे:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \ --remote-debugging-port=9222त्रुटि होगी: DevTools remote debugging requires a non-default data directory.
Chrome मजबूर करता है कि रिमोट डिबगिंग के लिए गैर-डिफ़ॉल्ट उपयोगकर्ता डेटा निर्देशिका का उपयोग करना आवश्यक है। यह एक सुरक्षा प्रतिबंध है - ताकि दुर्भावनापूर्ण प्रोग्राम आपके मुख्य ब्राउज़र से चुपचाप कनेक्ट न हो सकें।
आप सोच सकते हैं: तो मैं मैन्युअल रूप से डिफ़ॉल्ट पथ निर्दिष्ट नहीं कर सकता?
--user-data-dir="$HOME/Library/Application Support/Google/Chrome"काम नहीं करेगा। Chrome इसे डिफ़ॉल्ट पथ के रूप में पहचान लेगा और फिर भी अस्वीकार कर देगा।
समाधान: कॉन्फ़िगरेशन फ़ाइल की प्रति बनाना
चूंकि हम डिफ़ॉल्ट निर्देशिका का उपयोग नहीं कर सकते, तो इसे एक प्रति बनाकर बाहर निकालें। लॉगिन स्थिति, कुकीज़, बुकमार्क, सभी इस निर्देशिका में हैं, उन्हें कॉपी करने से सब कुछ ले जाया जाएगा।
# पहला कदम: Chrome को पूरी तरह से बंद करें (महत्वपूर्ण! बंद न करने पर कॉपी की गई फ़ाइलें क्षतिग्रस्त हो सकती हैं) pkill -f "Google Chrome"
दूसरा कदम: कॉन्फ़िगरेशन फ़ाइल को नए निर्देशिका में कॉपी करें
cp -r ~/Library/Application\ Support/Google/Chrome \ ~/Library/Application\ Support/Google/ChromeDebugफिर नए निर्देशिका से Chrome शुरू करें:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \ --remote-debugging-port=9222 \ --remote-debugging-address=127.0.0.1 \ --user-data-dir="$HOME/Library/Application Support/Google/ChromeDebug"पोर्ट के सफलतापूर्वक खुलने की पुष्टि करें:
curl http://127.0.0.1:9222/json/versionयदि JSON डेटा वापस मिलता है, तो इसका मतलब सफल हुआ।
OpenClaw कॉन्फ़िगर करें
अंतिम कदम, OpenClaw को इस ब्राउज़र से कनेक्ट करने के लिए बताना। संपादित करें ~/.openclaw/openclaw.json:
{ "browser":{ "defaultProfile":"my-browser", "profiles":{ "my-browser":{ "cdpUrl":"http://127.0.0.1:9222", "color":"#0066CC" } } } }ध्यान दें कि color फ़ील्ड को लिखना आवश्यक है, अन्यथा यह प्रमाणीकरण त्रुटि देगा: browser.profiles.my-browser.color: Invalid input: expected string, received undefined।
कॉन्फ़िगरेशन पूरा होने के बाद, OpenClaw CDP प्रोटोकॉल के माध्यम से आपके Chrome से कनेक्ट होगा, आपके सभी लॉगिन स्थिति के साथ वेब पृष्ठों पर कार्रवाई करने के लिए।
कुछ महत्वपूर्ण बातें
कॉपी की गई कॉन्फ़िगरेशन फ़ाइल एक स्नैपशॉट है, जो मुख्य Chrome के साथ स्वचालित रूप से समन्वयित नहीं होगी। यदि आप मुख्य Chrome में नए वेबसाइट पर लॉगिन करते हैं, तो डिबगिंग के लिए उपयोग किए जाने वाले Chrome में स्वचालित रूप से अपडेट नहीं होगा। समाधान बहुत सरल है: नियमित रूप से एक बार फिर से कॉपी करें, या डिबगिंग संस्करण Chrome को अपने बैकएंड के संचालन के लिए विशेष ब्राउज़र के रूप में उपयोग करें।
इसके अलावा, हर बार एक लंबी श्रृंखला के आदेश टाइप करने से बचने के लिए एक स्टार्ट स्क्रिप्ट लिखने की सिफारिश की जाती है:
#!/bin/bash
start-chrome-debug.sh
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \ --remote-debugging-port=9222 \ --remote-debugging-address=127.0.0.1 \ --user-data-dir="$HOME/Library/Application Support/Google/ChromeDebug"AI एजेंट को वास्तव में आपकी मदद करने के लिए, ब्राउज़र की लॉगिन स्थिति एक अनिवार्य बुनियादी समस्या है। यदि आप इस कदम को पूरा कर लेते हैं, तो OpenClaw की क्षमता कई गुना बढ़ जाएगी - प्रबंधन बैकएंड को संचालित करना, वेब कार्यों को बैच में करना, स्वचालित कार्यप्रवाह, सब कुछ संभव हो जाएगा।

