CLI commands

المتصفح

OmeniaClaw browser

إدارة سطح تحكم المتصفح في OmeniaClaw وتشغيل إجراءات المتصفح (دورة الحياة، الملفات الشخصية، علامات التبويب، اللقطات، لقطات الشاشة، التنقل، الإدخال، محاكاة الحالة، وتصحيح الأخطاء).

ذات صلة:

العلامات الشائعة

  • --url <gatewayWsUrl>: عنوان URL الخاص بـ WebSocket في Gateway (يستخدم الإعدادات افتراضيًا).
  • --token <token>: رمز Gateway المميز (إذا كان مطلوبًا).
  • --timeout <ms>: مهلة الطلب (ms).
  • --expect-final: انتظار استجابة Gateway نهائية.
  • --browser-profile <name>: اختيار ملف شخصي للمتصفح (الافتراضي من الإعدادات).
  • --json: إخراج قابل للقراءة آليًا (حيثما كان مدعومًا).

البدء السريع (محليًا)

bash
OmeniaClaw browser profilesOmeniaClaw browser --browser-profile OmeniaClaw startOmeniaClaw browser --browser-profile OmeniaClaw open https://example.comOmeniaClaw browser --browser-profile OmeniaClaw snapshot

يمكن للوكلاء تشغيل فحص الجاهزية نفسه باستخدام browser({ action: "doctor" }).

استكشاف الأخطاء السريع

إذا فشل start مع not reachable after start، فاستكشف جاهزية CDP أولًا. إذا نجح start وtabs لكن فشل open أو navigate، فإن مستوى التحكم بالمتصفح سليم، ويكون الفشل عادةً ناتجًا عن سياسة SSRF للتنقل.

تسلسل بسيط:

bash
OmeniaClaw browser --browser-profile OmeniaClaw doctorOmeniaClaw browser --browser-profile OmeniaClaw startOmeniaClaw browser --browser-profile OmeniaClaw tabsOmeniaClaw browser --browser-profile OmeniaClaw open https://example.com

إرشادات مفصلة: استكشاف أخطاء المتصفح

دورة الحياة

bash
OmeniaClaw browser statusOmeniaClaw browser doctorOmeniaClaw browser doctor --deepOmeniaClaw browser startOmeniaClaw browser start --headlessOmeniaClaw browser stopOmeniaClaw browser --browser-profile OmeniaClaw reset-profile

ملاحظات:

  • يضيف doctor --deep فحص لقطة مباشرًا. يكون ذلك مفيدًا عندما تكون جاهزية CDP الأساسية سليمة، لكنك تريد إثباتًا أن علامة التبويب الحالية قابلة للفحص.
  • بالنسبة إلى ملفات attachOnly وCDP البعيدة، يغلق OmeniaClaw browser stop جلسة التحكم النشطة ويمسح تجاوزات المحاكاة المؤقتة حتى عندما لا يكون OmeniaClaw قد شغّل عملية المتصفح بنفسه.
  • بالنسبة إلى الملفات الشخصية المحلية المُدارة، يوقف OmeniaClaw browser stop عملية المتصفح التي تم إنشاؤها.
  • لا ينطبق OmeniaClaw browser start --headless إلا على طلب البدء هذا فقط وفقط عندما يشغّل OmeniaClaw متصفحًا محليًا مُدارًا. ولا يعيد كتابة browser.headless أو إعدادات الملف الشخصي، ولا يفعل شيئًا لمتصفح قيد التشغيل بالفعل.
  • على مضيفات Linux التي لا تحتوي على DISPLAY أو WAYLAND_DISPLAY، تعمل الملفات الشخصية المحلية المُدارة بلا واجهة تلقائيًا ما لم يطلب OmeniaClaw_BROWSER_HEADLESS=0 أو browser.headless=false أو browser.profiles.<name>.headless=false متصفحًا مرئيًا صراحةً.

إذا كان الأمر مفقودًا

إذا كان OmeniaClaw browser أمرًا غير معروف، فتحقق من plugins.allow في ~/.OmeniaClaw/OmeniaClaw.json.

عند وجود plugins.allow، أدرج Plugin المتصفح المضمّن صراحةً ما لم تكن الإعدادات تحتوي بالفعل على كتلة browser جذرية:

json5
{  plugins: {    allow: ["telegram", "browser"],  },}

تؤدي كتلة browser جذرية صريحة، مثل browser.enabled=true أو browser.profiles.<name>، أيضًا إلى تفعيل Plugin المتصفح المضمّن ضمن قائمة سماح Plugin تقييدية.

ذات صلة: أداة المتصفح

