مرکزی مواد پر جائیں
اے آئی ٹیوٹوریلز

کوڈنگ ایجنٹس کو اپنے لاگ اِن شدہ Chrome کو کنٹرول کرنے دینے کے لیے Chrome Relay استعمال کریں

macOS پر Chrome Relay انسٹال کرنے، معاون کوڈنگ ایجنٹس کو اپنے روزمرہ کے Chrome پروفائلز سے منسلک کرنے، agent-browser کے ذریعے لاگ اِن شدہ ویب سائٹس خودکار بنانے، سائن اِنز اور شناختوں کا نظم کرنے، آڈٹ ریکارڈز کا معائنہ کرنے، اور Relay کے مسائل حل یا اسے اپ ڈیٹ کرنے کا طریقہ جانیں۔

کوڈنگ ایجنٹس کو اپنے لاگ اِن شدہ Chrome کو کنٹرول کرنے دینے کے لیے Chrome Relay استعمال کریں

Chrome Relay کیا ہے؟

Chrome Relay معاونت یافتہ کوڈنگ ایجنٹس کو کمانڈ لائن سے آپ کے روزمرہ استعمال ہونے والے Google Chrome پروفائلز استعمال کرنے دیتا ہے۔ ایجنٹس ان سائٹس تک رسائی حاصل کر سکتے ہیں جہاں آپ پہلے ہی سائن اِن ہیں، جبکہ وہ پسِ منظر کے غیر فعال ٹیبز میں کام کرتے ہیں، اس لیے آٹومیشن آپ کی موجودہ ونڈو سے فوکس نہیں ہٹاتی۔

Chrome Relay پروجیکٹ کا جائزہ

یہ پروجیکٹ Claude Code، Codex، Cursor، اور Paseo کے ساتھ کام کرتا ہے۔ یہ ان کے براؤزر کمانڈز کو Chrome سے agent-browser کے ذریعے جوڑتا ہے۔ کمانڈز عموماً تقریباً 0.15 سیکنڈ میں مکمل ہو جاتی ہیں، اور Chrome کو ریموٹ ڈیبگنگ پورٹ کی ضرورت نہیں ہوتی۔

Chrome Relay اختیاری ہے۔ یہ اپنی ایکسٹینشن خودکار طور پر انسٹال نہیں کرتا، اور صرف ان Macs پر چلتا ہے جن کے مالک نے سیٹ اپ مکمل کیا ہو۔

Chrome Relay کیسے کام کرتا ہے

agent-browser CLI → local relay → Chrome Relay extension → agent tab

اس نظام کے تین بنیادی اجزا ہیں:

  • Chrome ایکسٹینشن: ایک unpacked Manifest V3 ایکسٹینشن، جو ہر اس Chrome پروفائل میں الگ سے لوڈ کی جاتی ہے جسے آپ ایجنٹس کے لیے استعمال کرنا چاہتے ہیں۔ یہ ایجنٹ ٹیبز کو غیر فعال، سمٹے ہوئے Agents ٹیب گروپ میں کھولتی ہے اور chrome.debugger کے ذریعے DevTools کمانڈز بھیجتی ہے۔
  • مقامی relay: ایک LaunchAgent جو 127.0.0.1:9333 پر سن رہا ہوتا ہے۔ یہ ہر ایجنٹ کو الگ DevTools endpoint دیتا ہے اور ایجنٹ کو صرف ان ٹیبز تک محدود رکھتا ہے جو اس نے کھولے ہوں۔
  • کمانڈ لائن ٹول: chrome-relay کمانڈ سیٹ اپ، کنکشن URLs، شناختوں، اپ ڈیٹس، تشخیص، لاگز، اور آڈٹ ریکارڈز کو سنبھالتی ہے۔

Relay ایسی کمانڈز کو روک دیتا ہے جو Chrome کو سامنے لا سکتی ہوں یا اس پر فوکس کر سکتی ہوں۔ ایجنٹ کے کام کے دوران Chrome پھر بھی یہ پیغام دکھا سکتا ہے: Chrome Relay started debugging this browser۔

ضروریات

