تصحيح أخطاء إضافات Chrome باستخدام وكلاء الذكاء الاصطناعي

تتيح "أدوات مطوّري البرامج في Chrome" للوكلاء بدء جلسة متصفّح وتثبيت إضافات Chrome أو التفاعل معها باستخدام خادم MCP. يسمح هذا لوكيل الترميز بالتحكّم في مراحل نشاط الإضافة: التثبيت وإعادة التحميل وبدء الإجراءات.

بدلاً من تحميل إضافة غير مضغوطة يدويًا، والنقر على زر إعادة التحميل في صفحة إدارة الإضافات في كل مرة تغيّر فيها الرمز البرمجي، وتشغيل الإضافة يدويًا لاختبارها، يمكنك توجيه وكيل الذكاء الاصطناعي لإدارة العملية بأكملها بشكل مستقل. يساعد ذلك في سدّ الفجوة بين إنشاء الرموز البرمجية الثابتة واختبار الإضافات المباشرة.

يمكنك استخدام أدوات الإضافات لإجراء ما يلي:

  • تثبيت الإضافات: يمكنك تثبيت إضافة Chrome غير مضغوطة من مسار دليل محلي.
  • عرض قائمة بالإضافات: يمكنك استرداد قائمة بجميع إضافات Chrome المثبَّتة، بما في ذلك اسمها ومعرّفها وإصدارها وحالة تفعيلها.
  • إعادة تحميل الإضافات: يمكنك إعادة تحميل إضافة Chrome غير مضغوطة باستخدام رقم تعريفها لتطبيق تغييرات الرمز البرمجي على الفور.
  • إجراءات التشغيل: تشغيل الإجراء التلقائي لإحدى الإضافات من خلال رقم تعريفها، مثل فتح قائمة أو تنفيذ إجراء نص برمجي في الخلفية (راجِع chrome.action في مستندات API).
    • إلغاء تثبيت الإضافات: يمكنك إزالة إضافة Chrome من جلسة المتصفّح باستخدام رقم تعريفها.

المتطلبات الأساسية

قبل استخدام أدوات الإضافة، تأكَّد من توفّر ما يلي:

  • علامة تجريبية: لا تكون فئة "الإضافات" مفعَّلة تلقائيًا في "أدوات مطوّري البرامج للوكلاء". يجب ضبط خادم MCP باستخدام العلامة --categoryExtensions.
  • الإضافات المتاحة: تتطلّب أدوات مثل install_extension مسارًا مطلقًا إلى مجلد الإضافات المتاحة، ما يجعلها مثالية للتطوير المحلي.
  • الوصول إلى الملفات في مجلد الإضافة: يمكن للخادم قراءة الملفات فقط ضمن جذور مساحة العمل. هذه هي الجذور التي يوفّرها عميل MCP، مثل دليل المشروع. إذا لم يوفّر العميل جذورًا، لن يتمكّن الخادم إلا من الوصول إلى الدليل المؤقت لنظام التشغيل. على نظام التشغيل macOS، لا يكون هذا الدليل /tmp. إذا كان مجلد الإضافة خارج هذه الجذور، سيفشل install_extension مع ظهور خطأ Access denied. للسماح بمجلد آخر، أضِف العلامة --filesystemRoot (الاسم البديل --workspace) إلى وسيطات الخادم:

    "args": ["chrome-devtools-mcp@latest", "--categoryExtensions", "--filesystemRoot=/path/to/extensions"]
    

    لمزيد من التفاصيل، يُرجى الاطّلاع على السماح بالوصول إلى الملفات خارج الدليل المؤقت.

حالات استخدام أدوات إضافات Chrome

يمكنك توجيه الوكيل لإدارة مراحل نشاط الإضافة أثناء تطويرها وإصلاح الأخطاء.

ملاحظة: خطوات تنفيذ الوكيل هي أمثلة على السلوك المحتمل. قد يتصرّف وكيلك بشكل مختلف.

تكرار إضافة وإعادة تحميلها بسرعة

تؤدي إعادة تحميل إضافة يدويًا بعد كل تغيير في الملف إلى إبطاء عملية التطوير. اطلب من الوكيل تطبيق إصلاح للرمز البرمجي وإعادة تحميل الإضافة فورًا للتحقّق من السلوك الجديد بدون تدخّل يدوي.

