Tools
واجهة API للتحكم في المتصفح
للإعداد والتهيئة واستكشاف الأخطاء وإصلاحها، راجع المتصفح.
هذه الصفحة هي المرجع لواجهة HTTP API المحلية للتحكم، وواجهة openclaw browser
CLI، وأنماط البرمجة النصية (اللقطات، والمراجع، والانتظار، ومسارات تصحيح الأخطاء).
واجهة التحكم API (اختيارية)
لعمليات التكامل المحلية فقط، يوفّر Gateway واجهة HTTP API صغيرة عبر عنوان الاسترجاع.
هذا الخادم المستقل اختياري — عيّن متغير البيئة
OPENCLAW_EAGER_BROWSER_CONTROL_SERVER=1 في بيئة خدمة Gateway
وأعد تشغيل Gateway قبل أن تصبح نقاط نهاية HTTP متاحة. من دون
هذا المتغير، يظل وقت تشغيل التحكم بالمتصفح يعمل عبر CLI وأدوات
الوكيل، لكن لا تستمع أي خدمة على منفذ التحكم عبر عنوان الاسترجاع.
- الحالة/البدء/الإيقاف:
GET /،GET /doctor،POST /start،POST /stop،POST /reset-profile - الملفات الشخصية:
GET /profiles،POST /profiles/create،DELETE /profiles/:name - علامات التبويب:
GET /tabs،POST /tabs/open،POST /tabs/focus،DELETE /tabs/:targetId،POST /tabs/action - اللقطة/لقطة الشاشة:
GET /snapshot،POST /screenshot - الإجراءات:
POST /navigate،POST /act - الخطافات:
POST /hooks/file-chooser،POST /hooks/dialog - التنزيلات:
POST /download،POST /wait/download - الأذونات:
POST /permissions/grant - تصحيح الأخطاء:
GET /console،POST /pdf - تصحيح الأخطاء:
GET /errors،GET /requests،GET /dialogs،POST /trace/start،POST /trace/stop،POST /highlight - الشبكة:
POST /response/body - الحالة:
GET /cookies،POST /cookies/set،POST /cookies/clear - الحالة:
GET /storage/:kind،POST /storage/:kind/set،POST /storage/:kind/clear - الإعدادات:
POST /set/offline،POST /set/headers،POST /set/credentials،POST /set/geolocation،POST /set/media،POST /set/timezone،POST /set/locale،POST /set/device
POST /tabs/action هو النموذج المجمّع الذي تستخدمه CLI داخليًا للأوامر الفرعية
browser tab ({"action":"new"|"label"|"select"|"close"|"list", ...})؛
ويُفضّل استخدام مسارات علامات التبويب أحادية الغرض أعلاه عند البرمجة النصية المباشرة.
تقبل جميع نقاط النهاية ?profile=<name>. يطلب POST /start?headless=true
تشغيلًا لمرة واحدة من دون واجهة رسومية للملفات الشخصية المحلية المُدارة من دون تغيير تهيئة
المتصفح المحفوظة؛ وترفض الملفات الشخصية المخصصة للاتصال فقط، وCDP البعيد، والجلسات القائمة
هذا التجاوز لأن OpenClaw لا يشغّل عمليات المتصفح هذه.
بالنسبة إلى نقاط نهاية علامات التبويب، فإن targetId هو اسم حقل التوافق. يُفضّل تمرير
suggestedTargetId من GET /tabs أو POST /tabs/open؛ كما تُقبل التسميات ومقابض tabId
مثل t1. وتظل معرّفات أهداف CDP الأولية والبادئات الفريدة لمعرّفات
الأهداف الأولية صالحة، لكنها مقابض تشخيصية متقلبة.
إذا كانت مصادقة Gateway بالسر المشترك مهيأة، فتتطلب مسارات HTTP للمتصفح المصادقة أيضًا:
Authorization: Bearer <gateway token>x-openclaw-password: <gateway password>أو مصادقة HTTP الأساسية باستخدام كلمة المرور هذه
ملاحظات:
- واجهة المتصفح المستقلة هذه عبر عنوان الاسترجاع لا تستهلك ترويسات هوية الوكيل الموثوق أو Tailscale Serve.
- إذا كانت
gateway.auth.modeهيnoneأوtrusted-proxy، فإن مسارات المتصفح عبر عنوان الاسترجاع هذه لا ترث أوضاع حمل الهوية تلك؛ أبقها مقتصرة على عنوان الاسترجاع.
عقد أخطاء /act
يستخدم POST /act استجابة خطأ منظّمة لإخفاقات التحقق على مستوى المسار
وإخفاقات السياسة:
{ "error": "<message>", "code": "ACT_*" }قيم code الحالية:
ACT_KIND_REQUIRED(HTTP 400): kindمفقود أو غير معروف.ACT_INVALID_REQUEST(HTTP 400): فشلت تسوية حمولة الإجراء أو التحقق منها.ACT_SELECTOR_UNSUPPORTED(HTTP 400): استُخدمselectorمع نوع إجراء غير مدعوم.ACT_EVALUATE_DISABLED(HTTP 403): evaluate(أوwait --fn) معطّل بواسطة التهيئة.ACT_TARGET_ID_MISMATCH(HTTP 403): يتعارضtargetIdعالي المستوى أو المجمّع مع هدف الطلب.ACT_EXISTING_SESSION_UNSUPPORTED(HTTP 501): الإجراء غير مدعوم للملفات الشخصية ذات الجلسات القائمة.
قد تستمر إخفاقات وقت التشغيل الأخرى في إرجاع { "error": "<message>" } من دون
حقل code.
متطلب Playwright
تتطلب بعض الميزات (التنقل/الإجراء/لقطة AI/لقطة الدور، ولقطات شاشة العناصر، وPDF) وجود Playwright. إذا لم يكن Playwright مثبتًا، فتعيد نقاط النهاية هذه خطأ 501 واضحًا.
ما يظل يعمل من دون Playwright:
- لقطات ARIA
- لقطات إمكانية الوصول بنمط الدور (
--interactive،--compact،--depth،--efficient) عند توفر WebSocket لـ CDP لكل علامة تبويب. وهذا مسار احتياطي للفحص واكتشاف المراجع؛ ويظل Playwright محرك الإجراءات الأساسي. - لقطات شاشة الصفحة لمتصفح
openclawالمُدار عند توفر WebSocket لـ CDP لكل علامة تبويب - لقطات شاشة الصفحة لملفات
existing-session/ Chrome MCP الشخصية - لقطات الشاشة المستندة إلى مراجع
existing-session(--ref) من مخرجات اللقطة
ما لا يزال يحتاج إلى Playwright:
navigateact- لقطات AI التي تعتمد على تنسيق لقطة AI الأصلي في Playwright
- لقطات شاشة العناصر باستخدام محددات CSS (
--element) - تصدير PDF كامل للمتصفح
ترفض لقطات شاشة العناصر أيضًا --full-page؛ ويعيد المسار fullPage is not supported for element screenshots.
إذا ظهر Playwright is not available in this gateway build، فإن حزمة
Gateway تفتقد تبعية وقت تشغيل المتصفح الأساسية. أعد تثبيت OpenClaw أو حدّثه،
ثم أعد تشغيل Gateway. وبالنسبة إلى Docker، ثبّت أيضًا ملفات متصفح Chromium
الثنائية كما هو موضح أدناه.
تثبيت Playwright في Docker
إذا كان Gateway يعمل في Docker، فتجنب npx playwright (تعارضات تجاوز npm).
بالنسبة إلى الصور المخصصة، ضمّن Chromium داخل الصورة:
OPENCLAW_INSTALL_BROWSER=1 ./scripts/docker/setup.shبالنسبة إلى صورة قائمة، ثبّته عبر CLI المضمّنة بدلًا من ذلك:
docker compose run --rm openclaw-cli \ node /app/node_modules/playwright-core/cli.js install chromiumللاحتفاظ بتنزيلات المتصفح، عيّن PLAYWRIGHT_BROWSERS_PATH (على سبيل المثال،
/home/node/.cache/ms-playwright) وتأكد من الاحتفاظ بـ /home/node عبر
OPENCLAW_HOME_VOLUME أو نقطة تحميل ربط. يكتشف OpenClaw تلقائيًا
Chromium المحتفَظ به على Linux. راجع Docker.
آلية العمل (داخليًا)
يقبل خادم تحكم صغير عبر عنوان الاسترجاع طلبات HTTP ويتصل بالمتصفحات المستندة إلى Chromium عبر CDP. تمر الإجراءات المتقدمة (النقر/الكتابة/اللقطة/PDF) عبر Playwright فوق CDP؛ وعند غياب Playwright، لا تتوفر إلا العمليات التي لا تعتمد عليه. يرى الوكيل واجهة واحدة مستقرة بينما يمكن تبديل المتصفحات والملفات الشخصية المحلية والبعيدة بحرية في الطبقات الداخلية.
مرجع CLI السريع
تقبل جميع الأوامر --browser-profile <name> لاستهداف ملف شخصي محدد، و--json لإخراج قابل للقراءة آليًا.
الأساسيات: الحالة، علامات التبويب، الفتح/التركيز/الإغلاق
openclaw browser statusopenclaw browser doctoropenclaw browser doctor --deep # إضافة فحص لقطة مباشرopenclaw browser startopenclaw browser start --headless # تشغيل محلي مُدار من دون واجهة رسومية لمرة واحدةopenclaw browser stop # يمسح أيضًا المحاكاة في الاتصال فقط/CDP البعيدopenclaw browser reset-profile # ينقل بيانات متصفح الملف الشخصي إلى سلة المهملاتopenclaw browser tabsopenclaw browser tab # اختصار لعلامة التبويب الحاليةopenclaw browser tab newopenclaw browser tab new --label researchopenclaw browser tab label abcd1234 researchopenclaw browser tab select 2openclaw browser tab close 2openclaw browser open https://example.comopenclaw browser focus abcd1234openclaw browser close abcd1234الملفات الشخصية: العرض، الإنشاء، الحذف
openclaw browser profilesopenclaw browser create-profile --name research --color "#0066CC"openclaw browser create-profile --name attach --driver existing-session --cdp-url http://127.0.0.1:9222openclaw browser delete-profile --name researchالفحص: لقطة الشاشة، اللقطة، وحدة التحكم، الأخطاء، الطلبات
openclaw browser screenshotopenclaw browser screenshot --full-pageopenclaw browser screenshot --ref 12 # أو --ref e12openclaw browser screenshot --labelsopenclaw browser snapshotopenclaw browser snapshot --format aria --limit 200openclaw browser snapshot --interactive --compact --depth 6openclaw browser snapshot --efficientopenclaw browser snapshot --labelsopenclaw browser snapshot --urlsopenclaw browser snapshot --selector "#main" --interactiveopenclaw browser snapshot --frame "iframe#main" --interactiveopenclaw browser snapshot --out snapshot.txtopenclaw browser console --level erroropenclaw browser errors --clearopenclaw browser requests --filter api --clearopenclaw browser pdfopenclaw browser responsebody "**/api" --max-chars 5000الإجراءات: التنقل، النقر، الكتابة، السحب، الانتظار، التقييم
openclaw browser navigate https://example.comopenclaw browser resize 1280 720openclaw browser click 12 --double # أو e12 لمراجع الأدوارopenclaw browser click-coords 120 340 # إحداثيات إطار العرضopenclaw browser type 23 "hello" --submitopenclaw browser press Enteropenclaw browser hover 44openclaw browser scrollintoview e12openclaw browser drag 10 11openclaw browser select 9 OptionA OptionBopenclaw browser download e12 report.pdfopenclaw browser waitfordownload report.pdfopenclaw browser upload /tmp/openclaw/uploads/file.pdfopenclaw browser upload /tmp/openclaw/uploads/file.pdf --ref e12openclaw browser upload media://inbound/file.pdfopenclaw browser fill --fields '[{"ref":"1","type":"text","value":"Ada"}]'openclaw browser dialog --acceptopenclaw browser dialog --dismiss --dialog-id d1openclaw browser wait --text "Done"openclaw browser wait "#main" --url "**/dash" --load networkidle --fn "window.ready===true"openclaw browser evaluate --fn '(el) => el.textContent' --ref 7openclaw browser evaluate --fn 'const title = document.title; return title;'openclaw browser evaluate --timeout-ms 30000 --fn 'async () => { await window.ready; return true; }'openclaw browser highlight e12openclaw browser trace startopenclaw browser trace stopالحالة: ملفات تعريف الارتباط، التخزين، عدم الاتصال، الترويسات، الموقع الجغرافي، الجهاز
openclaw browser cookiesopenclaw browser cookies set session abc123 --url "https://example.com"openclaw browser cookies clearopenclaw browser storage local getopenclaw browser storage local set theme darkopenclaw browser storage session clearopenclaw browser set offline onopenclaw browser set headers --headers-json '{"X-Debug":"1"}'openclaw browser set credentials user pass # استخدم --clear للإزالةopenclaw browser set geo 37.7749 -122.4194 --origin "https://example.com"openclaw browser set media darkopenclaw browser set timezone America/New_Yorkopenclaw browser set locale en-USopenclaw browser set device "iPhone 14"ملاحظات:
- تتيح أداة
browserالموجّهة إلى الوكيلaction=download(يتطلبrefوpath) وaction=waitfordownload(معpathاختياري). ويُرجع كلاهما عنوان URL المحفوظ للتنزيل، واسم الملف المقترح، والمسار المحلي المحمي. يتوفر اعتراض التنزيل الصريح لملفات تعريف Playwright المُدارة؛ أما ملفات تعريف الجلسات الحالية فتُرجع خطأ عملية غير مدعومة. - يُفضّل استخدام عمليات رفع منتقي الملفات الذرّية: مرّر المشغّل
--refمع عملية الرفع كي يجهّز OpenClaw النقرة وينفّذها في طلب واحد. يظلuploadالذي يقتصر على المسارات مدعومًا عندما يكون استخدام مشغّل لاحق مقصودًا. استخدم--input-refأو--elementلتعيين حقل إدخال ملف مباشرةً. يُعدdialogاستدعاءً للتهيئة؛ شغّله قبل النقرة/الضغطة التي تُظهر مربع الحوار. إذا فتح إجراء نافذة مشروطة، فستتضمن استجابة الإجراءblockedByDialogوbrowserState.dialogs.pending؛ مرّر ذلكdialogIdللاستجابة مباشرةً. تظهر مربعات الحوار التي جرت معالجتها خارج OpenClaw ضمنbrowserState.dialogs.recent. - يتطلب
click/type/وما إلى ذلك قيمةrefمنsnapshot(قيمة12رقمية، أو مرجع دورe12، أو مرجع ARIA قابل للتنفيذax12). لا تُدعم محددات CSS للإجراءات عن قصد. استخدمclick-coordsعندما يكون الموضع المرئي ضمن إطار العرض هو الهدف الموثوق الوحيد. - تُقيّد مسارات التنزيل والتتبّع بالجذور المؤقتة لـ OpenClaw:
/tmp/openclaw{,/downloads}(البديل الاحتياطي:${os.tmpdir()}/openclaw/...). - يقبل
uploadالملفات من جذر عمليات الرفع المؤقتة في OpenClaw والوسائط الواردة التي يديرها OpenClaw. ويمكن الإشارة إلى الوسائط الواردة المُدارة بصيغةmedia://inbound/<id>، أوmedia/inbound/<id>نسبةً إلى صندوق العزل، أو باستخدام مسار محلول داخل دليل الوسائط الواردة المُدارة. ولا تزال مراجع الوسائط المتداخلة، واجتياز المسارات، والروابط الرمزية، والروابط الصلبة، والمسارات المحلية العشوائية مرفوضة. - يمكن لـ
uploadأيضًا تعيين حقول إدخال الملفات مباشرةً عبر--input-refأو--element.
تظل معرّفات علامات التبويب وتسمياتها الثابتة محفوظة عند استبدال الهدف الخام في Chromium إذا استطاع OpenClaw
إثبات علامة التبويب البديلة، مثل وجود زوج قديم/جديد فريد لعنوان URL نفسه أو
تحوّل علامة تبويب قديمة واحدة إلى علامة تبويب جديدة واحدة بعد إرسال نموذج. وتحصل
الاستبدالات الملتبسة ذات عناوين URL المكررة على مقابض جديدة. وتظل معرّفات الأهداف الخام
متقلبة؛ لذا يُفضّل استخدام suggestedTargetId من tabs في البرامج النصية.
نظرة سريعة على علامات اللقطات:
--format ai(الافتراضي مع Playwright): لقطة للذكاء الاصطناعي تتضمن مراجع رقمية (aria-ref="<n>").--format aria: شجرة إمكانية الوصول مع مراجعaxN. عند توفر Playwright، يربط OpenClaw المراجع بمعرّفات DOM الخلفية في الصفحة الحية لكي تتمكن الإجراءات اللاحقة من استخدامها؛ وإلا فتعامل مع المخرجات على أنها مخصصة للفحص فقط.--efficient(أو--mode efficient): إعداد مسبق مضغوط للقطة الأدوار. عيّنbrowser.snapshotDefaults.mode: "efficient"لجعل هذا الإعداد افتراضيًا (راجع تهيئة Gateway).- تفرض
--interactiveو--compactو--depthو--selectorلقطة أدوار تحتوي على مراجعref=e12. ويقصر--frame "<iframe>"لقطات الأدوار على إطار iframe. - مع Playwright، يضيف
--labelsلقطة شاشة تتراكب عليها تسميات المراجع (ويطبعMEDIA:<path>) بالإضافة إلى مصفوفةannotationsتحتوي على المربع المحيط بكل مرجع. فيscreenshot، تعمل التسميات المدعومة من Playwright مع--full-pageو--refو--element؛ أما فيsnapshot، فتظل لقطة الشاشة المصاحبة مقتصرة على إطار العرض. تعرض ملفات تعريف الجلسات الحالية/chrome-mcp تسميات متراكبة على لقطات شاشة الصفحة، لكنها لا تُرجعannotationsولا تستخدم مساعد Playwright لعرض الصفحة الكاملة/المرجع/العنصر. ومن دون Playwright أو chrome-mcp، لا تتوفر لقطات الشاشة ذات التسميات. - يلحق
--urlsوجهات الروابط المكتشفة بلقطات الذكاء الاصطناعي.
اللقطات والمراجع
يدعم OpenClaw نمطين من «اللقطات»:
-
لقطة الذكاء الاصطناعي (مراجع رقمية):
openclaw browser snapshot(الافتراضي؛--format ai)- المخرجات: لقطة نصية تتضمن مراجع رقمية.
- الإجراءات:
openclaw browser click 12،openclaw browser type 23 "hello". - داخليًا، يُحل المرجع عبر
aria-refفي Playwright.
-
لقطة الأدوار (مراجع أدوار مثل
e12):openclaw browser snapshot --interactive(أو--compact،--depth،--selector،--frame)- المخرجات: قائمة/شجرة قائمة على الأدوار تحتوي على
[ref=e12](و[nth=1]اختياري). - الإجراءات:
openclaw browser click e12،openclaw browser highlight e12. - داخليًا، يُحل المرجع عبر
getByRole(...)(بالإضافة إلىnth()للتكرارات). - أضف
--labelsلتضمين لقطة شاشة تتراكب عليها تسمياتe12. في ملفات التعريف المدعومة من Playwright، يؤدي هذا أيضًا إلى إرجاع بيانات المربع المحيط لكل مرجع (annotations[]). - أضف
--urlsعندما يكون نص الرابط ملتبسًا ويحتاج الوكيل إلى أهداف تنقّل محددة.
- المخرجات: قائمة/شجرة قائمة على الأدوار تحتوي على
-
لقطة ARIA (مراجع ARIA مثل
ax12):openclaw browser snapshot --format aria- المخرجات: شجرة إمكانية الوصول على هيئة عُقد منظّمة.
- الإجراءات: يعمل
openclaw browser click ax12عندما يستطيع مسار اللقطة ربط المرجع عبر Playwright ومعرّفات DOM الخلفية في Chrome.
-
إذا لم يتوفر Playwright، فقد تظل لقطات ARIA مفيدة للفحص، لكن قد لا تكون المراجع قابلة للتنفيذ. التقط لقطة جديدة باستخدام
--format aiأو--interactiveعندما تحتاج إلى مراجع إجراءات. -
إثبات Docker لمسار الرجوع الاحتياطي لـ CDP الخام: يشغّل
pnpm test:docker:browser-cdp-snapshotChromium مع CDP، وينفّذbrowser doctor --deep، ويتحقق من أن لقطات الأدوار تتضمن عناوين URL للروابط، والعناصر القابلة للنقر التي رُقّيت بواسطة المؤشر، وبيانات iframe الوصفية.
سلوك المراجع:
- المراجع ليست ثابتة عبر عمليات التنقّل؛ إذا فشل شيء ما، فأعد تشغيل
snapshotواستخدم مرجعًا جديدًا. - يُرجع
/actقيمةtargetIdالخام الحالية بعد الاستبدال الناتج عن إجراء عندما يستطيع إثبات علامة التبويب البديلة. واصل استخدام معرّفات علامات التبويب/تسمياتها الثابتة للأوامر اللاحقة. - إذا أُخذت لقطة الأدوار باستخدام
--frame، فتظل مراجع الأدوار مقصورة على إطار iframe ذلك حتى لقطة الأدوار التالية. - تفشل مراجع
axNالمجهولة أو القديمة بسرعة بدلًا من الانتقال احتياطيًا إلى محددaria-refفي Playwright. التقط لقطة جديدة في علامة التبويب نفسها عندما يحدث ذلك.
إمكانات الانتظار الإضافية
يمكن الانتظار لأكثر من مجرد الوقت/النص:
- انتظار عنوان URL (يدعم Playwright أنماط glob):
openclaw browser wait --url "**/dash"
- انتظار حالة التحميل:
openclaw browser wait --load networkidle- مدعوم في ملفات تعريف
openclawالمُدارة وملفات تعريف CDP الخام/البعيدة. ترفض ملفات التعريف التي تستخدم برنامج التشغيلexisting-session(بما فيها ملف التعريف الافتراضيuser) القيمةnetworkidle؛ استخدم هناك--urlأو--textأو محددًا أو عمليات انتظار--fn.
- انتظار تحقق شرط JavaScript:
openclaw browser wait --fn "window.ready===true"
- انتظار ظهور محدد:
openclaw browser wait "#main"
يمكن الجمع بينها:
openclaw browser wait "#main" \ --url "**/dash" \ --load networkidle \ --fn "window.ready===true" \ --timeout-ms 15000سير عمل تصحيح الأخطاء
عند فشل إجراء (مثل «غير مرئي» أو «انتهاك الوضع الصارم» أو «محجوب»):
openclaw browser snapshot --interactive- استخدم
click <ref>/type <ref>(يُفضّل استخدام مراجع الأدوار في الوضع التفاعلي) - إذا استمر الفشل: استخدم
openclaw browser highlight <ref>لمعرفة ما يستهدفه Playwright - إذا تصرفت الصفحة على نحو غير معتاد:
openclaw browser errors --clearopenclaw browser requests --filter api --clear
- للتصحيح المتعمق: سجّل تتبّعًا:
openclaw browser trace start- أعد إنتاج المشكلة
openclaw browser trace stop(يطبعTRACE:<path>)
مخرجات JSON
يُستخدم --json للبرمجة النصية والأدوات المنظّمة.
أمثلة:
openclaw browser --json statusopenclaw browser --json snapshot --interactiveopenclaw browser --json requests --filter apiopenclaw browser --json cookiesتتضمن لقطات الأدوار في JSON القيمة refs بالإضافة إلى كتلة stats صغيرة (الأسطر/المحارف/المراجع/التفاعلية) لكي تتمكن الأدوات من تحليل حجم الحمولة وكثافتها.
عناصر التحكم في الحالة والبيئة
تفيد هذه العناصر في سير عمل «اجعل الموقع يتصرف مثل X»:
- ملفات تعريف الارتباط:
cookies،cookies set،cookies clear - التخزين:
storage local|session get|set|clear - وضع عدم الاتصال:
set offline on|off - الرؤوس:
set headers --headers-json '{"X-Debug":"1"}'(أو الصيغة الموضعيةset headers '{"X-Debug":"1"}') - مصادقة HTTP الأساسية:
set credentials user pass(أو--clear) - الموقع الجغرافي:
set geo <lat> <lon> --origin "https://example.com"(أو--clear) - الوسائط:
set media dark|light|no-preference|none - المنطقة الزمنية / الإعدادات المحلية:
set timezone ...،set locale ... - الجهاز / إطار العرض:
set device "iPhone 14"(إعدادات أجهزة Playwright المسبقة)set viewport 1280 720
الأمان والخصوصية
- قد يحتوي ملف تعريف متصفح openclaw على جلسات مسجّل دخولها؛ فتعامَل معه على أنه حساس.
- ينفّذ
browser act kind=evaluate/openclaw browser evaluateوwait --fnتعليمات JavaScript برمجية عشوائية في سياق الصفحة. وقد يوجّه حقن المطالبات هذا السلوك. عطّله باستخدامbrowser.evaluateEnabled=falseإذا لم تكن بحاجة إليه. - يقبل
openclaw browser evaluate --fnمصدر دالة، أو تعبيرًا، أو متن عبارة. تُغلّف متون العبارات كدوال غير متزامنة، لذا استخدمreturnللقيمة التي تريد إرجاعها. استخدم--timeout-ms <ms>عندما تحتاج الدالة العاملة داخل الصفحة إلى وقت أطول من مهلة التقييم الافتراضية. - لتسجيلات الدخول وملاحظات مكافحة الروبوتات (X/Twitter وما إلى ذلك)، راجع تسجيل الدخول في المتصفح + النشر على X/Twitter.
- أبقِ مضيف Gateway/node خاصًا (عبر loopback أو tailnet فقط).
- نقاط نهاية CDP البعيدة قوية؛ استخدم نفقًا للوصول إليها واحمِها.
مثال على الوضع الصارم (حظر الوجهات الخاصة/الداخلية افتراضيًا):
{ browser: { ssrfPolicy: { dangerouslyAllowPrivateNetwork: false, hostnameAllowlist: ["*.example.com", "example.com"], allowedHostnames: ["localhost"], // سماح مطابق تمامًا اختياري }, },}ذو صلة
- المتصفح - نظرة عامة، والتهيئة، وملفات التعريف، والأمان
- تسجيل الدخول في المتصفح - تسجيل الدخول إلى المواقع
- استكشاف أخطاء المتصفح على Linux وإصلاحها
- استكشاف أخطاء المتصفح على WSL2 وإصلاحها