انسٹالیشن سے پہلے یقینی بنائیں کہ آپ کے پاس یہ چیزیں موجود ہیں:

  • macOS
  • Google Chrome
  • Node.js 20 یا اس کے بعد کا ورژن
  • agent-browser عالمی سطح پر انسٹال شدہ

npm کے ذریعے agent-browser انسٹال کریں:

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

سیٹ اپ کمانڈ مقامی secret بناتی ہے، پسِ منظر کی سروس تشکیل دیتی ہے، شناختیں ریکارڈ کرتی ہے، chrome-relay کو آپ کے PATH میں شامل کرتی ہے، اور Claude Code کے لیے Chrome Relay skill کا لنک بناتی ہے۔

2. ایکسٹینشن کو Chrome میں لوڈ کریں

ہر اس Chrome پروفائل میں یہ مراحل دہرائیں جسے ایجنٹس استعمال کر سکیں:

  1. chrome://extensions کھولیں۔
  2. Developer mode فعال کریں۔
  3. Load unpacked منتخب کریں۔
  4. ریپوزٹری کا extension فولڈر منتخب کریں۔

چونکہ ہر Chrome پروفائل ایکسٹینشن کی اپنی کاپی لوڈ کرتا ہے، اس لیے آپ صرف ان پروفائلز کو ظاہر کر سکتے ہیں جنہیں آپ واضح طور پر منتخب کریں۔

3. انسٹالیشن کی تصدیق کریں

chrome-relay doctor

کسی ایجنٹ سے براؤز کروانے سے پہلے تشخیصی آؤٹ پٹ استعمال کرکے تصدیق کریں کہ relay اور ایکسٹینشن درست طور پر تشکیل دیے گئے ہیں۔

اپنے کوڈنگ ایجنٹ کو Chrome Relay کے بارے میں بتائیں

Claude Code

سیٹ اپ کا عمل skill/SKILL.md کو ~/.claude/skills/chrome-relay میں لنک کر دیتا ہے۔ اس سے یہ skill تمام ریپوزٹریز میں دستیاب ہو جاتی ہے۔ ریپوزٹری کی سطح پر موجود CLAUDE.md میں صرف اس skill کی طرف ایک سطری حوالہ درکار ہے، جب واضح ہدایت مفید ہو۔

Codex، Cursor، اور دیگر معاونت یافتہ ایجنٹس

ایجنٹ کی عالمی ہدایات کو اسی skill فائل کی طرف متوجہ کریں۔ مثال کے طور پر، ~/.codex/AGENTS.md میں اس طرح کی ہدایت شامل کریں:

For any browser step that needs my logins, follow /path/to/agent-chrome-relay/skill/SKILL.md.

مثالی path کو اپنے کلون کیے گئے ریپوزٹری کے مطلق path سے تبدیل کریں۔

اپنی پہلی براؤزر آٹومیشن چلائیں

پہلے Chrome Relay سے ایک authenticated connection URL حاصل کریں، پھر وہ URL 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 کو متعلقہ تشکیل دی گئی شناخت سے تبدیل کریں اور مثال میں دی گئی سائٹ کو اس صفحے سے تبدیل کریں جسے آپ خودکار بنانا چاہتے ہیں۔

  1. chrome-relay url اس Mac کا secret شامل کرنے والا connection URL پرنٹ کرتی ہے۔
  2. agent-browser open ایجنٹ کی ملکیت والا غیر فعال ٹیب بناتی ہے اور مطلوبہ صفحہ کھولتی ہے۔
  3. snapshot -i لنکس، بٹنوں، اور فیلڈز جیسے interactive controls کی فہرست بناتی ہے۔ ہر کنٹرول کو @e5 جیسا حوالہ دیا جاتا ہے۔
  4. click @e5 پسِ منظر کے ٹیب میں حقیقی input emulation استعمال کرتے ہوئے متعلقہ عنصر کو فعال کرتی ہے۔
  5. close براؤزر سیشن ختم کرتی ہے۔

سائن اِن کے رویے کو سمجھیں

ایجنٹس آپ کی credentials ٹائپ نہیں کرتے۔ اگر کوئی سائٹ Google کے ذریعے redirect ہوتی ہے اور درست اکاؤنٹ پہلے ہی سائن اِن ہو، تو ایکسٹینشن اس اکاؤنٹ کو منتخب کرکے Continue یا Allow پر کلک کر سکتی ہے۔ یہ page scripting استعمال کرتا ہے اور اس وقت بھی کام کر سکتا ہے جب 1Password نے صفحے پر ایک frame رکھا ہو۔

