- इसे एक अलग, केवल-एजेंट ब्राउज़र समझें।
openclawप्रोफ़ाइल कभी भी आपकी निजी ब्राउज़र प्रोफ़ाइल को नहीं छूती। - एजेंट इस पृथक माध्यम में टैब खोलता है, पृष्ठ पढ़ता है, क्लिक करता है और टाइप करता है।
- इसके बजाय, अंतर्निहित
userप्रोफ़ाइल Chrome DevTools MCP के माध्यम से आपके वास्तविक साइन-इन किए गए Chrome सत्र से जुड़ती है।
आपको क्या मिलता है
- openclaw नामक एक अलग ब्राउज़र प्रोफ़ाइल (डिफ़ॉल्ट रूप से नारंगी रंग)।
- नियतात्मक टैब नियंत्रण (सूचीबद्ध करना/खोलना/फ़ोकस करना/बंद करना)।
- एजेंट क्रियाएँ (क्लिक/टाइप/ड्रैग/चयन), स्नैपशॉट, स्क्रीनशॉट, PDF।
- Playwright-समर्थित प्रोफ़ाइल प्रत्यक्ष अटैचमेंट नेविगेशन को प्रबंधित डाउनलोड डायरेक्टरी में सहेजती हैं और अंतिम-URL नीति सत्यापन के बाद
{ url, suggestedFilename, path }मेटाडेटा लौटाती हैं। - जब कोई क्रिया तुरंत एक या अधिक डाउनलोड शुरू करती है, तो Playwright-समर्थित एजेंट क्रियाएँ उसी प्रबंधित मेटाडेटा वाली
downloadsसरणी लौटाती हैं। - एक बंडल किया गया
browser-automationskill, जो ब्राउज़र plugin सक्षम होने पर एजेंटों को स्नैपशॉट, स्थिर-टैब, पुराने-संदर्भ और मैन्युअल-अवरोधक पुनर्प्राप्ति लूप सिखाता है। - वैकल्पिक बहु-प्रोफ़ाइल समर्थन (
openclaw,work,remote, …)।
openclaw browser CLI संदर्भ देखें।
त्वरित शुरुआत
browser.enabled बंद है; देखें
कॉन्फ़िगरेशन और Plugin नियंत्रण।
यदि openclaw browser पूरी तरह अनुपस्थित है, या एजेंट कहता है कि ब्राउज़र टूल
अनुपलब्ध है, तो ब्राउज़र कमांड या टूल अनुपस्थित है पर जाएँ।
Plugin नियंत्रण
डिफ़ॉल्टbrowser टूल एक बंडल किया गया plugin है। इसे किसी अन्य ऐसे plugin से बदलने के लिए अक्षम करें जो समान browser टूल नाम पंजीकृत करता हो:
plugins.entries.browser.enabled और browser.enabled=true दोनों आवश्यक हैं। केवल plugin को अक्षम करने पर openclaw browser CLI, browser.request gateway विधि, एजेंट टूल और नियंत्रण सेवा एक इकाई के रूप में हट जाते हैं; प्रतिस्थापन के लिए आपका browser.* कॉन्फ़िगरेशन यथावत रहता है।
ब्राउज़र कॉन्फ़िगरेशन में बदलाव के बाद Gateway को पुनः आरंभ करना आवश्यक है, ताकि plugin अपनी सेवा फिर से पंजीकृत कर सके।
एजेंट मार्गदर्शन
टूल-प्रोफ़ाइल नोट:tools.profile: "coding" में web_search और
web_fetch शामिल हैं, लेकिन पूरा browser टूल नहीं। एजेंट या
उत्पन्न उप-एजेंट को ब्राउज़र स्वचालन उपयोग करने देने के लिए प्रोफ़ाइल
चरण में browser जोड़ें:
agents.entries.*.tools.alsoAllow: ["browser"] का उपयोग करें।
अकेला tools.subagents.tools.allow: ["browser"] पर्याप्त नहीं है, क्योंकि उप-एजेंट
नीति प्रोफ़ाइल फ़िल्टरिंग के बाद लागू होती है।
ब्राउज़र plugin दो स्तरों का एजेंट मार्गदर्शन प्रदान करता है:
browserटूल का विवरण संक्षिप्त, हमेशा-सक्रिय अनुबंध प्रदान करता है: सही प्रोफ़ाइल चुनें, संदर्भों को उसी टैब पर रखें, टैब को लक्षित करने के लिएtabId/लेबल का उपयोग करें और बहु-चरणीय कार्य के लिए ब्राउज़र skill लोड करें।- बंडल किया गया
browser-automationskill अधिक विस्तृत संचालन लूप प्रदान करता है: पहले स्थिति/टैब जाँचें, कार्य टैब को लेबल करें, क्रिया से पहले स्नैपशॉट लें, UI परिवर्तन के बाद फिर स्नैपशॉट लें, पुराने संदर्भों से एक बार पुनर्प्राप्ति करें और अनुमान लगाने के बजाय लॉगिन/2FA/captcha या कैमरा/माइक्रोफ़ोन अवरोधकों को मैन्युअल क्रिया के रूप में रिपोर्ट करें।
ब्राउज़र कमांड या टूल अनुपस्थित है
यदि अपग्रेड के बादopenclaw browser अज्ञात है, browser.request अनुपस्थित है या एजेंट ब्राउज़र टूल को अनुपलब्ध बताता है, तो सामान्य कारण ऐसी plugins.allow सूची है जिसमें browser शामिल नहीं है और कोई रूट browser कॉन्फ़िगरेशन ब्लॉक मौजूद नहीं है। इसे जोड़ें:
browser ब्लॉक (browser के अंतर्गत कोई भी कुंजी, जैसे
browser.enabled=true या browser.profiles.<name>) प्रतिबंधात्मक plugins.allow के अंतर्गत भी बंडल किए गए
ब्राउज़र plugin को सक्रिय करता है, जो बंडल किए गए चैनल कॉन्फ़िगरेशन व्यवहार के अनुरूप है। केवल
plugins.entries.browser.enabled=true और tools.alsoAllow: ["browser"] स्वयं अनुमति-सूची की सदस्यता का
स्थान नहीं ले सकते। plugins.allow को पूरी तरह हटाने से भी डिफ़ॉल्ट पुनर्स्थापित हो जाता है।
प्रोफ़ाइल: openclaw, user, chrome
openclaw: प्रबंधित, पृथक ब्राउज़र (किसी एक्सटेंशन की आवश्यकता नहीं)।user: आपके वास्तविक साइन-इन किए गए Chrome सत्र के लिए अंतर्निहित Chrome DevTools MCP अटैच प्रोफ़ाइल। OpenClaw के पहली बार जुड़ने पर Chrome अवरोधक “Allow remote debugging?” प्रॉम्प्ट दिखाता है, इसलिए किसी व्यक्ति का कंप्यूटर के पास होना आवश्यक है।chrome: आपके वास्तविक साइन-इन किए गए Chrome सत्र के लिए अंतर्निहित Chrome एक्सटेंशन प्रोफ़ाइल। यह फ़ोन से तब भी काम करता है जब डेस्क पर कोई न हो, क्योंकि यह रिमोट-डीबगिंग पोर्ट के बजाय OpenClaw ब्राउज़र एक्सटेंशन के माध्यम से टैब संचालित करता है, इसलिए “Allow remote debugging?” प्रॉम्प्ट नहीं आता।
- डिफ़ॉल्ट: पृथक
openclawब्राउज़र का उपयोग करें। - जब मौजूदा लॉग-इन सत्र महत्वपूर्ण हों और उपयोगकर्ता कंप्यूटर से दूर हो
(Telegram, WhatsApp आदि), तो
profile="chrome"(एक्सटेंशन) को प्राथमिकता दें। - जब मौजूदा लॉग-इन सत्र महत्वपूर्ण हों और उपयोगकर्ता अटैच प्रॉम्प्ट को स्वीकृति देने के लिए
कंप्यूटर पर हो, तो
profile="user"(Chrome MCP) को प्राथमिकता दें। - जब आप कोई विशिष्ट ब्राउज़र मोड चाहते हैं, तो
profileस्पष्ट ओवरराइड है।
browser.defaultProfile: "openclaw" सेट करें।
कॉन्फ़िगरेशन
ब्राउज़र सेटिंग्स~/.openclaw/openclaw.json में रहती हैं।
snapshotFormat या
mode नहीं देता, तब browser.snapshotDefaults.mode: "efficient" डिफ़ॉल्ट snapshot
निष्कर्षण मोड बदलता है; प्रत्येक कॉल के स्नैपशॉट विकल्पों के लिए ब्राउज़र नियंत्रण API देखें।
टैब सफ़ाई का स्वामित्व
सत्र टैब सफ़ाई केवल OpenClaw ब्राउज़र टूल द्वाराaction: "open" के साथ बनाए गए टैब पर लागू होती है। OpenClaw उन टैब को नहीं अपनाता जो पहले से खुले थे,
उपयोगकर्ता द्वारा खोले गए थे या जिनका स्वामित्व अन्यथा अज्ञात है।
browser.tabCleanup ब्लॉक प्राथमिक सत्रों के लिए आवधिक निष्क्रियता और सीमा सफ़ाई को नियंत्रित करता है;
इसे अक्षम करने से स्पष्ट सत्र जीवनचक्र सफ़ाई अक्षम नहीं होती।
होस्ट-स्थानीय ओपन के लिए, स्थिर नेटिव CDP लक्ष्य और ब्राउज़र
पहचान वाला स्वामित्व साझा SQLite स्थिति में संग्रहीत होता है। वे रिकॉर्ड Gateway
के पुनरारंभ के बाद भी बने रहते हैं और /new तथा अन्य सत्र जीवनचक्र सफ़ाई के योग्य रहते हैं;
सत्र जीवनचक्र सफ़ाई में उप-एजेंट, cron और ACP सत्र की समाप्तियाँ शामिल हैं।
जिन रिकॉर्ड का टूल-सामना लक्ष्य नेटिव CDP लक्ष्य है, वे पुनरारंभ के बाद
निष्क्रियता और प्रति-सत्र सीमा सफ़ाई के लिए भी योग्य बने रहते हैं। Chrome MCP लक्ष्य हैंडल
प्रक्रिया-स्थानीय होते हैं, इसलिए निष्क्रिय मौजूदा-सत्र रिकॉर्ड जीवनचक्र सफ़ाई की प्रतीक्षा करते हैं,
बजाय ऐसी गतिविधि पर निष्क्रियता सफ़ाई का जोखिम लेने के जिसे पुनरारंभ के बाद सुरक्षित रूप से
किसी के नाम नहीं किया जा सकता। यह स्थायी पथ OpenClaw-प्रबंधित प्रोफ़ाइल,
नियमित रिमोट CDP प्रोफ़ाइल और स्पष्ट cdpUrl वाली मौजूदा-सत्र प्रोफ़ाइल को कवर कर सकता है,
बशर्ते OpenClaw नेटिव लक्ष्य और स्थिर ब्राउज़र पहचान दोनों को हल कर सके।
किसी स्थायी रिकॉर्ड को बंद करने से पहले, OpenClaw सत्यापित करता है कि
कॉन्फ़िगर की गई प्रोफ़ाइल और ब्राउज़र इंस्टेंस अभी भी मेल खाते हैं।
Chrome MCP --autoConnect, ऐसे CDP एंडपॉइंट जिनकी /json/version प्रतिक्रिया में
स्थिर ब्राउज़र पहचान नहीं है और ऐसे ओपन जिनका नेटिव लक्ष्य हल नहीं किया जा सकता,
प्रक्रिया-स्थानीय सर्वोत्तम-प्रयास ट्रैकिंग बने रहते हैं। उस Gateway प्रक्रिया के चलते समय
उनकी सफ़ाई की जा सकती है, लेकिन Gateway के पुनरारंभ के बाद वे स्वचालित रूप से बंद नहीं होते।
स्थायी ट्रैकिंग उपलब्ध होने से पहले खुले छोड़े गए टैब पूर्वव्यापी रूप से नहीं अपनाए जाते;
उन टैब को मैन्युअल रूप से बंद करें।
सफ़ाई सर्वोत्तम प्रयास है, यह गारंटी नहीं कि प्रत्येक योग्य टैब
तुरंत बंद हो जाएगा। अस्थायी स्वामित्व जाँच या बंद करने की विफलता स्थायी
सफ़ाई को बाद में पुनः प्रयास के लिए लंबित छोड़ देती है। पुनः प्रयास असीमित नहीं हैं:
जब ब्राउज़र पहुँच से बाहर बना रहता है और टैब का एक दिन से अधिक समय तक उपयोग नहीं हुआ हो,
तो ट्रैकिंग पंक्ति हटा दी जाती है, ताकि स्थायी स्टोर ऐसे टैब से न भर सके जिन्हें
फिर कभी सत्यापित नहीं किया जा सकता।
स्क्रीनशॉट विज़न (केवल-पाठ मॉडल समर्थन)
जब मुख्य मॉडल केवल-पाठ है (विज़न/मल्टीमोडल समर्थन नहीं है), तो ब्राउज़र स्क्रीनशॉट ऐसे छवि ब्लॉक लौटाते हैं जिन्हें मॉडल पढ़ नहीं सकता। ब्राउज़र स्क्रीनशॉट मौजूदा छवि-समझ कॉन्फ़िगरेशन का पुनः उपयोग करते हैं, इसलिए मीडिया समझ के लिए कॉन्फ़िगर किया गया छवि मॉडल बिना किसी ब्राउज़र-विशिष्ट मॉडल सेटिंग के स्क्रीनशॉट का पाठ के रूप में वर्णन कर सकता है।- एजेंट
browser screenshotको कॉल करता है और हमेशा की तरह एक छवि डिस्क पर कैप्चर की जाती है। - ब्राउज़र टूल मौजूदा छवि-समझ रनटाइम से पूछता है कि क्या वह कॉन्फ़िगर किए गए मीडिया छवि मॉडल, साझा मीडिया मॉडल, छवि-मॉडल डिफ़ॉल्ट या प्रमाणीकरण-समर्थित छवि प्रदाता का उपयोग करके स्क्रीनशॉट का वर्णन कर सकता है।
- विज़न मॉडल एक टेक्स्ट विवरण लौटाता है, जिसे
wrapExternalContent(प्रॉम्प्ट इंजेक्शन सुरक्षा) से रैप करके एजेंट को छवि ब्लॉक के बजाय टेक्स्ट ब्लॉक के रूप में लौटाया जाता है। - यदि छवि-समझ अनुपलब्ध हो, छोड़ दी जाए या विफल हो जाए, तो ब्राउज़र मूल छवि ब्लॉक लौटाने पर वापस आ जाता है।
tools.media.image / tools.media.models फ़ील्ड का उपयोग करें।
यदि सक्रिय मुख्य मॉडल पहले से विज़न का समर्थन करता है और कोई स्पष्ट
छवि-समझ मॉडल कॉन्फ़िगर नहीं है, तो OpenClaw सामान्य छवि परिणाम बनाए रखता है,
ताकि मुख्य मॉडल स्क्रीनशॉट को सीधे पढ़ सके।
पोर्ट और पहुँचयोग्यता
पोर्ट और पहुँचयोग्यता
- नियंत्रण सेवा
gateway.portसे व्युत्पन्न पोर्ट पर लूपबैक से बाइंड होती है (डिफ़ॉल्ट18791= Gateway + 2)।OPENCLAW_GATEWAY_PORTकोgateway.portपर प्राथमिकता मिलती है; दोनों में से कोई भी उसी समूह के व्युत्पन्न पोर्ट को स्थानांतरित करता है। - स्थानीय
openclawप्रोफ़ाइल नियंत्रण पोर्ट से 9 पोर्ट ऊपर शुरू होने वाली सीमा (डिफ़ॉल्ट18800-18899) सेcdpPort/cdpUrlअपने-आप आवंटित करती हैं; इन्हें केवल रिमोट CDP प्रोफ़ाइल या मौजूदा-सत्र एंडपॉइंट से संलग्न करने के लिए सेट करें। सेट न होने परcdpUrlप्रबंधित स्थानीय CDP पोर्ट पर डिफ़ॉल्ट होता है। - रिमोट और
attachOnlyCDP पहुँचयोग्यता, WebSocket हैंडशेक और स्थानीय प्रबंधित Chrome स्टार्टअप अंतर्निहित समय-सीमाओं का उपयोग करते हैं। - प्रबंधित Chrome को बार-बार लॉन्च करने या उसकी तैयारी में होने वाली विफलताओं पर प्रत्येक प्रोफ़ाइल के लिए सर्किट ब्रेक लागू होता है। लगातार कई विफलताओं के बाद, OpenClaw हर ब्राउज़र टूल कॉल पर Chromium शुरू करने के बजाय नए लॉन्च प्रयासों को थोड़ी देर के लिए रोक देता है। स्टार्टअप समस्या ठीक करें, ब्राउज़र की आवश्यकता न होने पर उसे अक्षम करें या सुधार के बाद Gateway पुनः आरंभ करें।
SSRF नीति
SSRF नीति
- ब्राउज़र नेविगेशन और टैब खोलने के अनुरोधों की प्रारंभिक जाँच की जाती है। कार्रवाई और कार्रवाई के बाद की सीमित अनुग्रह अवधि के दौरान, संरक्षित Playwright इंटरैक्शन (क्लिक, निर्देशांक क्लिक, होवर, ड्रैग, स्क्रॉल, चयन, प्रेस, टाइप, फ़ॉर्म भरना और मूल्यांकन) HTTP अनुरोध बाइट भेजे जाने से पहले नीति द्वारा अस्वीकृत शीर्ष-स्तरीय और सबफ़्रेम दस्तावेज़ लोड को रोकते हैं, फिर अंतिम
http(s)URL की यथासंभव पुनः जाँच करते हैं। - हर नए OpenClaw-प्रबंधित Chrome लॉन्च से पहले, OpenClaw यथासंभव नेटवर्क पूर्वानुमान अक्षम करता है, जिससे उन अस्वीकृत लोड के लिए Chromium का देखा गया अनुमानित प्रीकनेक्ट दब जाता है। यह बहुस्तरीय सुरक्षा है, नीति की सीमा नहीं: नियंत्रण-सेवा पुनः आरंभ होने के बाद पुनः उपयोग किया गया ब्राउज़र और अन्य ब्राउज़र बैकएंड इस सुदृढ़ीकरण को साझा नहीं कर सकते। Playwright रूटिंग फिर भी नेटवर्क फ़ायरवॉल नहीं है और रीडायरेक्ट हॉप, पॉपअप के पहले अनुरोध, Service Worker ट्रैफ़िक, सीमित सुरक्षा विंडो के बाद चलने वाले पेज कोड या प्रत्येक पृष्ठभूमि/उप-संसाधन पथ को इंटरसेप्ट नहीं करती। पूर्ण निर्गमन पृथक्करण के लिए स्वामी-पक्ष पृथक्करण या नीति लागू करने वाला प्रॉक्सी आवश्यक है।
- सख्त SSRF मोड में रिमोट CDP एंडपॉइंट खोज और
/json/versionप्रोब (cdpUrl) की भी जाँच की जाती है। - Gateway/प्रदाता
HTTP_PROXY,HTTPS_PROXY,ALL_PROXYऔरNO_PROXYपर्यावरण चर OpenClaw-प्रबंधित ब्राउज़र को अपने-आप प्रॉक्सी नहीं करते। प्रबंधित Chrome डिफ़ॉल्ट रूप से सीधे लॉन्च होता है, ताकि प्रदाता प्रॉक्सी सेटिंग ब्राउज़र की SSRF जाँच को कमजोर न करें। - OpenClaw-प्रबंधित स्थानीय CDP तैयारी प्रोब और DevTools WebSocket कनेक्शन लॉन्च किए गए सटीक लूपबैक एंडपॉइंट के लिए प्रबंधित नेटवर्क प्रॉक्सी को बायपास करते हैं, इसलिए ऑपरेटर प्रॉक्सी द्वारा लूपबैक निर्गमन अवरुद्ध किए जाने पर भी
openclaw browser startकाम करता है। - प्रबंधित ब्राउज़र को ही प्रॉक्सी करने के लिए,
browser.extraArgsके माध्यम से स्पष्ट Chrome प्रॉक्सी फ़्लैग पास करें, जैसे--proxy-server=...या--proxy-pac-url=...। जब तक निजी-नेटवर्क ब्राउज़र पहुँच जानबूझकर सक्षम न हो, सख्त SSRF मोड स्पष्ट ब्राउज़र प्रॉक्सी रूटिंग को अवरुद्ध करता है। browser.ssrfPolicy.dangerouslyAllowPrivateNetworkडिफ़ॉल्ट रूप से बंद रहता है; इसे केवल तभी सक्षम करें जब निजी-नेटवर्क ब्राउज़र पहुँच पर जानबूझकर भरोसा किया गया हो।browser.ssrfPolicy.allowPrivateNetworkलेगेसी उपनाम के रूप में समर्थित रहता है।
प्रोफ़ाइल व्यवहार
प्रोफ़ाइल व्यवहार
attachOnly: trueका अर्थ है कि स्थानीय ब्राउज़र कभी लॉन्च न करें; केवल तभी संलग्न करें जब कोई ब्राउज़र पहले से चल रहा हो।headlessको वैश्विक रूप से या प्रत्येक स्थानीय प्रबंधित प्रोफ़ाइल के लिए सेट किया जा सकता है। प्रति-प्रोफ़ाइल मानbrowser.headlessको ओवरराइड करते हैं, इसलिए स्थानीय रूप से लॉन्च की गई एक प्रोफ़ाइल हेडलेस रह सकती है जबकि दूसरी दृश्यमान रहती है।POST /start?headless=trueऔरopenclaw browser start --headlessbrowser.headlessया प्रोफ़ाइल कॉन्फ़िगरेशन को दोबारा लिखे बिना स्थानीय प्रबंधित प्रोफ़ाइल के लिए एकबारगी हेडलेस लॉन्च का अनुरोध करते हैं। मौजूदा-सत्र, केवल-संलग्न और रिमोट CDP प्रोफ़ाइल इस ओवरराइड को अस्वीकार करती हैं, क्योंकि OpenClaw उन ब्राउज़र प्रक्रियाओं को लॉन्च नहीं करता।DISPLAYयाWAYLAND_DISPLAYके बिना Linux होस्ट पर, जब न तो पर्यावरण और न ही प्रोफ़ाइल/वैश्विक कॉन्फ़िगरेशन स्पष्ट रूप से हेडेड मोड चुनता है, तो स्थानीय प्रबंधित प्रोफ़ाइल अपने-आप हेडलेस पर डिफ़ॉल्ट होती हैं। स्पष्ट ब्राउज़र-स्तरीय रूपopenclaw browser --json statusका उपयोग करें; अंत मेंopenclaw browser status --jsonभी काम करता है, क्योंकिstatusअपना स्वयं का--jsonपरिभाषित नहीं करता। कमांडheadlessSourceकोenv,profile,config,request,linux-display-fallbackयाdefaultके रूप में रिपोर्ट करता है।OPENCLAW_BROWSER_HEADLESS=1वर्तमान प्रक्रिया के लिए स्थानीय प्रबंधित लॉन्च को हेडलेस होने के लिए बाध्य करता है।OPENCLAW_BROWSER_HEADLESS=0सामान्य शुरुआतों के लिए हेडेड मोड बाध्य करता है और डिस्प्ले सर्वर के बिना Linux होस्ट पर कार्रवाई योग्य त्रुटि लौटाता है; स्पष्टstart --headlessअनुरोध फिर भी उस एक लॉन्च के लिए प्राथमिकता पाता है।- ब्राउज़र-नियंत्रण रूट और प्रोग्रामेटिक क्लाइंट बिना-डिस्प्ले वाली त्रुटि के
मानव-पठनीय
errorको बनाए रखते हैं और स्थिर कारणno_display_for_headed_profileप्रकट करते हैं। इसकेdetailsमें केवलprofile,requestedHeadless,headlessSourceऔरdisplayPresentहोते हैं, ताकि API क्लाइंट संदेश टेक्स्ट का मिलान किए बिना सही समाधान चुन सकें। - चल रही स्थानीय प्रबंधित प्रोफ़ाइल के लिए, स्थिति और डॉक्टर रेंडरर, बैकएंड,
डिवाइस/ड्राइवर, सुविधा स्थिति, ड्राइवर समाधान और त्वरित वीडियो क्षमताओं के लिए Chrome के
ब्राउज़र-स्तरीय CDP एंडपॉइंट से क्वेरी करते हैं। परिणाम उस ब्राउज़र प्रक्रिया के लिए
कैश किया जाता है और
openclaw browser --json statusद्वारा पूर्ण रूप से प्रदर्शित होता है। निष्क्रिय स्थिति कॉल Chrome को लॉन्च नहीं करती। मौजूदा-सत्र, एक्सटेंशन, रिमोट CDP और सैंडबॉक्स ब्राउज़र अलग रहते हैं और इस प्रबंधित-होस्ट पथ के माध्यम से उनका निरीक्षण नहीं किया जाता। - हेडलेस प्रबंधित Chrome अब भी रूढ़िवादी
--disable-gpuडिफ़ॉल्ट का उपयोग करता है। निदान त्वरण सक्षम नहीं करता, कोई वैश्विक त्वरण सेटिंग नहीं जोड़ता और सैंडबॉक्स ब्राउज़र को डिवाइस पहुँच प्रदान नहीं करता। executablePathको वैश्विक रूप से या प्रत्येक स्थानीय प्रबंधित प्रोफ़ाइल के लिए सेट किया जा सकता है। प्रति-प्रोफ़ाइल मानbrowser.executablePathको ओवरराइड करते हैं, इसलिए अलग-अलग प्रबंधित प्रोफ़ाइल अलग Chromium-आधारित ब्राउज़र लॉन्च कर सकती हैं। दोनों रूप आपके OS होम डायरेक्टरी के लिए~स्वीकार करते हैं।color(शीर्ष-स्तरीय और प्रति-प्रोफ़ाइल) ब्राउज़र UI को रंग देता है, ताकि आप देख सकें कि कौन-सी प्रोफ़ाइल सक्रिय है।- डिफ़ॉल्ट प्रोफ़ाइल
openclaw(प्रबंधित स्वतंत्र) है। साइन-इन किए हुए उपयोगकर्ता ब्राउज़र को चुनने के लिएdefaultProfile: "user"का उपयोग करें। - स्वतः-पहचान क्रम: यदि सिस्टम का डिफ़ॉल्ट ब्राउज़र Chromium-आधारित है, तो वह; अन्यथा Chrome, Brave, Edge, Chromium, Chrome Canary।
driver: "existing-session"रॉ CDP के बजाय Chrome DevTools MCP का उपयोग करता है। यह Chrome MCP ऑटो-कनेक्ट के माध्यम से या पहले से चल रहे ब्राउज़र के लिए DevTools एंडपॉइंट होने परcdpUrlके माध्यम से संलग्न हो सकता है।driver: "extension"आपके साइन-इन किए हुए Chrome को OpenClaw Chrome एक्सटेंशन के माध्यम से संचालित करता है। रिले अपने लूपबैक एंडपॉइंट का स्वामी होता है, इसलिए ये प्रोफ़ाइलcdpUrlस्वीकार नहीं करतीं। यह एकमात्र साइन-इन-ब्राउज़र मोड है जो कंप्यूटर पर किसी के मौजूद न होने पर भी काम करता है।- जब मौजूदा-सत्र प्रोफ़ाइल को किसी गैर-डिफ़ॉल्ट Chromium उपयोगकर्ता प्रोफ़ाइल (Brave, Edge आदि) से संलग्न होना हो, तब
browser.profiles.<name>.userDataDirसेट करें। यह पथ आपके OS होम डायरेक्टरी के लिए~भी स्वीकार करता है।
Brave या किसी अन्य Chromium-आधारित ब्राउज़र का उपयोग करें
यदि आपका सिस्टम डिफ़ॉल्ट ब्राउज़र Chromium-आधारित (Chrome/Brave/Edge/आदि) है, तो OpenClaw उसका अपने-आप उपयोग करता है। स्वतः-पहचान को ओवरराइड करने के लिएbrowser.executablePath सेट करें। शीर्ष-स्तरीय और प्रति-प्रोफ़ाइल executablePath मान
आपके OS होम डायरेक्टरी के लिए ~ स्वीकार करते हैं:
- macOS
- Windows
- Linux
executablePath केवल उन स्थानीय प्रबंधित प्रोफ़ाइल को प्रभावित करता है जिन्हें OpenClaw
लॉन्च करता है। इसके बजाय existing-session प्रोफ़ाइल पहले से चल रहे ब्राउज़र से संलग्न होती हैं,
और रिमोट CDP प्रोफ़ाइल cdpUrl के पीछे वाले ब्राउज़र का उपयोग करती हैं।
स्थानीय बनाम रिमोट नियंत्रण
- स्थानीय नियंत्रण (डिफ़ॉल्ट): Gateway लूपबैक नियंत्रण सेवा शुरू करता है और स्थानीय ब्राउज़र लॉन्च कर सकता है।
- रिमोट नियंत्रण (Node होस्ट): जिस मशीन पर ब्राउज़र है, उस पर Node होस्ट चलाएँ; Gateway ब्राउज़र कार्रवाइयों को उसके पास प्रॉक्सी करता है।
- रिमोट CDP: रिमोट Chromium-आधारित ब्राउज़र से संलग्न होने के लिए
browser.profiles.<name>.cdpUrl(याbrowser.cdpUrl) सेट करें। इस स्थिति में OpenClaw स्थानीय ब्राउज़र लॉन्च नहीं करेगा। - लूपबैक पर बाहरी रूप से प्रबंधित CDP सेवाओं (उदाहरण के लिए, Docker में
127.0.0.1पर प्रकाशित Browserless) के लिएattachOnly: trueभी सेट करें।attachOnlyके बिना लूपबैक CDP को स्थानीय OpenClaw-प्रबंधित ब्राउज़र प्रोफ़ाइल माना जाता है। headlessकेवल उन स्थानीय प्रबंधित प्रोफ़ाइल को प्रभावित करता है जिन्हें OpenClaw लॉन्च करता है। यह मौजूदा-सत्र या रिमोट CDP ब्राउज़र को पुनः आरंभ या परिवर्तित नहीं करता।executablePathभी उसी स्थानीय प्रबंधित प्रोफ़ाइल नियम का पालन करता है। चल रही स्थानीय प्रबंधित प्रोफ़ाइल पर इसे बदलने से वह प्रोफ़ाइल पुनः आरंभ/समायोजन के लिए चिह्नित हो जाती है, ताकि अगला लॉन्च नए बाइनरी का उपयोग करे।
- स्थानीय प्रबंधित प्रोफ़ाइल:
openclaw browser stopउस ब्राउज़र प्रक्रिया को रोकता है जिसे OpenClaw ने लॉन्च किया था - केवल-संलग्न और रिमोट CDP प्रोफ़ाइल:
openclaw browser stopसक्रिय नियंत्रण सत्र को बंद करता है और Playwright/CDP अनुकरण ओवरराइड (व्यूपोर्ट, रंग योजना, लोकेल, समय क्षेत्र, ऑफ़लाइन मोड और इसी तरह की स्थिति) मुक्त करता है, भले ही OpenClaw ने कोई ब्राउज़र प्रक्रिया लॉन्च न की हो
- क्वेरी टोकन (उदाहरण के लिए,
https://provider.example?token=<token>) - HTTP बेसिक प्रमाणीकरण (उदाहरण के लिए,
https://user:pass@provider.example)
/json/* एंडपॉइंट्स को कॉल करते समय और CDP WebSocket से कनेक्ट करते समय प्रमाणीकरण को बनाए रखता है। टोकन को कॉन्फ़िगरेशन फ़ाइलों में कमिट करने के बजाय पर्यावरण चर या सीक्रेट मैनेजर का उपयोग करना बेहतर है।
Node ब्राउज़र प्रॉक्सी (शून्य-कॉन्फ़िगरेशन डिफ़ॉल्ट)
यदि आप उस मशीन पर Node होस्ट चलाते हैं जहाँ आपका ब्राउज़र है, तो OpenClaw बिना किसी अतिरिक्त ब्राउज़र कॉन्फ़िगरेशन के ब्राउज़र टूल कॉल को स्वचालित रूप से उस Node पर रूट कर सकता है। रिमोट Gateway के लिए यह डिफ़ॉल्ट पथ है। नोट्स:- Node होस्ट एक प्रॉक्सी कमांड के माध्यम से अपना स्थानीय ब्राउज़र नियंत्रण सर्वर उपलब्ध कराता है।
- प्रोफ़ाइल Node के अपने
browser.profilesकॉन्फ़िगरेशन (स्थानीय के समान) से आती हैं। allowProfilesचाहे जो भी हो, प्रॉक्सी कमांड कभी भी स्थायी प्रोफ़ाइल परिवर्तन (create-profile,delete-profile,reset-profile) की अनुमति नहीं देता; ये परिवर्तन सीधे Node पर करें।nodeHost.browserProxy.allowProfilesवैकल्पिक है। पुराने/डिफ़ॉल्ट व्यवहार के लिए इसे खाली छोड़ें: सभी कॉन्फ़िगर की गई प्रोफ़ाइल प्रॉक्सी के माध्यम से पहुँच योग्य बनी रहती हैं।- यदि आप
nodeHost.browserProxy.allowProfilesसेट करते हैं, तो OpenClaw इसे न्यूनतम-विशेषाधिकार सीमा मानता है, जो यह सीमित करती है कि प्रॉक्सी किन प्रोफ़ाइल नामों को लक्षित करेगा। - यदि आप इसे नहीं चाहते, तो अक्षम करें:
- Node पर:
nodeHost.browserProxy.enabled=false - Gateway पर:
gateway.nodes.browser.mode="off"(कनेक्ट किए गए किसी एक ब्राउज़र Node को चुनने के लिए"auto"या स्पष्ट Node पैरामीटर आवश्यक बनाने के लिए"manual"भी स्वीकार करता है)
- Node पर:
Browserless (होस्टेड रिमोट CDP)
Browserless एक होस्टेड Chromium सेवा है जो HTTPS और WebSocket पर CDP कनेक्शन URL उपलब्ध कराती है। OpenClaw दोनों प्रारूपों में से किसी का भी उपयोग कर सकता है, लेकिन रिमोट ब्राउज़र प्रोफ़ाइल के लिए सबसे सरल विकल्प Browserless के कनेक्शन दस्तावेज़ों में दिया गया सीधा WebSocket URL है। उदाहरण:<BROWSERLESS_API_KEY>को अपने वास्तविक Browserless टोकन से बदलें।- वह क्षेत्रीय एंडपॉइंट चुनें जो आपके Browserless खाते से मेल खाता हो (उनके दस्तावेज़ देखें)।
- यदि Browserless आपको HTTPS बेस URL देता है, तो आप सीधे CDP कनेक्शन के लिए उसे
wss://में बदल सकते हैं या HTTPS URL को बनाए रख सकते हैं और OpenClaw को/json/versionखोजने दे सकते हैं।
उसी होस्ट पर Browserless Docker
जब Browserless को Docker में स्वयं होस्ट किया गया हो और OpenClaw होस्ट पर चल रहा हो, तो Browserless को बाहरी रूप से प्रबंधित CDP सेवा मानें:browser.profiles.browserless.cdpUrl में दिया गया पता OpenClaw प्रक्रिया से पहुँच योग्य होना चाहिए। Browserless को उससे मेल खाने वाला पहुँच योग्य एंडपॉइंट भी विज्ञापित करना चाहिए; Browserless के EXTERNAL को उसी सार्वजनिक-से-OpenClaw WebSocket बेस पर सेट करें, जैसे ws://127.0.0.1:3000, ws://browserless:3000, या कोई स्थिर निजी Docker नेटवर्क पता। यदि /json/version, webSocketDebuggerUrl लौटाता है जो ऐसे पते की ओर संकेत करता है जहाँ OpenClaw नहीं पहुँच सकता, तो CDP HTTP स्वस्थ दिख सकता है, जबकि WebSocket अटैच फिर भी विफल होता है।
लूपबैक Browserless प्रोफ़ाइल के लिए attachOnly को अनसेट न छोड़ें। attachOnly के बिना, OpenClaw लूपबैक पोर्ट को स्थानीय रूप से प्रबंधित ब्राउज़र प्रोफ़ाइल मानता है और यह रिपोर्ट कर सकता है कि पोर्ट उपयोग में है, लेकिन उसका स्वामित्व OpenClaw के पास नहीं है।
सीधे WebSocket CDP प्रदाता
कुछ होस्टेड ब्राउज़र सेवाएँ मानक HTTP-आधारित CDP खोज (/json/version) के बजाय सीधा WebSocket एंडपॉइंट उपलब्ध कराती हैं। OpenClaw तीन CDP URL प्रारूप स्वीकार करता है और स्वचालित रूप से सही कनेक्शन रणनीति चुनता है:
- HTTP(S) खोज -
http://host[:port]याhttps://host[:port]। OpenClaw, WebSocket डीबगर URL खोजने के लिए/json/versionको कॉल करता है और फिर कनेक्ट करता है। कोई WebSocket फ़ॉलबैक नहीं। - सीधे WebSocket एंडपॉइंट -
ws://host[:port]/devtools/<kind>/<id>याwss://..., जिनमें/devtools/browser|page|worker|shared_worker|service_worker/<id>पथ हो। OpenClaw सीधे WebSocket हैंडशेक के माध्यम से कनेक्ट करता है और/json/versionको पूरी तरह छोड़ देता है। - साधारण WebSocket रूट -
ws://host[:port]याwss://host[:port], जिनमें कोई/devtools/...पथ न हो (उदाहरण: Browserless, Browserbase)। OpenClaw पहले HTTP/json/versionखोज का प्रयास करता है (स्कीम कोhttp/httpsमें सामान्यीकृत करके); यदि खोज कोईwebSocketDebuggerUrlलौटाती है, तो उसका उपयोग किया जाता है, अन्यथा OpenClaw साधारण रूट पर सीधे WebSocket हैंडशेक का फ़ॉलबैक उपयोग करता है। यदि विज्ञापित WebSocket एंडपॉइंट CDP हैंडशेक को अस्वीकार करता है, लेकिन कॉन्फ़िगर किया गया साधारण रूट उसे स्वीकार करता है, तो OpenClaw उस रूट का भी फ़ॉलबैक उपयोग करता है। इससे स्थानीय Chrome की ओर इंगित साधारणws://भी कनेक्ट हो सकता है, क्योंकि Chrome केवल/json/versionसे प्राप्त विशिष्ट प्रति-लक्ष्य पथ पर WebSocket अपग्रेड स्वीकार करता है, जबकि होस्टेड प्रदाता तब भी अपने रूट WebSocket एंडपॉइंट का उपयोग कर सकते हैं, जब उनका खोज एंडपॉइंट ऐसा अल्पकालिक URL विज्ञापित करता है जो Playwright CDP के लिए उपयुक्त नहीं है।
openclaw browser doctor रनटाइम अटैच के समान खोज-प्रथम, WebSocket-फ़ॉलबैक
तर्क का उपयोग करता है, इसलिए सफलतापूर्वक कनेक्ट होने वाले साधारण-रूट URL को
डायग्नोस्टिक्स द्वारा पहुँच से बाहर रिपोर्ट नहीं किया जाता।
Browserbase
Browserbase अंतर्निहित CAPTCHA समाधान, स्टेल्थ मोड और आवासीय प्रॉक्सी के साथ हेडलेस ब्राउज़र चलाने का एक क्लाउड प्लेटफ़ॉर्म है।- साइन अप करें और Overview dashboard से अपनी API Key कॉपी करें।
<BROWSERBASE_API_KEY>को अपनी वास्तविक Browserbase API कुंजी से बदलें।- Browserbase, WebSocket कनेक्शन पर स्वचालित रूप से ब्राउज़र सत्र बनाता है, इसलिए मैन्युअल सत्र निर्माण चरण की आवश्यकता नहीं है।
- वर्तमान निःशुल्क-स्तर सीमाओं और सशुल्क योजनाओं के लिए मूल्य निर्धारण देखें।
- संपूर्ण API संदर्भ, SDK मार्गदर्शिकाओं और एकीकरण उदाहरणों के लिए Browserbase दस्तावेज़ देखें।
Notte
Notte अंतर्निहित स्टेल्थ, आवासीय प्रॉक्सी और CDP-मूल WebSocket Gateway के साथ हेडलेस ब्राउज़र चलाने का एक क्लाउड प्लेटफ़ॉर्म है।- साइन अप करें और कंसोल सेटिंग्स पृष्ठ से अपनी API Key कॉपी करें।
<NOTTE_API_KEY>को अपनी वास्तविक Notte API कुंजी से बदलें।- Notte, WebSocket कनेक्शन पर स्वचालित रूप से ब्राउज़र सत्र बनाता है, इसलिए मैन्युअल सत्र निर्माण चरण की आवश्यकता नहीं है। WebSocket डिस्कनेक्ट होने पर सत्र नष्ट हो जाता है।
- वर्तमान निःशुल्क-स्तर सीमाओं और सशुल्क योजनाओं के लिए मूल्य निर्धारण देखें।
- संपूर्ण API संदर्भ, SDK मार्गदर्शिकाओं और एकीकरण उदाहरणों के लिए Notte दस्तावेज़ देखें।
सुरक्षा
मुख्य अवधारणाएँ:- ब्राउज़र नियंत्रण केवल लूपबैक तक सीमित है; पहुँच Gateway के प्रमाणीकरण या Node पेयरिंग से होकर जाती है।
- स्टैंडअलोन लूपबैक ब्राउज़र HTTP API केवल साझा-सीक्रेट प्रमाणीकरण का उपयोग करता है:
Gateway टोकन बेयरर प्रमाणीकरण,
x-openclaw-password, या कॉन्फ़िगर किए गए Gateway पासवर्ड के साथ HTTP Basic प्रमाणीकरण। - Tailscale Serve पहचान हेडर और
gateway.auth.mode: "trusted-proxy"इस स्टैंडअलोन लूपबैक ब्राउज़र API को प्रमाणित नहीं करते। - यदि ब्राउज़र नियंत्रण सक्षम है और कोई साझा-सीक्रेट प्रमाणीकरण कॉन्फ़िगर नहीं है, तो OpenClaw
स्टार्टअप पर ब्राउज़र-नियंत्रण क्रेडेंशियल स्वचालित रूप से बनाकर सुरक्षित रखता है:
जब
gateway.auth.mode,noneहो तब एक टोकन, या जब वहtrusted-proxyहो तब एक पासवर्ड (gateway.auth.passwordके माध्यम से सुरक्षित रखा जाता है ताकि प्रक्रिया से बाहर के लूपबैक क्लाइंट उसे प्राप्त कर सकें)। जब उस मोड के लिए स्पष्ट स्ट्रिंग क्रेडेंशियल पहले से कॉन्फ़िगर हो, या जबgateway.auth.mode,passwordहो, तो स्वचालित निर्माण छोड़ दिया जाता है। - यदि आप बनाए गए सीक्रेट के बजाय अपने नियंत्रण वाला स्थिर सीक्रेट चाहते हैं, तो
gateway.auth.token,gateway.auth.password,OPENCLAW_GATEWAY_TOKEN, याOPENCLAW_GATEWAY_PASSWORDको स्पष्ट रूप से कॉन्फ़िगर करें।
- जहाँ संभव हो, एन्क्रिप्टेड एंडपॉइंट (HTTPS या WSS) और अल्पकालिक टोकन को प्राथमिकता दें।
- दीर्घकालिक टोकन को सीधे कॉन्फ़िगरेशन फ़ाइलों में एम्बेड करने से बचें।
- Gateway और सभी Node होस्ट को निजी नेटवर्क (Tailscale) पर रखें; सार्वजनिक रूप से उपलब्ध कराने से बचें।
- रिमोट CDP URL/टोकन को सीक्रेट मानें; पर्यावरण चर या सीक्रेट मैनेजर को प्राथमिकता दें।
प्रोफ़ाइल (एकाधिक ब्राउज़र)
OpenClaw कई नामित प्रोफ़ाइल (रूटिंग कॉन्फ़िगरेशन) का समर्थन करता है। प्रोफ़ाइल ये हो सकती हैं:- OpenClaw-प्रबंधित: अपनी उपयोगकर्ता डेटा डायरेक्टरी + CDP पोर्ट वाला एक समर्पित Chromium-आधारित ब्राउज़र इंस्टेंस
- रिमोट: एक स्पष्ट CDP URL (कहीं और चल रहा Chromium-आधारित ब्राउज़र)
- मौजूदा सत्र: Chrome DevTools MCP के स्वचालित कनेक्शन के माध्यम से आपकी मौजूदा Chrome प्रोफ़ाइल
- यदि
openclawप्रोफ़ाइल मौजूद नहीं है, तो वह स्वचालित रूप से बनाई जाती है। userप्रोफ़ाइल Chrome MCP मौजूदा-सत्र अटैच के लिए अंतर्निहित है।userके अतिरिक्त मौजूदा-सत्र प्रोफ़ाइल वैकल्पिक होती हैं; उन्हें--driver existing-sessionसे बनाएँ।- स्थानीय CDP पोर्ट डिफ़ॉल्ट रूप से 18800-18899 से आवंटित होते हैं।
- किसी प्रोफ़ाइल को हटाने पर उसकी स्थानीय डेटा डायरेक्टरी Trash में चली जाती है।
?profile=<name> स्वीकार करते हैं; CLI --browser-profile का उपयोग करता है।
Chrome DevTools MCP के माध्यम से मौजूदा सत्र
OpenClaw आधिकारिक Chrome DevTools MCP सर्वर के माध्यम से चल रही Chromium-आधारित ब्राउज़र प्रोफ़ाइल से भी जुड़ सकता है। यह उस ब्राउज़र प्रोफ़ाइल में पहले से खुले टैब और लॉगिन स्थिति का पुनः उपयोग करता है। आधिकारिक पृष्ठभूमि और सेटअप संदर्भ:- Chrome for Developers: अपने ब्राउज़र सत्र के साथ Chrome DevTools MCP का उपयोग करें
- Chrome DevTools MCP README
user। यदि आप अलग नाम, रंग या ब्राउज़र डेटा डायरेक्टरी चाहते हैं, तो अपनी कस्टम मौजूदा-सत्र प्रोफ़ाइल बनाएँ।
डिफ़ॉल्ट रूप से अंतर्निहित user प्रोफ़ाइल Chrome MCP स्वचालित कनेक्शन का उपयोग करती है, जो डिफ़ॉल्ट स्थानीय Google Chrome प्रोफ़ाइल को लक्षित करता है। Brave, Edge, Chromium या गैर-डिफ़ॉल्ट Chrome प्रोफ़ाइल के लिए userDataDir का उपयोग करें। ~ आपके OS की होम डायरेक्टरी में विस्तृत होता है:
- रिमोट डीबगिंग के लिए उस ब्राउज़र का निरीक्षण पृष्ठ खोलें।
- रिमोट डीबगिंग सक्षम करें।
- ब्राउज़र को चालू रखें और OpenClaw के जुड़ने पर कनेक्शन संकेत को स्वीकृति दें।
- Chrome:
chrome://inspect/#remote-debugging - Brave:
brave://inspect/#remote-debugging - Edge:
edge://inspect/#remote-debugging
statusdriver: existing-sessionदिखाता हैstatustransport: chrome-mcpदिखाता हैstatusrunning: trueदिखाता हैtabsआपके पहले से खुले ब्राउज़र टैब सूचीबद्ध करता हैsnapshotचयनित लाइव टैब से रेफ़रेंस लौटाता है
- लक्षित Chromium-आधारित ब्राउज़र का संस्करण
144+है - उस ब्राउज़र के निरीक्षण पृष्ठ में रिमोट डीबगिंग सक्षम है
- ब्राउज़र ने अटैच सहमति प्रॉम्प्ट दिखाया और आपने उसे स्वीकार किया
- यदि Chrome को स्पष्ट
--remote-debugging-portके साथ शुरू किया गया था, तो Chrome MCP ऑटो-कनेक्ट पर निर्भर रहने के बजायbrowser.profiles.<name>.cdpUrlको उस DevTools एंडपॉइंट पर सेट करें openclaw doctorपुराने एक्सटेंशन-आधारित ब्राउज़र कॉन्फ़िगरेशन को माइग्रेट करता है और जाँचता है कि डिफ़ॉल्ट ऑटो-कनेक्ट प्रोफ़ाइल के लिए Chrome स्थानीय रूप से इंस्टॉल है, लेकिन यह आपके लिए ब्राउज़र-साइड रिमोट डीबगिंग सक्षम नहीं कर सकता
- जब आपको उपयोगकर्ता के लॉग-इन ब्राउज़र की स्थिति चाहिए, तो
profile="user"का उपयोग करें। - यदि आप कस्टम मौजूदा-सत्र प्रोफ़ाइल का उपयोग करते हैं, तो उस स्पष्ट प्रोफ़ाइल नाम को पास करें।
- यह मोड केवल तभी चुनें, जब उपयोगकर्ता अटैच प्रॉम्प्ट को स्वीकृति देने के लिए कंप्यूटर पर मौजूद हो।
- Gateway या Node होस्ट
npx chrome-devtools-mcp@latest --autoConnectको शुरू कर सकता है।
- यह पथ पृथक
openclawप्रोफ़ाइल की तुलना में अधिक जोखिम वाला है, क्योंकि यह आपके साइन-इन ब्राउज़र सत्र के भीतर कार्रवाई कर सकता है। - OpenClaw इस ड्राइवर के लिए ब्राउज़र लॉन्च नहीं करता; यह केवल अटैच करता है।
- OpenClaw यहाँ आधिकारिक Chrome DevTools MCP
--autoConnectप्रवाह का उपयोग करता है। यदिuserDataDirसेट है, तो उस उपयोगकर्ता डेटा डायरेक्टरी को लक्षित करने के लिए उसे आगे पास किया जाता है। - मौजूदा-सत्र चयनित होस्ट पर या कनेक्टेड ब्राउज़र Node के माध्यम से अटैच कर सकता है। यदि Chrome कहीं और मौजूद है और कोई ब्राउज़र Node कनेक्टेड नहीं है, तो इसके बजाय रिमोट CDP या Node होस्ट का उपयोग करें।
- Chrome MCP लक्ष्य और स्नैपशॉट रेफ़रेंस एक MCP सबप्रोसेस तक सीमित होते हैं। उस
प्रक्रिया के पुनः शुरू होने के बाद,
browser tabsको फिर से चलाएँ, लक्ष्य-विशिष्ट कार्य से पहले स्पष्ट रूप से नया लक्ष्य चुनें और रेफ़रेंस का उपयोग करने से पहले नया स्नैपशॉट लें। प्रत्येक रेफ़रेंस केवल अपने लक्ष्य और नवीनतम स्नैपशॉट के लिए मान्य है। पुराने उपनाम प्रतिस्थापन टैब में स्थानांतरित नहीं किए जाते, भले ही उसका URL मेल खाता हो। - Chrome DevTools MCP वर्तमान में पृष्ठ टूल को प्रक्रिया-स्थानीय संख्यात्मक पृष्ठ ID के अनुसार रूट करता है। प्रक्रिया-सीमित हैंडल सबप्रोसेस प्रतिस्थापन के दौरान पुनः उपयोग रोकते हैं, लेकिन पास-पास की टूल कॉल के बीच प्रक्रिया के भीतर ब्राउज़र-कॉन्टेक्स्ट प्रतिस्थापन अब भी किसी कार्रवाई को दोबारा लक्षित कर सकता है। पूरी तरह परमाण्विक रूटिंग के लिए स्थिर लक्ष्य ID हेतु अपस्ट्रीम पृष्ठ-टूल समर्थन आवश्यक है।
कस्टम Chrome MCP लॉन्च
जब डिफ़ॉल्टnpx chrome-devtools-mcp@latest प्रवाह आपकी आवश्यकता के अनुरूप न हो (ऑफ़लाइन होस्ट,
पिन किए गए संस्करण, वेंडर किए गए बाइनरी), तो प्रत्येक प्रोफ़ाइल के लिए शुरू किए गए Chrome DevTools MCP सर्वर को ओवरराइड करें:
जब मौजूदा-सत्र प्रोफ़ाइल पर
cdpUrl सेट होता है, तो OpenClaw
--autoConnect को छोड़ देता है और एंडपॉइंट को स्वचालित रूप से Chrome MCP को अग्रेषित करता है:
http(s)://...→--browserUrl <url>(DevTools HTTP खोज एंडपॉइंट)।ws(s)://...→--wsEndpoint <url>(प्रत्यक्ष CDP WebSocket)।
userDataDir को एक साथ उपयोग नहीं किया जा सकता: जब cdpUrl सेट होता है,
Chrome MCP लॉन्च के लिए userDataDir को अनदेखा किया जाता है, क्योंकि Chrome MCP किसी प्रोफ़ाइल
डायरेक्टरी को खोलने के बजाय एंडपॉइंट के पीछे चल रहे ब्राउज़र से अटैच होता है।
मौजूदा-सत्र सुविधा की सीमाएँ
मौजूदा-सत्र सुविधा की सीमाएँ
प्रबंधित
openclaw प्रोफ़ाइल की तुलना में, मौजूदा-सत्र ड्राइवर अधिक सीमित होते हैं:- स्क्रीनशॉट - पृष्ठ कैप्चर और
--refएलिमेंट कैप्चर काम करते हैं; CSS--elementचयनकर्ता काम नहीं करते। पृष्ठ या रेफ़रेंस-आधारित एलिमेंट स्क्रीनशॉट के लिए Playwright आवश्यक नहीं है। (--full-pageको किसी भी प्रोफ़ाइल पर--refया--elementके साथ संयोजित नहीं किया जा सकता, केवल मौजूदा-सत्र पर ही नहीं।) - कार्रवाइयाँ -
click,type,hover,scrollIntoView,drag, औरselectके लिए स्नैपशॉट रेफ़रेंस आवश्यक हैं (CSS चयनकर्ता नहीं)।click-coordsदृश्यमान व्यूपोर्ट निर्देशांकों पर क्लिक करता है और इसके लिए स्नैपशॉट रेफ़रेंस आवश्यक नहीं है।clickकेवल बायाँ बटन समर्थित करता है (कोई बटन ओवरराइड या मॉडिफ़ायर नहीं)।typeमेंslowly=trueसमर्थित नहीं है;fillयाpressका उपयोग करें।pressमेंdelayMsसमर्थित नहीं है।type,hover,scrollIntoView,drag,select, औरfillप्रति-कॉलtimeoutMsओवरराइड का समर्थन नहीं करते;evaluateकरता है।selectएकल मान स्वीकार करता है।batchसमर्थित नहीं है; कार्रवाइयाँ अलग-अलग भेजें। - प्रतीक्षा / अपलोड / डायलॉग -
wait --urlसटीक, सबस्ट्रिंग और ग्लोब पैटर्न का समर्थन करता है (प्रबंधित के समान);wait --load networkidleमौजूदा-सत्र प्रोफ़ाइल पर समर्थित नहीं है (यह प्रबंधित और रॉ/रिमोट CDP प्रोफ़ाइल पर काम करता है)। अपलोड हुक के लिएrefयाinputRefआवश्यक है, एक बार में एक फ़ाइल, कोई CSSelementनहीं। डायलॉग हुक टाइमआउट ओवरराइड याdialogIdका समर्थन नहीं करते। - डायलॉग दृश्यता - जब कोई कार्रवाई मोडल डायलॉग खोलती है, तो प्रबंधित ब्राउज़र कार्रवाई प्रतिक्रियाओं में
blockedByDialogऔरbrowserState.dialogs.pendingशामिल होते हैं; स्नैपशॉट में लंबित डायलॉग स्थिति भी शामिल होती है। डायलॉग लंबित होने परbrowser dialog --accept/--dismiss --dialog-id <id>से प्रतिक्रिया दें। OpenClaw के बाहर संभाले गए डायलॉगbrowserState.dialogs.recentके अंतर्गत दिखाई देते हैं। - केवल-प्रबंधित सुविधाएँ - PDF निर्यात, डाउनलोड इंटरसेप्शन और
responsebodyके लिए अभी भी प्रबंधित ब्राउज़र पथ आवश्यक है।
पृथक्करण की गारंटियाँ
- समर्पित उपयोगकर्ता डेटा डायरेक्टरी: आपकी व्यक्तिगत ब्राउज़र प्रोफ़ाइल को कभी नहीं छूती।
- समर्पित पोर्ट: डेवलपमेंट वर्कफ़्लो से टकराव रोकने के लिए
9222से बचती है। - नियतात्मक टैब नियंत्रण:
tabsपहलेsuggestedTargetId, फिर स्थिरtabIdहैंडल जैसेt1, वैकल्पिक लेबल और रॉtargetIdलौटाता है। एजेंटों कोsuggestedTargetIdका पुनः उपयोग करना चाहिए; रॉ ID डीबगिंग और संगतता के लिए उपलब्ध रहते हैं।
ब्राउज़र चयन
स्थानीय रूप से लॉन्च करते समय, OpenClaw पहला उपलब्ध विकल्प चुनता है:- Chrome
- Brave
- Edge
- Chromium
- Chrome Canary
browser.executablePath से इसे ओवरराइड कर सकते हैं।
प्लेटफ़ॉर्म:
- macOS:
/Applicationsऔर~/Applicationsकी जाँच करता है। - Linux:
/usr/bin,/snap/bin,/opt/google,/opt/brave.com,/usr/lib/chromium, और/usr/lib/chromium-browserके अंतर्गत सामान्य Chrome/Brave/Edge/Chromium स्थानों की जाँच करता है, साथ हीPLAYWRIGHT_BROWSERS_PATHया~/.cache/ms-playwrightके अंतर्गत Playwright-प्रबंधित Chromium की भी जाँच करता है। - Windows: सामान्य इंस्टॉलेशन स्थानों की जाँच करता है।
नियंत्रण API (वैकल्पिक)
स्क्रिप्टिंग और डीबगिंग के लिए, Gateway एक छोटा केवल-लूपबैक HTTP नियंत्रण API और उससे मेल खाने वालाopenclaw browser CLI (स्नैपशॉट, रेफ़रेंस, प्रतीक्षा
क्षमता-वृद्धि, JSON आउटपुट, डीबग वर्कफ़्लो) उपलब्ध कराता है। पूर्ण संदर्भ के लिए
ब्राउज़र नियंत्रण API देखें।
समस्या निवारण
Linux-विशिष्ट समस्याओं (विशेषकर snap Chromium) के लिए, ब्राउज़र समस्या निवारण देखें। WSL2 Gateway + Windows Chrome स्प्लिट-होस्ट सेटअप के लिए, WSL2 + Windows + रिमोट Chrome CDP समस्या निवारण देखें।CDP स्टार्टअप विफलता बनाम नेविगेशन SSRF अवरोध
ये अलग-अलग विफलता वर्ग हैं और अलग-अलग कोड पथों की ओर संकेत करते हैं।- CDP स्टार्टअप या तत्परता विफलता का अर्थ है कि OpenClaw यह पुष्टि नहीं कर सकता कि ब्राउज़र नियंत्रण तल स्वस्थ है।
- नेविगेशन SSRF अवरोध का अर्थ है कि ब्राउज़र नियंत्रण तल स्वस्थ है, लेकिन नीति किसी पृष्ठ नेविगेशन लक्ष्य को अस्वीकार कर देती है।
- CDP स्टार्टअप या तत्परता विफलता:
Chrome CDP websocket for profile "openclaw" is not reachable after startRemote CDP for profile "<name>" is not reachable at <cdpUrl>Port <port> is in use for profile "<name>" but not by openclaw, जब कोई लूपबैक बाहरी CDP सेवाattachOnly: trueके बिना कॉन्फ़िगर की गई हो
- नेविगेशन SSRF अवरोध:
open,navigate, स्नैपशॉट या टैब खोलने के प्रवाह ब्राउज़र/नेटवर्क नीति त्रुटि के साथ विफल होते हैं, जबकिstartऔरtabsअब भी काम करते हैं
- यदि
start,not reachable after startके साथ विफल होता है, तो पहले CDP तत्परता की समस्या दूर करें। - यदि
startसफल होता है, लेकिनtabsविफल होता है, तो नियंत्रण तल अभी भी अस्वस्थ है। इसे CDP पहुँच समस्या मानें, पृष्ठ-नेविगेशन समस्या नहीं। - यदि
startऔरtabsसफल होते हैं, लेकिनopenयाnavigateविफल होता है, तो ब्राउज़र नियंत्रण तल चालू है और विफलता नेविगेशन नीति या लक्ष्य पृष्ठ में है। - यदि
start,tabs, औरopenसभी सफल होते हैं, तो मूल प्रबंधित-ब्राउज़र नियंत्रण पथ स्वस्थ है।
- जब आप
browser.ssrfPolicyकॉन्फ़िगर नहीं करते, तब भी ब्राउज़र कॉन्फ़िगरेशन डिफ़ॉल्ट रूप से विफलता-बंद SSRF नीति ऑब्जेक्ट का उपयोग करता है। - स्थानीय लूपबैक
openclawप्रबंधित प्रोफ़ाइल के लिए, CDP स्वास्थ्य जाँच जानबूझकर OpenClaw के अपने स्थानीय नियंत्रण तल हेतु ब्राउज़र SSRF पहुँच प्रवर्तन को छोड़ देती है। - नेविगेशन सुरक्षा अलग है। सफल
startयाtabsपरिणाम का अर्थ यह नहीं है कि बाद काopenयाnavigateलक्ष्य अनुमत है।
- डिफ़ॉल्ट रूप से ब्राउज़र SSRF नीति को शिथिल न करें।
- व्यापक निजी-नेटवर्क पहुँच के बजाय
hostnameAllowlistयाallowedHostnamesजैसे संकीर्ण होस्ट अपवादों को प्राथमिकता दें। dangerouslyAllowPrivateNetwork: trueका उपयोग केवल जानबूझकर विश्वसनीय परिवेशों में करें, जहाँ निजी-नेटवर्क ब्राउज़र पहुँच आवश्यक हो और उसकी समीक्षा की गई हो।
एजेंट टूल + नियंत्रण कैसे काम करता है
एजेंट को ब्राउज़र स्वचालन के लिए एक टूल मिलता है:browser- डॉक्टर/स्थिति/शुरू/बंद/टैब/खोलना/फ़ोकस/बंद करना/स्नैपशॉट/स्क्रीनशॉट/नेविगेट/कार्रवाई
browser snapshotएक स्थिर UI ट्री (AI या ARIA) लौटाता है।browser actक्लिक/टाइप/ड्रैग/चयन करने के लिए स्नैपशॉट केrefIDs का उपयोग करता है।browser screenshotपिक्सेल कैप्चर करता है (पूरा पृष्ठ, एलिमेंट या लेबल किए गए रेफ़रेंस)।browser doctorGateway, Plugin, प्रोफ़ाइल, ब्राउज़र और टैब की तत्परता की जाँच करता है।browserइन्हें स्वीकार करता है:- नामित ब्राउज़र प्रोफ़ाइल (openclaw, chrome या remote CDP) चुनने के लिए
profile। - ब्राउज़र कहाँ स्थित है, यह चुनने के लिए
target(sandbox|host|node)। - सैंडबॉक्स किए गए सत्रों में,
target: "host"के लिएagents.defaults.sandbox.browser.allowHostControl=trueआवश्यक है। - यदि
targetछोड़ा गया है: सैंडबॉक्स किए गए सत्र डिफ़ॉल्ट रूप सेsandboxका और गैर-सैंडबॉक्स सत्र डिफ़ॉल्ट रूप सेhostका उपयोग करते हैं। - यदि ब्राउज़र-सक्षम Node कनेक्ट है, तो टूल उस पर स्वचालित रूप से रूट कर सकता है, जब तक कि आप
target="host"याtarget="node"को पिन न करें।
- नामित ब्राउज़र प्रोफ़ाइल (openclaw, chrome या remote CDP) चुनने के लिए
संबंधित
- टूल का अवलोकन - सभी उपलब्ध एजेंट टूल
- सैंडबॉक्सिंग - सैंडबॉक्स किए गए परिवेशों में ब्राउज़र नियंत्रण
- सुरक्षा - ब्राउज़र नियंत्रण के जोखिम और सुदृढ़ीकरण