مثال على طلب:

يمكنك استخدام نهج عام:

Verify the extension has access to the active tab.

أو يمكنك أن تكون أكثر تفصيلاً:

Update the manifest.json to include the "activeTab" permission. Then, reload the extension with ID 'abc123xyz' and trigger its default action to ensure it works.

مثال على تنفيذ الوكيل: يعدّل الوكيل الملف manifest.json على نظام الملفات. بعد ذلك، يستدعي أداة reload_extension باستخدام المعرّف المقدَّم. وأخيرًا، يتم استدعاء الأداة trigger_extension_action لتفعيل الإضافة والتأكّد من عدم ظهور أي أخطاء في الأذونات في وحدة التحكّم.

اختبار الإجراء التلقائي لإضافة معيّنة على صفحة مستهدَفة

غالبًا ما تحتاج إلى اختبار كيفية تفاعل نص برمجي للمحتوى أو إجراء إضافة مع موقع إلكتروني معيّن. يمكنك تنفيذ هذه العملية تلقائيًا من خلال توجيه الوكيل للانتقال إلى الموقع الإلكتروني وتثبيت الإضافة وتشغيلها.

مثال على طلب:

يمكنك استخدام نهج عام:

Test my extension on example.com and verify it works correctly.

أو يمكنك أن تكون أكثر تفصيلاً:

Navigate to example.com, install the unpacked extension located at '/Users/dev/my-extension', and trigger the extension action. Check the console logs to verify the content script executed correctly.

مثال على تنفيذ الوكيل: ينتقل الوكيل إلى عنوان URL المستهدَف باستخدام navigate_page. بعد ذلك، يتم استخدام install_extension مع المسار المطلق المقدَّم. بعد تحميل الإضافة، يتم تنفيذ trigger_extension_action لمحاكاة نقرة المستخدم. أخيرًا، يستخدم list_console_messages للتأكّد من أنّ النص البرمجي للمحتوى قد تم تشغيله وأنتج النتيجة المتوقعة.

التأكّد من الإضافات المثبَّتة وتنظيفها

أثناء الاختبار الآلي، قد تحتاج إلى التأكّد من تحميل إضافة معيّنة بشكل صحيح مع الإصدار المناسب، أو إزالتها لضمان حالة نظيفة للاختبار التالي.

مثال على طلب:

Uninstall 'My Test Extension' from the browser.

مثال على تنفيذ الوكيل: يستخدم وكيلك أداة list_extensions لاسترداد قائمة الإضافات المثبّتة وبياناتها الوصفية. ويحلّل الناتج لتحديد المعرّف المرتبط بـ "إضافة الاختبار". بعد ذلك، تستخدم أداة uninstall_extension مع رقم التعريف هذا لإزالته بأمان من المتصفّح.

إنشاء إضافة جديدة واختبارها

يتطلّب إنشاء إضافة Chrome جديدة من البداية عادةً إنشاء ملفات نموذجية وتحميل الدليل غير المضغوط يدويًا إلى المتصفّح لاختبارها. يمكنك تخطّي عملية الإعداد اليدوي هذه من خلال توجيه الوكيل لإنشاء الرمز الأوّلي وتحميل الإضافة والتحقّق من وظائفها الأساسية بشكل شامل في خطوة واحدة.

مثال على طلب:

Build a Chrome extension that turns the page background gray when I click its icon. Save the files to a 'gray-bg-ext' folder in my project, navigate to example.com, load the extension, and verify that it works.

مثال على تنفيذ الوكيل: ينشئ الوكيل ملف Manifest V3 أساسيًا manifest.json وعاملاً لخدمة تُشغَّل في الخلفية يستمع إلى الحدث chrome.action.onClicked. بعد ذلك، ينتقل إلى صفحة الاختبار، ويستدعي install_extension، ويستخدم trigger_extension_action لمحاكاة نقرة المستخدم. أخيرًا، يفحص DOM أو يأخذ لقطة شاشة للتأكد من أن الخلفية تحولت إلى اللون الرمادي، مما يثبت أن النموذج يعمل.