اگر عمل password، passkey، two-step verification، یا signed-out account اسکرین تک پہنچ جائے تو آٹومیشن رک جاتی ہے۔ ایجنٹ کو SIGN-IN NEEDED پیغام موصول ہوتا ہے اور اسے آپ سے اپنے ونڈو میں سائن اِن مکمل کرنے کے لیے کہنا چاہیے۔

پروفائل اور سائٹ کی شناختیں منظم کریں

شناخت کی تشکیل ~/.chrome-relay/identities.json میں محفوظ ہوتی ہے۔ اسے دیکھنے یا منظم کرنے کے لیے یہ کمانڈ استعمال کریں:

chrome-relay identities

ترتیب میں سیٹ اپ کے دوران دریافت کیے گئے Chrome پروفائلز، اختیاری طور پر دستی طور پر ترتیب دی گئی sites.rules، اور کامیاب سائن اِن مراحل کے بعد ریکارڈ کی گئی sites.learned اندراجات شامل ہیں۔ بطور ڈیفالٹ، کوئی سائٹ منتخب کردہ Chrome پروفائل سے وابستہ اکاؤنٹ استعمال کرتی ہے۔

سیکیورٹی ماڈل

ہر ایجنٹ کنکشن کو دو جانچوں سے گزرنا ضروری ہے:

  1. مقامی راز: سیٹ اپ ~/.chrome-relay/token پر 600 فائل موڈ کے ساتھ ایک ٹوکن بناتا ہے۔ یہ ٹوکن chrome-relay url کے ذریعے پرنٹ کیے گئے URLs میں شامل ہوتا ہے۔
  2. مجاز ایجنٹ ایپلیکیشن: مربوط ہونے والا پراسیس Claude Code، Codex، Cursor، یا Paseo سے وابستہ ہونا چاہیے۔ ریلے پراسیسز اور ان علامات کا جائزہ لیتا ہے جو یہ ایپلیکیشنز چائلڈ پراسیسز میں سیٹ کرتی ہیں۔

براؤزر کا Origin ہیڈر رکھنے والے کنکشنز مسترد کر دیے جاتے ہیں، چاہے ان کے پاس راز موجود ہو۔ ایکسٹینشن کی جانچ بھی اس کی Chrome سے اخذ کردہ ایکسٹینشن ID، اس کے chrome-extension:// origin، اور اس شرط کے ذریعے کی جاتی ہے کہ اس کا مربوط پراسیس Chrome ہو۔

یہ کنٹرولز غیر متعلقہ مقامی ٹولز، ویب صفحات، اور حادثاتی کنکشنز کو باہر رکھتے ہیں۔ یہ پہلے سے آپ کے صارف کے طور پر چلنے والے میلویئر کے خلاف سیکیورٹی کی حد نہیں ہیں، کیونکہ ایسا سافٹ ویئر راز پڑھ کر پراسیس مارکرز کی نقل کر سکتا ہے۔

آڈٹ ٹریل کا جائزہ لیں

Chrome Relay ایجنٹ کی سرگرمی کو روزانہ کی JSON Lines فائلوں میں ~/.chrome-relay/audit/YYYY-MM-DD.jsonl کے تحت ریکارڈ کرتا ہے۔ ریکارڈز اس طرح پڑھیں:

chrome-relay audit

آڈٹ ٹریل میں کنکشن کی تفصیلات، ورکنگ فولڈر، سیشن identifiers، ملاحظہ کیے گئے صفحات، کلک کی پوزیشنز، خصوصی keys، ایجنٹ اسکرپٹس، اسکرین شاٹس، اپ لوڈز، پاپ اپس، سائن اِن کلکس، اور مسدود صفحات شامل ہیں۔ رازداری کے لیے ٹائپ کیے گئے متن کو صرف اس کے حروف کی تعداد سے ظاہر کیا جاتا ہے، اور URL query strings ہٹا دی جاتی ہیں۔

اعلیٰ درجے کا رویہ اور تجاویز

پاپ اپس اور نئے ٹیبز

