Tools

افزونهٔ Chrome

افزونه Chrome

افزونه Chrome متعلق به OpenClaw به یک عامل اجازه می‌دهد زبانه‌های Chrome که در آن‌ها وارد حساب شده‌اید را بدون راه‌اندازی یک مرورگر مدیریت‌شده جداگانه و بدون نمایش پیام مسدودکننده «Allow remote debugging?» در Chrome کنترل کند.

این قابلیت هنگامی اهمیت دارد که OpenClaw را از طریق تلفن همراه (Telegram، WhatsApp و غیره) هدایت می‌کنید: نمایه user از طریق درگاه اشکال‌زدایی از راه دور Chrome متصل می‌شود و یک کادر محاوره‌ای رضایت روی دسکتاپ نمایش می‌دهد که وقتی حضور ندارید، کسی نمی‌تواند روی آن کلیک کند. افزونه در عوض از API ‏chrome.debugger استفاده می‌کند؛ بنابراین تنها نشانه داخل صفحه، نوار قابل‌بستن «OpenClaw started debugging this browser» در Chrome است.

افزونه‌های Chrome مربوط به Claude از Anthropic و Codex از OpenAI نیز از همین الگو استفاده می‌کنند.

نحوه کار

سه بخش وجود دارد:

  • سرویس کنترل مرورگر (Gateway یا میزبان Node):‏ API که ابزار browser فراخوانی می‌کند.
  • رله افزونه (WebSocket روی local loopback): سرور کوچکی که سرویس کنترل روی 127.0.0.1 راه‌اندازی می‌کند. این سرور یک نقطه پایانی پروتکل Chrome DevTools را در اختیار OpenClaw قرار می‌دهد و با افزونه ارتباط برقرار می‌کند. هر دو طرف با یک توکن محلی میزبان احراز هویت می‌شوند (به بخش زیر مراجعه کنید).
  • افزونه Chrome متعلق به OpenClaw‏ (MV3): با استفاده از chrome.debugger به زبانه‌ها متصل می‌شود، ترافیک CDP را انتقال می‌دهد و گروه زبانه OpenClaw را مدیریت می‌کند.

OpenClaw فقط زبانه‌هایی را می‌بیند و کنترل می‌کند که در گروه زبانه OpenClaw قرار دارند. این گروه مرز رضایت است: برای اشتراک‌گذاری، زبانه‌ای را به داخل آن بکشید و برای لغو فوری دسترسی، زبانه را از آن بیرون بکشید (یا روی دکمه نوار ابزار کلیک کنید).

نصب و جفت‌سازی

  1. مسیر افزونه بسته‌بندی‌نشده را نمایش دهید:

    bash
    openclaw browser extension path
  2. نشانی chrome://extensions را باز کنید، Developer mode را فعال کنید، روی Load unpacked کلیک کنید و پوشه نمایش‌داده‌شده را انتخاب کنید.

  3. رشته جفت‌سازی را نمایش دهید:

    bash
    openclaw browser extension pair
  4. روی نماد OpenClaw در نوار ابزار کلیک کنید و رشته جفت‌سازی را در پنجره بازشو جای‌گذاری کنید. وقتی افزونه به رله متصل شود، نشان به ON تغییر می‌کند.

توکن جفت‌سازی یک رمز محرمانه محلی میزبان است که هنگام نخستین استفاده ایجاد و در پوشه credentials/ واقع در پوشه وضعیت (با حالت 0600) ذخیره می‌شود. هر دستگاهی که مرورگر را اجرا می‌کند — میزبان Gateway و هر میزبان Node مرورگر — توکن اختصاصی خود را دارد؛ بنابراین نیازی نیست هیچ اعتبارنامه‌ای بین دستگاه‌ها جابه‌جا شود. برای چرخش آن، فایل browser-extension-relay.secret را حذف و دوباره جفت‌سازی کنید.

استفاده

نمایه داخلی chrome را در فراخوانی ابزار browser انتخاب کنید یا آن را به نمایه پیش‌فرض تبدیل کنید:

bash
openclaw config set browser.defaultProfile chrome
json5
{  browser: {    profiles: {      chrome: { driver: "extension", color: "#FF4500" },    },  },}
  • اشتراک‌گذاری یک زبانه: روی دکمه OpenClaw در نوار ابزار همان زبانه کلیک کنید (زبانه به گروه زبانه OpenClaw می‌پیوندد) یا هر زبانه‌ای را به داخل گروه بکشید.
  • عامل همچنین می‌تواند زبانه‌های جدیدی باز کند؛ این زبانه‌ها به‌طور خودکار در گروه قرار می‌گیرند.
  • لغو دسترسی: دوباره روی دکمه کلیک کنید، زبانه را از گروه بیرون بکشید یا نوار اشکال‌زدایی Chrome را ببندید. عامل بلافاصله دسترسی به آن زبانه را از دست می‌دهد.