الملفات الشخصية

الملفات الشخصية هي إعدادات توجيه متصفح مسماة. عمليًا:

  • OmeniaClaw: يشغّل مثيل Chrome مخصصًا تديره OmeniaClaw أو يتصل به (دليل بيانات مستخدم معزول).
  • user: يتحكم في جلسة Chrome الحالية المسجّل دخولك إليها عبر Chrome DevTools MCP.
  • ملفات CDP الشخصية المخصصة: تشير إلى نقطة نهاية CDP محلية أو بعيدة.
bash
OmeniaClaw browser profilesOmeniaClaw browser create-profile --name work --color "#FF5A36"OmeniaClaw browser create-profile --name chrome-live --driver existing-sessionOmeniaClaw browser create-profile --name remote --cdp-url https://browser-host.example.comOmeniaClaw browser delete-profile --name work

استخدم ملفًا شخصيًا محددًا:

bash
OmeniaClaw browser --browser-profile work tabs

علامات التبويب

bash
OmeniaClaw browser tabsOmeniaClaw browser tab new --label docsOmeniaClaw browser tab label t1 docsOmeniaClaw browser tab select 2OmeniaClaw browser tab close 2OmeniaClaw browser open https://omeniaclaw.com --label docsOmeniaClaw browser focus docsOmeniaClaw browser close t1

يعيد tabs قيمة suggestedTargetId أولًا، ثم tabId المستقر مثل t1، والتسمية الاختيارية، وtargetId الخام. يجب على الوكلاء تمرير suggestedTargetId مجددًا إلى focus وclose واللقطات والإجراءات. يمكنك تعيين تسمية باستخدام open --label أو tab new --label أو tab label؛ وتُقبل التسميات ومعرّفات علامات التبويب ومعرّفات الهدف الخام والبادئات الفريدة لمعرّف الهدف كلها. عندما يستبدل Chromium الهدف الخام الأساسي أثناء التنقل أو إرسال نموذج، يبقي OmeniaClaw قيمة tabId/التسمية المستقرة مرتبطة بعلامة التبويب البديلة عندما يستطيع إثبات التطابق. تبقى معرّفات الهدف الخام متقلبة؛ فضّل suggestedTargetId.

اللقطة / لقطة الشاشة / الإجراءات

اللقطة:

bash
OmeniaClaw browser snapshotOmeniaClaw browser snapshot --urls

لقطة الشاشة:

bash
OmeniaClaw browser screenshotOmeniaClaw browser screenshot --full-pageOmeniaClaw browser screenshot --ref e12OmeniaClaw browser screenshot --labels

ملاحظات:

  • --full-page مخصص لالتقاط الصفحات فقط؛ ولا يمكن دمجه مع --ref أو --element.
  • تدعم ملفات existing-session / user لقطات شاشة الصفحة ولقطات شاشة --ref من إخراج اللقطة، لكنها لا تدعم لقطات شاشة CSS عبر --element.
  • يضع --labels مراجع اللقطة الحالية فوق لقطة الشاشة.
  • يضيف snapshot --urls وجهات الروابط المكتشفة إلى لقطات الذكاء الاصطناعي حتى يتمكن الوكلاء من اختيار أهداف تنقل مباشرة بدلًا من التخمين من نص الرابط وحده.

التنقل/النقر/الكتابة (أتمتة واجهة المستخدم المعتمدة على المرجع):

bash
OmeniaClaw browser navigate https://example.comOmeniaClaw browser click <ref>OmeniaClaw browser click-coords 120 340OmeniaClaw browser type <ref> "hello"OmeniaClaw browser press EnterOmeniaClaw browser hover <ref>OmeniaClaw browser scrollintoview <ref>OmeniaClaw browser drag <startRef> <endRef>OmeniaClaw browser select <ref> OptionA OptionBOmeniaClaw browser fill --fields '[{"ref":"1","value":"Ada"}]'OmeniaClaw browser wait --text "Done"OmeniaClaw browser evaluate --fn '(el) => el.textContent' --ref <ref>

تعيد استجابات الإجراء قيمة targetId الخام الحالية بعد استبدال الصفحة المشغّل بإجراء عندما يستطيع OmeniaClaw إثبات علامة التبويب البديلة. ومع ذلك ينبغي للبرامج النصية تخزين وتمرير suggestedTargetId/التسميات لسير العمل طويل الأمد.

مساعدات الملفات ومربعات الحوار:

bash
OmeniaClaw browser upload /tmp/OmeniaClaw/uploads/file.pdf --ref <ref>OmeniaClaw browser waitfordownloadOmeniaClaw browser download <ref> report.pdfOmeniaClaw browser dialog --accept