target=_blank استعمال کرنے والے لنکس اور پاپ اپس اسی ایجنٹ کی ملکیت والے پوشیدہ ٹیبز کے طور پر کھلتے ہیں۔ پاپ اپ کی توثیقی فلو اب بھی opener کو پیغامات بھیج سکتی ہیں اور خود کو بند کر سکتی ہیں۔ ریلے کسی صفحے کے دعووں پر بھروسا کرنے کے بجائے مشاہدہ شدہ message origins اور targetOrigin نافذ کرتا ہے۔

1Password صفحات

جب کسی صفحے میں کسی دوسری ایکسٹینشن کا frame شامل ہو، جیسے login form پر 1Password menu، تو Chrome ایکسٹینشن debugger کو detach کر سکتا ہے۔ Chrome Relay ایجنٹ کمانڈز جاری رکھنے سے پہلے انتظار کرکے دوبارہ attach ہو جاتا ہے۔

خودکار صفائی

ایجنٹ ٹیبز 30 منٹ تک غیر فعال رہنے کے بعد بند کر دیے جاتے ہیں۔ ریلے کے دوبارہ شروع ہونے پر ایکسٹینشن ان ٹیبز کو بھی بند کر دیتی ہے جو اس نے پہلے کھولے تھے۔ صفائی tab IDs کی بنیاد پر ہوتی ہے، اس لیے آپ کے اپنے tab groups میں کوئی تبدیلی نہیں کی جاتی۔

پس منظر میں ان پٹ

ایجنٹ ٹیبز میں focus emulation فعال رہتی ہے۔ اس سے کلکس اور ٹائپنگ غیر فعال ٹیبز تک پہنچ سکتی ہے، جبکہ آپ کا موجودہ Chrome ٹیب اپنی جگہ برقرار رہتا ہے۔

Chrome Relay کو اپ ڈیٹ، تشخیص اور ہٹائیں

ریپوزٹری کی تبدیلیاں pull کرنے کے بعد، ریلے کو دوبارہ شروع کریں اور ہر ترتیب دیے گئے پروفائل میں ایکسٹینشن reload کریں:

git pull
chrome-relay update

ریلے logs دیکھیں:

chrome-relay logs

لاگ فائل ~/.chrome-relay/relay.log پر محفوظ ہوتی ہے۔ مقامی سروس اور command-line setup uninstall کرنے کے لیے چلائیں:

chrome-relay uninstall

اس کے بعد ہر Chrome پروفائل سے unpacked extension دستی طور پر ہٹا دیں۔

ترقی اور ٹیسٹنگ

ریلے کی dependencies انسٹال کرنے اور test suite چلانے کے لیے:

cd relay && npm install && npm test

ٹیسٹس کنکشن authorization کا احاطہ کرتے ہیں، جس میں secret، مجاز applications، صرف Chrome کے لیے extension connection، اور audit behavior شامل ہیں۔ extension/ کے تحت فائلوں میں ترمیم کرنے کے بعد ایکسٹینشن reload کریں:

chrome-relay update

حسبِ ضرورت environments کے لیے CHROME_RELAY_HOME data directory کو override کرتا ہے اور CHROME_RELAY_PORT relay port کو override کرتا ہے۔

نتیجہ

Chrome Relay معاون coding agents کو موجودہ Chrome sessions تک کنٹرول شدہ رسائی فراہم کرتا ہے، اس کے لیے remote-debugging port درکار نہیں ہوتا اور نہ ہی یہ آپ کی فعال window پر قبضہ کرتا ہے۔ مقامی ریلے اور unpacked extension ترتیب دینے کے بعد، آپ agent-browser کے ذریعے authenticated browser tasks خودکار بنا سکتے ہیں، ہر profile یا site کے لیے identities منتخب کر سکتے ہیں، رازداری کا خیال رکھنے والے تفصیلی audit records کا جائزہ لے سکتے ہیں، اور ترک کیے گئے sessions کے لیے خودکار صفائی پر بھروسا کر سکتے ہیں۔

source code، updates، اور issues رپورٹ کرنے کے لیے Chrome Relay GitHub repository ملاحظہ کریں۔ یہ project MIT License کے تحت دستیاب ہے۔