الانتقال إلى المحتوى الرئيسي

امتداد Chrome (ترحيل المتصفح)

يتيح امتداد OpenClaw لمتصفح Chrome للوكيل التحكم في علامات تبويب Chrome الحالية لديك (نافذة Chrome العادية) بدلًا من تشغيل ملف تعريف Chrome منفصل مُدار بواسطة OpenClaw. يتم الإرفاق/الفصل عبر زر واحد في شريط أدوات Chrome.

ما هو (المفهوم)

هناك ثلاثة أجزاء:
  • خدمة التحكم في المتصفح (Gateway أو عُقدة): واجهة برمجة التطبيقات التي يستدعيها الوكيل/الأداة (عبر Gateway)
  • خادم ترحيل محلي (loopback CDP): يجسر بين خادم التحكم والامتداد (http://127.0.0.1:18792 افتراضيًا)
  • امتداد Chrome MV3: يُرفَق بعلامة التبويب النشطة باستخدام chrome.debugger ويُمرِّر رسائل CDP إلى الترحيل
بعد ذلك يتحكم OpenClaw في علامة التبويب المُرفَقة عبر سطح أداة browser المعتاد (مع اختيار ملف التعريف المناسب).

التثبيت / التحميل (غير مُعبَّأ)

  1. ثبّت الامتداد في مسار محلي ثابت:
openclaw browser extension install
  1. اطبع مسار دليل الامتداد المُثبَّت:
openclaw browser extension path
  1. Chrome → chrome://extensions
  • فعِّل «وضع المطوّر»
  • «تحميل غير مُعبَّأ» → اختر الدليل المطبوع أعلاه
  1. تثبيت الإضافة.

التحديثات (من دون خطوة بناء)

يأتي الامتداد ضمن إصدار OpenClaw (حزمة npm) كملفات ثابتة. لا توجد خطوة «بناء» منفصلة. بعد ترقية OpenClaw:
  • أعد تشغيل openclaw browser extension install لتحديث الملفات المُثبَّتة ضمن دليل حالة OpenClaw لديك.
  • Chrome → chrome://extensions → انقر «إعادة التحميل» على الامتداد.

الاستخدام (من دون تهيئة إضافية)

يشحن OpenClaw ملف تعريف متصفح مدمجًا باسم chrome يستهدف ترحيل الامتداد على المنفذ الافتراضي. استخدمه:
  • CLI: openclaw browser --browser-profile chrome tabs
  • أداة الوكيل: browser مع profile="chrome"
إذا أردت اسمًا مختلفًا أو منفذ ترحيل مختلفًا، فأنشئ ملف تعريفك الخاص:
openclaw browser create-profile \
  --name my-chrome \
  --driver extension \
  --cdp-url http://127.0.0.1:18792 \
  --color "#00AA00"

الإرفاق / الفصل (زر شريط الأدوات)

  • افتح علامة التبويب التي تريد أن يتحكم بها OpenClaw.
  • انقر أيقونة الامتداد.
    • تُظهر الشارة ON عند الإرفاق.
  • انقر مرة أخرى للفصل.

أي علامة تبويب يتم التحكم بها؟

  • لا يتحكم تلقائيًا في «أي علامة تبويب تنظر إليها».
  • يتحكم فقط في علامة/علامات التبويب التي أرفقتها صراحةً بالنقر على زر شريط الأدوات.
  • للتبديل: افتح علامة التبويب الأخرى وانقر أيقونة الامتداد هناك.

الشارة + الأخطاء الشائعة

  • ON: مُرفَقة؛ يمكن لـ OpenClaw قيادة تلك العلامة.
  • : جارٍ الاتصال بالترحيل المحلي.
  • !: الترحيل غير قابل للوصول (الأكثر شيوعًا: خادم ترحيل المتصفح لا يعمل على هذا الجهاز).
إذا رأيت !:
  • تأكّد من أن Gateway يعمل محليًا (الإعداد الافتراضي)، أو شغّل مضيف عُقدة على هذا الجهاز إذا كان Gateway يعمل في مكان آخر.
  • افتح صفحة خيارات الامتداد؛ فهي تُظهر ما إذا كان الترحيل قابلًا للوصول.

Gateway عن بُعد (استخدم مضيف عُقدة)

Gateway محلي (نفس جهاز Chrome) — عادةً لا خطوات إضافية

إذا كان Gateway يعمل على نفس جهاز Chrome، فإنه يبدأ خدمة التحكم في المتصفح على loopback ويبدأ خادم الترحيل تلقائيًا. يتواصل الامتداد مع الترحيل المحلي؛ وتذهب استدعاءات CLI/الأداة إلى Gateway.

Gateway عن بُعد (Gateway يعمل في مكان آخر) — شغّل مضيف عُقدة

إذا كان Gateway يعمل على جهاز آخر، فابدأ مضيف عُقدة على الجهاز الذي يشغّل Chrome. سيقوم Gateway بتمرير إجراءات المتصفح إلى تلك العُقدة؛ بينما يبقى الامتداد + الترحيل محليين على جهاز المتصفح. إذا كانت هناك عُقد متعددة متصلة، فثبّت واحدة باستخدام gateway.nodes.browser.node أو عيّن gateway.nodes.browser.mode.

sandboxing (حاويات الأدوات)

إذا كانت جلسة الوكيل لديك ضمن sandbox (agents.defaults.sandbox.mode != "off")، فقد تُقيَّد أداة browser:
  • افتراضيًا، غالبًا ما تستهدف الجلسات ضمن sandbox متصفح sandbox (target="sandbox") وليس Chrome على المضيف.
  • يتطلّب الاستحواذ عبر ترحيل امتداد Chrome التحكم في خادم التحكم في المتصفح على المضيف.
الخيارات:
  • الأسهل: استخدم الامتداد من جلسة/وكيل غير ضمن sandbox.
  • أو اسمح بالتحكم في متصفح المضيف للجلسات ضمن sandbox:
{
  agents: {
    defaults: {
      sandbox: {
        browser: {
          allowHostControl: true,
        },
      },
    },
  },
}
ثم تأكّد من أن الأداة غير مرفوضة بسياسة الأدوات، و(عند الحاجة) استدعِ browser مع target="host". تصحيح الأخطاء: openclaw sandbox explain

نصائح الوصول عن بُعد

  • أبقِ Gateway ومضيف العُقدة على نفس tailnet؛ وتجنّب تعريض منافذ الترحيل إلى الشبكة المحلية أو الإنترنت العام.
  • أقرِن العُقد عن قصد؛ وعطّل توجيه وكيل المتصفح إذا كنت لا تريد تحكمًا عن بُعد (gateway.nodes.browser.mode="off").

كيف يعمل “مسار التمديد”

يطبع openclaw browser extension path الدليل المثبّت على القرص الذي يحتوي ملفات الامتداد. يتعمّد CLI عدم طباعة مسار node_modules. شغّل دائمًا openclaw browser extension install أولًا لنسخ الامتداد إلى موقع ثابت ضمن دليل حالة OpenClaw لديك. إذا نقلتَ أو حذفتَ دليل التثبيت ذلك، فسيُعلِّم Chrome الامتداد على أنه معطّل إلى أن تعيد تحميله من مسار صالح.

التداعيات الأمنية (اقرأ هذا)

هذا قوي ومحفوف بالمخاطر. عامله كأنك تمنح النموذج «يدين على متصفحك».
  • يستخدم الامتداد واجهة تصحيح أخطاء Chrome (chrome.debugger). عند الإرفاق، يمكن للنموذج:
    • النقر / النقر/التنقل في علامة التبويب هذه
    • قراءة محتوى الصفحة
    • الوصول إلى أي شيء يمكن لجلسة تسجيل الدخول في تلك العلامة الوصول إليه
  • هذا غير معزول مثل ملف التعريف المخصّص المُدار بواسطة OpenClaw.
    • إذا أرفقتَ بملف تعريفك/علامة تبويبك اليومية، فأنت تمنح وصولًا إلى حالة ذلك الحساب.
توصيات:
  • فضّل ملف تعريف Chrome مخصّصًا (منفصلًا عن تصفحك الشخصي) لاستخدام ترحيل الامتداد.
  • أبقِ Gateway وأي مضيفي عُقد ضمن tailnet فقط؛ واعتمد على مصادقة Gateway + إقران العُقد.
  • تجنّب تعريض منافذ الترحيل عبر الشبكة المحلية (0.0.0.0) وتجنّب Funnel (العام).
  • يمنع الترحيل الأصول غير التابعة للامتداد ويتطلب رمز مصادقة داخليًا لعملاء CDP.
ذو صلة:
  • نظرة عامة على أداة المتصفح: Browser
  • التدقيق الأمني: Security
  • إعداد Tailscale: Tailscale