تحفظ ملفات Chrome الشخصية المُدارة التنزيلات العادية الناتجة عن النقر في دليل تنزيلات OmeniaClaw (/tmp/OmeniaClaw/downloads افتراضيًا، أو جذر الملفات المؤقتة المضبوط). استخدم waitfordownload أو download عندما يحتاج الوكيل إلى انتظار ملف محدد وإعادة مساره؛ تمتلك أدوات الانتظار الصريحة هذه التنزيل التالي.

الحالة والتخزين

إطار العرض + المحاكاة:

bash
OmeniaClaw browser resize 1280 720OmeniaClaw browser set viewport 1280 720OmeniaClaw browser set offline onOmeniaClaw browser set media darkOmeniaClaw browser set timezone Europe/LondonOmeniaClaw browser set locale en-GBOmeniaClaw browser set geo 51.5074 -0.1278 --accuracy 25OmeniaClaw browser set device "iPhone 14"OmeniaClaw browser set headers '{"x-test":"1"}'OmeniaClaw browser set credentials myuser mypass

ملفات تعريف الارتباط + التخزين:

bash
OmeniaClaw browser cookiesOmeniaClaw browser cookies set session abc123 --url https://example.comOmeniaClaw browser cookies clearOmeniaClaw browser storage local getOmeniaClaw browser storage local set token abc123OmeniaClaw browser storage session clear

تصحيح الأخطاء

bash
OmeniaClaw browser console --level errorOmeniaClaw browser pdfOmeniaClaw browser responsebody "**/api"OmeniaClaw browser highlight <ref>OmeniaClaw browser errors --clearOmeniaClaw browser requests --filter apiOmeniaClaw browser trace startOmeniaClaw browser trace stop --out trace.zip

Chrome موجود عبر MCP

استخدم الملف الشخصي المضمّن user، أو أنشئ ملف existing-session خاصًا بك:

bash
OmeniaClaw browser --browser-profile user tabsOmeniaClaw browser create-profile --name chrome-live --driver existing-sessionOmeniaClaw browser create-profile --name brave-live --driver existing-session --user-data-dir "~/Library/Application Support/BraveSoftware/Brave-Browser"OmeniaClaw browser --browser-profile chrome-live tabs

هذا المسار خاص بالمضيف فقط. بالنسبة إلى Docker أو الخوادم بلا واجهة أو Browserless أو الإعدادات البعيدة الأخرى، استخدم ملف CDP شخصيًا بدلًا من ذلك.

قيود existing-session الحالية:

  • تستخدم الإجراءات المعتمدة على اللقطات المراجع، وليس محددات CSS
  • يضبط browser.actionTimeoutMs قيمة الطلبات المدعومة act افتراضيًا إلى 60000 ms عندما يحذف المستدعون timeoutMs؛ وتظل قيمة timeoutMs لكل استدعاء هي الأعلى أولوية.
  • click نقر أيسر فقط
  • لا يدعم type قيمة slowly=true
  • لا يدعم press قيمة delayMs
  • ترفض hover وscrollintoview وdrag وselect وfill وevaluate تجاوزات المهلة لكل استدعاء
  • يدعم select قيمة واحدة فقط
  • wait --load networkidle غير مدعوم
  • تتطلب عمليات رفع الملفات --ref / --input-ref، ولا تدعم CSS عبر --element، وتدعم حاليًا ملفًا واحدًا في كل مرة
  • لا تدعم خطافات مربع الحوار --timeout
  • تدعم لقطات الشاشة التقاط الصفحات و--ref، لكن ليس CSS عبر --element
  • ما زالت responsebody واعتراض التنزيلات وتصدير PDF والإجراءات الدفعية تتطلب متصفحًا مُدارًا أو ملف CDP خامًا

التحكم بالمتصفح عن بُعد (وكيل مضيف العقدة)

إذا كان Gateway يعمل على جهاز مختلف عن المتصفح، فشغّل مضيف عقدة على الجهاز الذي يحتوي على Chrome/Brave/Edge/Chromium. سيقوم Gateway بتمرير إجراءات المتصفح إلى تلك العقدة (لا يلزم خادم تحكم منفصل بالمتصفح).

استخدم gateway.nodes.browser.mode للتحكم في التوجيه التلقائي وgateway.nodes.browser.node لتثبيت عقدة محددة إذا كانت هناك عدة عقد متصلة.

الأمان + الإعداد البعيد: أداة المتصفح، الوصول البعيد، Tailscale، الأمان

ذات صلة

Was this useful?
On this page

On this page