دسترسی از راه دور / بین دستگاه‌ها

لازم نیست Chrome روی میزبان Gateway اجرا شود. سه توپولوژی قابل استفاده است:

  • همان میزبان (Gateway و Chrome روی یک دستگاه): با اجرای openclaw browser extension pair روی همان دستگاه جفت‌سازی کنید. رله فقط از طریق local loopback قابل دسترسی است.
  • اتصال مستقیم به Gateway راه دور (Chrome روی لپ‌تاپ شما، Gateway روی یک VPS و هیچ‌چیز دیگری روی لپ‌تاپ نیست): روی Gateway فرمان openclaw browser extension pair --gateway-url wss://your-gateway.example.com را اجرا کنید. این فرمان رشته‌ای به‌شکل wss://…/browser/extension#<secret> نمایش می‌دهد؛ افزونه را روی لپ‌تاپ بارگیری و جفت‌سازی کنید. افزونه از طریق wss:// مستقیماً به Gateway متصل می‌شود — بدون نیاز به نصب OpenClaw،‏ Node،‏ CLI یا بازکردن درگاه ورودی روی لپ‌تاپ. این مسیر مناسب میزبانی مدیریت‌شده است.
  • از طریق میزبان Node مرورگر (Chrome روی دستگاهی که از قبل یک Node متعلق به OpenClaw را اجرا می‌کند): فرمان pair را روی Node اجرا و به‌صورت محلی جفت‌سازی کنید؛ Gateway اقدامات مرورگر را از طریق پیوند احراز هویت‌شده موجود Node به آن واسطه می‌کند.

رمز محرمانه جفت‌سازی برای هر میزبان جداگانه است (در حالت اتصال مستقیم، رمز Gateway) و مسیر /browser/extension در Gateway آن را اعتبارسنجی می‌کند. برای مسیر مستقیم، Gateway را از طریق TLS ‏(wss://) ارائه کنید تا رمز محرمانه جفت‌سازی و ترافیک CDP رمزگذاری شوند. رمز محرمانه در قطعه URL رشته جفت‌سازی باقی می‌ماند و هنگام دست‌دهی WebSocket به‌عنوان اعتبارنامه زیرپروتکل ارائه می‌شود؛ بنابراین گزارش‌های دسترسی معمول پراکسی آن را در URL درخواست دریافت نمی‌کنند. اطمینان حاصل کنید که هر پراکسی معکوس، سرآیند استاندارد Sec-WebSocket-Protocol را حفظ می‌کند.

عیب‌یابی

bash
openclaw browser status --browser-profile chromeopenclaw browser doctor --browser-profile chrome

فرمان doctor بررسی رله افزونه Chrome را تا زمانی که پنجره بازشوی افزونه عبارت Connected را نشان دهد، ناموفق گزارش می‌کند.

مدل امنیتی

  • رله فقط به local loopback متصل می‌شود؛ هر دو سمت WebSocket با توکن مشتق‌شده احراز هویت می‌شوند و مبدأ سمت افزونه با chrome-extension:// بررسی می‌شود.
  • جفت‌سازی مستقیم Gateway توکن رله را در URL درخواست نمی‌پذیرد؛ افزونه همراه در عوض آن را در فهرست زیرپروتکل WebSocket حمل می‌کند.
  • عامل فقط می‌تواند زبانه‌های موجود در گروه زبانه OpenClaw را ببیند و کنترل کند. سایر زبانه‌های شما خصوصی باقی می‌مانند.
  • در مقایسه با نمایه user‏ (Chrome MCP) که پس از تأیید پیام اشکال‌زدایی از راه دور، کل مرورگری را که در آن وارد حساب شده‌اید در دسترس قرار می‌دهد، افزونه محدوده اشتراک‌گذاری را به گروهی از زبانه‌ها محدود نگه می‌دارد که می‌توانید با یک نگاه کنترل کنید.

همچنین برای آشنایی با مدل کامل نمایه‌ها و نمایه‌های مدیریت‌شده openclaw و user متعلق به Chrome MCP، به مرورگر مراجعه کنید.

Was this useful?
On this page

On this page