
شنو هو Chrome Relay؟
Chrome Relay كيخلّي agents ديال البرمجة المدعومين يستعملو بروفايلات Google Chrome اللي كتستعمل كل نهار من سطر الأوامر. يقدرو يوصلو للمواقع اللي نتا داخل ليها من قبل، وهما خدامين فتبويبات خلفية غير نشيطة، باش الأتمتة ما تاخدش التركيز من النافذة اللي خدام فيها دابا.
المشروع كيخدم مع Claude Code وCodex وCursor وPaseo. كيربط أوامر المتصفح ديالهم مع Chrome باستعمال agent-browser. الأوامر كتكمل غالباً فحوالي 0.15 ثانية، وChrome ما كيحتاجش منفذ ديال remote debugging.
Chrome Relay اختياري. ما كينصبش الإضافة ديالو أوتوماتيكياً، وكيخدم غير فـ Macs اللي المالك ديالها كمّل الإعداد.
كيفاش كيخدم Chrome Relay
agent-browser CLI → local relay → Chrome Relay extension → agent tab
النظام فيه ثلاثة ديال المكونات الرئيسية:
- إضافة Chrome: إضافة Manifest V3 غير مفكوكة، كتتحمّل بوحدها فكل بروفايل Chrome بغيتي agents يستعملوه. كتفتح تبويبات agents فمجموعة تبويبات غير نشيطة ومطوية سميتها Agents، وكتصيفط أوامر DevTools عبر
chrome.debugger. - الـ relay المحلي: LaunchAgent كيسمع فـ
127.0.0.1:9333. كيعطي كل agent نقطة نهاية DevTools بوحدها، وكيحصر agent فالتبويبات اللي هو فتحها. - أداة سطر الأوامر: الأمر
chrome-relayكيتكلف بالإعداد، وروابط الاتصال، والهويات، والتحديثات، والتشخيص، والسجلات، وسجلات التدقيق.
الـ relay كيمنع الأوامر اللي تقدر ترفع Chrome أو تعطيه التركيز. ومع ذلك، Chrome يقدر يبقى كيعرض الرسالة Chrome Relay started debugging this browser ملي كيكون agent خدام.
المتطلبات
قبل التثبيت، تأكد بلي عندك:
- macOS
- Google Chrome
- Node.js 20 ولا أحدث
agent-browserمنصّب بشكل عام
نصّب agent-browser باستعمال npm:
npm i -g agent-browser
تثبيت Chrome Relay
1. كلونِي المشروع ووجد الإعدادات
git clone https://github.com/aindeev/agent-chrome-relay
cd agent-chrome-relay
bin/chrome-relay setup
أمر الإعداد كيخلق السر المحلي، وكيفرّغ الخدمة اللي خدامة فالخلفية، وكيحفظ الهويات، وكيحط chrome-relay فـ PATH ديالك، وكيربط skill ديال Chrome Relay مع Claude Code.
2. حمّل الإضافة فـ Chrome
عاود هاد الخطوات فكل بروفايل Chrome اللي بغيتي agents يقدرو يستعملوه:
- حل
chrome://extensions. - فعّل Developer mode.
- اختار Load unpacked.
- اختار مجلد
extensionديال المستودع.
حيت كل بروفايل Chrome كيحمّل النسخة الخاصة به من الإضافة، تقدر تكشف غير البروفايلات اللي اخترتي بشكل صريح.
3. تأكد من التثبيت
chrome-relay doctor
استعمل مخرجات التشخيص باش تتأكد بلي الـ relay والإضافة موجدين مزيان قبل ما تطلب من agent يقلب فالمواقع.
عرّف agent ديال البرمجة على Chrome Relay
Claude Code
عملية الإعداد كترابط skill/SKILL.md مع ~/.claude/skills/chrome-relay. بهاد الطريقة كيبقى skill متاح فمختلف المستودعات. ملف CLAUDE.md ديال المستودع غير كيحتاج سطر واحد كيشير لهاد skill ملي كتكون شي تعليمة صريحة مفيدة.
Codex وCursor وagents آخرين مدعومين
وجّه التعليمات العامة ديال agent لنفس ملف skill. مثلاً، زيد تعليمة بحال هادي فـ ~/.codex/AGENTS.md:
For any browser step that needs my logins, follow /path/to/agent-chrome-relay/skill/SKILL.md.
بدّل المسار المثال بالمسار المطلق للمستودع اللي كلونِيتي.
شغّل أول أتمتة ديال المتصفح
أولاً طلب من Chrome Relay رابط اتصال موثّق، ومن بعد دوز داك الرابط لـ agent-browser:
agent-browser --cdp "$(chrome-relay url you@company.com)" open https://app.example.com/
agent-browser snapshot -i
agent-browser click @e5
agent-browser close
بدّل you@company.com بالهوية الموجدة المناسبة، وبدّل الموقع المثال بالصفحة اللي بغيتي تأتمتها.
chrome-relay urlكيطبّع رابط اتصال فيه السر ديال هاد Mac.agent-browser openكيفتح تبويب غير نشيط مملوك لـ agent وكيحل الصفحة المطلوبة.snapshot -iكيسرد عناصر التحكم التفاعلية بحال الروابط والأزرار والحقول. كل عنصر كياخذ مرجع بحال@e5.click @e5كيفعّل العنصر المشار ليه باستعمال محاكاة إدخال حقيقية فالتبويب اللي خدام فالخلفية.closeكيسالي جلسة المتصفح.
فهم طريقة تسجيل الدخول
Agents ما كيكتبوش بيانات الدخول ديالك. إلا دار موقع إعادة توجيه عبر Google وكان الحساب الصحيح داخل من قبل، الإضافة تقدر تختار داك الحساب وتنقر على Continue ولا Allow. هاد الشي كيستعمل برمجة الصفحة ويقدر يخدم حتى ملي كيكون 1Password حاط إطار فالصفحة.
إلا وصل المسار لكلمة السر، أو passkey، أو التحقق بخطوتين، أو شاشة ديال حساب خارج من الجلسة، كتوقف الأتمتة. كيتوصل agent برسالة SIGN-IN NEEDED وخصو يطلب منك تكمل تسجيل الدخول فالنافذة ديالك.
تدبير هويات البروفايلات والمواقع
إعدادات الهوية مخزنة فـ ~/.chrome-relay/identities.json. شوفها ولا دبرها بهاد الأمر:
chrome-relay identities
التكوين كيشمل بروفايلات Chrome اللي تكتاشفو فمرحلة الإعداد، وsites.rules اللي يمكن تزيدوهم يدوياً، وداكشي ديال sites.learned اللي كيتسجلو من بعد ما كتدوز بنجاح من مراحل تسجيل الدخول. فالحالة الافتراضية، الموقع كيستعمل الحساب المرتابط ببروفايل Chrome اللي تختار.
نموذج الأمان
كل اتصال ديال agent خاصو يدوز من جوج ديال الفحوصات:
- السر المحلي: الإعداد كينشئ token فـ
~/.chrome-relay/tokenبصلاحيات الملف600. الـ token كيتضمن فالروابط اللي كيطبّعهاchrome-relay url. - تطبيق agent مسموح به: العملية اللي كاتصل خاصها تكون مرتبطة بـ Claude Code أو Codex أو Cursor أو Paseo. الـ relay كيتفقد العمليات والعلامات اللي كتحطها هاد التطبيقات فالعمليات التابعة ليها.
الاتصالات اللي فيها ترويسة Origin ديال المتصفح كيرفضها النظام حتى إلا كان فيها السر. والإضافة حتى هي كيتحقق منها باستعمال معرّف الإضافة المستخرج من Chrome، وorigin ديال chrome-extension://، وشرط أن العملية اللي كاتصل تكون هي Chrome.
هاد الضوابط كتحيد الأدوات المحلية اللي ما عندهاش علاقة، وصفحات الويب، والاتصالات العرضية. ولكن ماشي حاجز أمان ضد البرامج الخبيثة اللي راه خدامة من قبل كمستخدم ديالك، حيث تقدر تقرا السر وتقلّد علامات العمليات.
راجع سجل التدقيق
Chrome Relay كيسجل نشاط الـ agent فملفات JSON Lines يومية داخل ~/.chrome-relay/audit/YYYY-MM-DD.jsonl. قرا السجلات بهاد الأمر:
chrome-relay audit
سجل التدقيق كيشمل تفاصيل الاتصالات، المجلد اللي خدام منو، معرّفات الجلسات، الصفحات اللي تزارت، مواضع النقر، المفاتيح الخاصة، سكريبتات الـ agent، لقطات الشاشة، التحميلات، النوافذ المنبثقة، نقرات تسجيل الدخول، والصفحات اللي تبلوكاو. حفاظاً على الخصوصية، النص اللي تكتب كيتسجل غير على شكل عدد الحروف، وسلاسل الاستعلام ديال الروابط كيتحيدو.
السلوك المتقدم ونصائح
النوافذ المنبثقة والتبويبات الجديدة
الروابط اللي كتستعمل target=_blank والنوافذ المنبثقة كيتفتحو كتبويبات مخفية مملوكة لنفس الـ agent. مسارات المصادقة المنبثقة تقدر تبقى كتبعث الرسائل للصفحة اللي فتحتها وتسد راسها. الـ relay كيفرض origins اللي تلاحظات وtargetOrigin، وما كيثقش فالتصريحات ديال الصفحة.
صفحات 1Password
Chrome يقدر يفصل debugger ديال الإضافة ملي كتكون فالصفحة frame ديال إضافة أخرى، بحال قائمة 1Password فاستمارة تسجيل الدخول. Chrome Relay كيتسنى وكيعاود يربط debugger قبل ما يكمل أوامر الـ agent.
التنقية التلقائية
تبويبات الـ agent كيتسدو من بعد 30 دقيقة بلا نشاط. ملي كيعاود الـ relay يخدم، الإضافة حتى هي كتسد التبويبات اللي كانت حلات من قبل. التنقية مبنية على معرّفات التبويبات، وبهذا ما كتبدلش مجموعات التبويبات ديالك.
الإدخال فالخلفية
محاكاة التركيز كتبقى مفعّلة فتبويبات الـ agent. هادشي كيخلي النقر والكتابة يوصلو للتبويبات غير النشيطة، بينما تبويب Chrome الحالي ديالك كيبقى فبلاصتو.
تحديث وتشخيص وحذف Chrome Relay
من بعد ما تجيب تغييرات المستودع، عاود شغّل الـ relay وعاود حمّل الإضافة فكل بروفايل مكوّن:
git pull
chrome-relay update
شوف سجلات الـ relay بهاد الأمر:
chrome-relay logs
ملف السجل كاين فـ ~/.chrome-relay/relay.log. باش تحيد الخدمة المحلية والإعداد ديال سطر الأوامر، شغّل:
chrome-relay uninstall
من بعد حيد يدوياً الإضافة المفكوكة من كل بروفايل ديال Chrome.
التطوير والاختبار
باش تثبّت اعتماديات الـ relay وتشغّل مجموعة الاختبارات:
cd relay && npm install && npm test
الاختبارات كتشمل الترخيص ديال الاتصال، بما فيه السر، والتطبيقات المسموح بها، والاتصال ديال الإضافة اللي خاصو يكون من Chrome فقط، وسلوك التدقيق. من بعد ما تبدل الملفات اللي داخل extension/، عاود حمّل الإضافة بهاد الأمر:
chrome-relay update
فالبيئات المخصصة، CHROME_RELAY_HOME كيبدل مجلد البيانات وCHROME_RELAY_PORT كيبدل بورت الـ relay.
الخلاصة
Chrome Relay كيعطي للـ coding agents المدعومين وصولاً مضبوطاً لجلسات Chrome الموجودة، بلا ما يحتاج بورت ديال remote debugging ولا يسيطر على النافذة اللي خدامة عندك. منين كتكوّن الـ relay المحلي والإضافة المفكوكة، تقدر تأتمت مهام المتصفح اللي كتحتاج تسجيل الدخول باستعمال agent-browser، وتختار الهويات حسب البروفايل ولا الموقع، وتراجع سجلات تدقيق مفصلة ومراعية للخصوصية، وتعتمد على التنقية التلقائية للجلسات اللي تخلاو عليها.
باش تشوف الكود المصدري والتحديثات وتبلغ على المشاكل، سير لـ مستودع Chrome Relay على GitHub. المشروع متوفر برخصة MIT.
