أتمتة المتصفح مع Browser Use: من الفكرة إلى أول وكيل
تعرّف على أتمتة المتصفح مع Browser Use، والفرق بين المكتبة والخدمة السحابية، وخطوات بناء أول وكيل باستخدام Python، وكيف تتحقق من نتائجه وتحمي صلاحياته.
نُشر في

تتيح لك Browser Use أتمتة المتصفح بإسناد مهمة على موقع ويب إلى وكيل ذكاء اصطناعي، مع إبقاء الأتمتة ضمن تطبيقك. تتطلب مكتبتها مفتوحة المصدر Python 3.11 أو أحدث، ويمكن لخدمة Browser Use Cloud استضافة المتصفح أو الوكيل بالكامل. ابدأ بمهمة تستطيع التحقق من نتيجتها، مثل قراءة سجل من بوابة إلكترونية، قبل منحه صلاحية إرسال التغييرات.
جرى التحقق من المعلومات بالرجوع إلى ملف README الخاص بـ Browser Use على GitHub والوثائق الرسمية المرتبطة به في 2 نوفمبر 2026. خطوات التشغيل أدناه مقتبسة بتصرف من تلك الوثائق، وليست اختبار أداء عمليًا.
كيف تعمل أتمتة المتصفح مع Browser Use؟
تربط Browser Use نموذجًا لغويًا بمتصفح، ليتمكن تطبيقك من تحديد الهدف بدلًا من إملاء كل نقرة. وهي مناسبة لمهام مثل العثور على سجل في بوابة مورّد، أو قراءة لوحة معلومات، أو التنقل في نموذج تتحدد شاشته التالية بحسب الإجابة السابقة. توفر المكتبة مفتوحة المصدر الوكيل، أي البرنامج الذي يختار الإجراءات وينفذها تباعًا للوصول إلى الهدف. ملف README للمكتبة
تخيّل النموذج اللغوي سائقًا، وBrowser Use أدوات التحكم والمعلومات التي تصله، والمتصفح المركبة. أما الطريق، فيظل موقعًا يملكه طرف آخر. حتى السائق الماهر لا يستطيع فتح طريق مغلق، ولا أن يعتبر تكليفه بالتوصيل إذنًا بإجراء عملية شراء لا علاقة لها بالمهمة.
تسير حلقة العمل على النحو الآتي:
- الرصد: جمع حالة الصفحة الحالية، بما في ذلك عناصرها التفاعلية. ويمكن لـ Browser Use أيضًا تزويد النموذج بلقطات شاشة.
- القرار: يستخدم النموذج اللغوي الكبير، أو LLM، وصف المهمة وحالة الصفحة لاختيار الإجراء التالي.
- التنفيذ: ينتقل المتصفح إلى صفحة، أو ينقر، أو يكتب، أو ينفذ عملية أخرى متاحة.
- الرصد مجددًا: يستند القرار التالي إلى الصفحة بعد تغيّرها، وتتكرر الحلقة حتى يتوقف الوكيل أو يوقفه حدّ جرى ضبطه مسبقًا.
يساعد DOM، وهو البنية الشجرية لعناصر الصفحة، على إظهار أدوات التحكم التي يستطيع الوكيل التعامل معها، بينما تضيف لقطات الشاشة سياقًا بصريًا. توثّق Browser Use معالجة DOM وإمكانية ضبط استخدام الرؤية معًا؛ لذا فإن اختزالها في نموذج ينظر إلى الصور فقط وصف مضلل. إعدادات المتصفح، إعدادات الوكيل

إذا كنت مؤسسًا تبني مساعدًا للمشتريات، فقد تكون المهمة المفيدة: «اعثر على حالة شحن هذا الطلب». ومعيار قبول النتيجة هو العثور على الطلب الصحيح وحالته، مع سجل يثبت المصدر. لا تكفي فقرة مقنعة يكتبها الوكيل لإثبات ذلك.
مكتبة Browser Use مفتوحة المصدر: ما الذي تحتاج إلى تثبيته؟
تحتاج في الأساس إلى حزمة Python المسماة browser-use، ومتصفح للتحكم فيه، وإمكانية الوصول إلى نموذج مدعوم. تخضع المكتبة لترخيص MIT. ويحدد ملف README متطلب Python 3.11 أو أحدث، بينما يستخدم دليل البدء السريع Python 3.12. يمكنك تشغيل الوكيل داخل عملية برمجية تديرها، واختيار متصفح محلي أو بعيد. ملف README وتعليمات التثبيت
تشير كلمة «محلي» إلى المكان الذي تعمل فيه تلك العملية أو المتصفح. إذا اخترت واجهة API لنموذج بعيد، فستظل البيانات المرصودة تُرسل إلى خدمة ذلك النموذج؛ وجود المتصفح محليًا لا يجعل المنظومة كلها محلية.
ما النماذج التي يمكنها تشغيل الوكيل؟
تدعم Browser Use موصلات لعدة مزوّدين، فلا يلزمك استخدام نموذجها الخاص:
- Browser Use BU2: عبر
ChatBrowserUse(model="bu-2-0")، باستخدامBROWSER_USE_API_KEY. - نماذج OpenAI: عبر
ChatOpenAI، باستخدامOPENAI_API_KEY. - نماذج Anthropic Claude: عبر
ChatAnthropic، باستخدامANTHROPIC_API_KEY. - نماذج Google Gemini: عبر
ChatGoogle، باستخدامGOOGLE_API_KEY. - النماذج المحلية عبر Ollama: باستخدام
ChatOllamaالمتصل بخدمة النموذج المحلية لديك.
تورد وثائق النماذج المدعومة أيضًا تكاملات مع DeepSeek وMistral وMicrosoft Azure OpenAI وAmazon Web Services Bedrock وOpenRouter. تحقّق من النماذج المتاحة حاليًا لدى المزوّد، ولا تتعامل مع معرّف نموذج ورد في مثال قديم على أنه توصية.
وجود موصل لا يضمن جودة الأداء. تحذّر الوثائق نفسها من أن بعض نماذج Qwen تُنتج بنية إجراءات غير صحيحة، أي تعليمات بصيغة لا يستطيع الوكيل تنفيذها، وتوصي حاليًا باستخدام qwen-vl-max لهذا التكامل. اختبر النموذج على صفحاتك الفعلية والمخرجات التي تحتاجها قبل توسيع مسؤولياته.
واجهة Browser Use Web UI
Browser Use Web UI مشروع مستقل يستخدم واجهة Gradio للتفاعل مع الوكيل عبر الويب. وله خطوات تثبيت واعتماديات خاصة به. إذا كان هدفك دمجه في تطبيق، فابدأ بالوثائق الحالية لمكتبة Python، ولا تخلط بين إعداد مستودع Web UI وحزمة SDK الخاصة بالخدمة المستضافة.
ما الذي تضيفه Browser Use Cloud؟
تتيح Browser Use Cloud إسناد تشغيل البنية التحتية للمتصفح، أو الوكيل بالكامل، أو كليهما إلى الخدمة. ويحدد اختيارك مقدار الشيفرة التي ستتولى تشغيلها. يفصل دليل البدء السريع الحالي للخدمة السحابية بين هذه الخيارات بوضوح:
عند تشغيل وكيلك بنفسك، يختار Browser(use_cloud=True) المتصفح المستضاف لدى Browser Use، ويتطلب BROWSER_USE_API_KEY. يضيف المتصفح المُدار ميزات لتقليل اكتشاف الأتمتة، وخوادم وسيطة، ومعاينة مباشرة. ويذكر ملف README أيضًا التعامل مع CAPTCHA، مع تنبيه صريح إلى أن النتائج تعتمد على الموقع والتحدي. دليل المتصفح السحابي، ملف README
CDP، أي Chrome DevTools Protocol، هو بروتوكول الاتصال للتحكم عن بُعد المستخدم في مسار البنية التحتية الموثّق. ولذلك يمكن للمتصفح المستضاف أن يخدم شيفرة تواصل تشغيلها بنفسك.
أما في مسار الاستضافة الكاملة، فالحزمة هي browser-use-sdk وليست browser-use. تستخدم أمثلة Cloud الحالية الإصدار V4 من API، وتعليمة الاستيراد from browser_use_sdk.v4 import BrowserUse في Python. يرسل برنامجك المهمة ويسترجع النتيجة، بدلًا من تشغيل حلقة Agent محليًا. دليل البدء السريع للوكيل المستضاف
من منظور المطوّر، هذا قرار يتعلق بطريقة النشر والتشغيل. أما المسؤول عن التشغيل، فتبقى عليه المسؤولية نفسها: تحديد ما يُسمح للوكيل بالوصول إليه، وما الدليل الذي يثبت إنجاز المهمة.
بدائل Browser Use لأتمتة الويب: متى تكون أنسب؟
اختر بناءً على الطبقة التي تريد إدارتها بنفسك. تُعد Browser Use نقطة بداية قوية عندما تقتصر المهمة على مواقع الويب وتحتاج إلى حلقة عمل جاهزة لوكيل متصفح مع حرية اختيار النموذج. أما واجهة API لاستخدام الحاسوب فتناسبك إذا أردت البناء حول واجهة إجراءاتها، أو احتجت إلى تنفيذ عمل يتجاوز صفحات الويب.
توفر OpenAI أيضًا واجهة Agents API مستقلة مع متصفح تستضيفه OpenAI، لذا لم تعد عبارة «استخدام الحاسوب يعني دائمًا استضافة المتصفح بنفسك» قاعدة مفيدة. ولدى Browserbase كذلك منتجات للوكلاء تتجاوز البنية التحتية للمتصفح.
ولا يلزم أن يكون اختيار Browser Use أو Browserbase بديلًا عن الآخر: تقبل Browser Use المعامل cdp_url، وتوفر Browserbase عنوان اتصال CDP. تتيح هذه الواجهات الموثّقة مسارًا للجمع بين مكتبة الوكيل وبيئة التشغيل تلك، لكن هذا المقال لا يدّعي اختبار هذا التكامل. إعدادات الاتصال في Browser Use
احتفظ بواجهة API موثوقة أو بسكربت متصفح محدد الخطوات إذا كان يؤدي المهمة بالفعل. لا تستفيد الاستمارة الثابتة من مطالبة نموذج لغوي بإعادة اكتشاف التسلسل نفسه. يناقش دليل وكلاء استخدام الحاسوب قرار التحكم بصورة أوسع، ويقارن مقال متصفحات وكلاء الذكاء الاصطناعي خيارات البنية التحتية.
مخاطر تظل مسؤولية تطبيقك
أصعب ما يجب ضبطه في بيئة الإنتاج هو ما يُسمح للمتصفح بفعله بعد تسجيل الدخول. استضافته لدى طرف آخر لا تجعل التعليمات الموجودة في الصفحات موثوقة، ولا تلغي عواقب إرسال بيانات بالخطأ.
حقن التعليمات عبر محتوى الصفحة
يحدث حقن التعليمات حين يحاول محتوى يقرؤه الوكيل تغيير التعليمات التي يتبعها. في بوابة إلكترونية، قد يكون ذلك المحتوى ملاحظة أدخلها عميل تطلب من الوكيل رفع تقرير إلى وجهة أخرى. تعامل مع الملاحظة بوصفها بيانات، حتى لو ادّعت أنها تعليمات من مسؤول النظام.
استخدم حسابات مخصصة لا تملك إلا الصلاحيات اللازمة للمهمة. قيّد التنقل باستخدام allowed_domains في Browser Use، واجعل الموافقة شرطًا إلزاميًا للإجراءات ذات العواقب المهمة داخل تطبيقك أو بيئة التنفيذ. فقد يعرض الموقع المسموح به محتوى ضارًا أضافه مستخدمون؛ لذا لا تكفي قائمة النطاقات وحدها لإثبات الثقة. قيود المتصفح، إرشادات سلامة استخدام الحاسوب

التعليمة التي تقول «اطلب الإذن قبل الإرسال» لا تشكل قيدًا فعليًا على الصلاحيات. إذا كان التكامل لا يستطيع اعتراض الإجراء المعني بصورة موثوقة، فأبقِ هذا الإجراء خارج صلاحيات الوكيل ودع شخصًا ينفذه. يشرح دليل حقن التعليمات كيفية ربط الموافقة بالإجراء المحدد المراد التصريح به.
تسجيل الدخول وتخزين الجلسات والسجلات
حفظ حالة تسجيل الدخول يعني حفظ إمكانية الوصول. تستطيع Browser Use إعادة استخدام Chrome عبر Browser.from_system_chrome()، أو تحميل ملفات تعريف الارتباط والتخزين المحلي المحفوظين عبر Browser(storage_state="auth.json"). احمِ ملف الحالة كما تحمي بيانات اعتماد الدخول، واستبعده من نظام إدارة الإصدارات، وتجنب استخدام ملف متصفح شخصي لمهمة عمل تُنفذ دون إشراف. وثائق المصادقة
هناك قيد محدد عند نقل البيانات: ينص ملف README على أن مزامنة الملف الشخصي المحلي تنقل ملفات تعريف الارتباط، ولا تنقل التخزين المحلي أو IndexedDB أو الإضافات. وIndexedDB مخزن بيانات آخر داخل المتصفح. وبشكل منفصل، تستطيع ملفات Cloud الشخصية الاحتفاظ بملفات تعريف الارتباط والتخزين المحلي وحالة تسجيل الدخول عبر المتصفحات السحابية. لكن استمرارية تلك البيانات لا تعني أن المزامنة المحلية نسخت جميع آليات التخزين. ستتطلب بعض المواقع تسجيل الدخول من جديد. تنبيه بشأن المزامنة
افصل الملفات الشخصية لكل مستخدم نهائي. وراجع أيضًا ما يصل إلى مدخلات النموذج ولقطات الشاشة وسجلات المحادثات المحفوظة قبل التعامل مع بيانات خاصة من البوابات. توفر Browser Use إعدادات للتحكم في لقطات الشاشة وحفظ المحادثات؛ اضبطها بعناية. إعدادات الوكيل
حدود معدل الطلبات وإعادة المحاولة عند غموض النتيجة
إتاحة متصفح سحابي لا تمنح وصولًا غير محدود إلى الموقع المستهدف. خطط بصورة منفصلة لحدود خدمة النموذج، وسعة Browser Use Cloud وحدود طلباتها، وما يفرضه الموقع نفسه من إبطاء أو تحديات تحقق.
قلّل عدد المهام المتزامنة لكل موقع مستهدف، وأبطئ وتيرة الطلبات عندما يطلب الموقع الانتظار، وأوقف المحاولات المتكررة التي يجري حظرها. عند حدوث أخطاء في Cloud API، افحص ما إذا كان العطل مرتبطًا بالسعة أم بمعدل الطلبات، والتزم بإرشادات إعادة المحاولة الواردة في الاستجابة. حدود Cloud
والأهم ألا تكرر الإرسال لمجرد انتهاء مهلة الانتظار في تطبيقك. افحص التشغيل القائم والسجل في النظام المستهدف أولًا. فقد تنتهي المهلة بينما يكون الإجراء قد نُفّذ بالفعل، فتظل نتيجته مجهولة لديك.
شرح Browser Use: تجربة تشغيل أولى من الوثائق
ابدأ بصفحة عامة ومهمة تقتصر على القراءة. يثبت ذلك أن الحزمة والمتصفح والنموذج يستطيعون الاتصال ببعضهم، دون الحاجة إلى تسجيل دخول أو تنفيذ معاملة عمل. تتبع الأوامر دليل البدء السريع للمكتبة مفتوحة المصدر؛ ويستخدم هذا المثال بيئة Python 3.12 الواردة فيه، مع تحديد نموذج BU2 صراحةً كما في ملف README.
إعداد Browser Use باستخدام Python
تثبيت الحزمة والمتصفح
على macOS أو Linux، وبعد التأكد من توفر Python وpip، افتح صدفة Bash داخل مجلد مشروع جديد:
Bashpip install uv uv venv --python 3.12 source .venv/bin/activate uv pip install browser-use uvx browser-use installيثبّت الأمر الأخير المتصفح. على Windows، استخدم أمر تفعيل البيئة الوارد في دليل البدء السريع بدلًا من
source.إعداد مفتاح الوصول إلى النموذج
أنشئ مفتاح API لـ Browser Use من لوحة التحكم المرتبطة بدليل البدء السريع. أدخله في صدفة Bash نفسها دون إظهاره على الشاشة:
Bashread -rsp "Browser Use API key: " BROWSER_USE_API_KEY printf '\n' export BROWSER_USE_API_KEYيتيح هذا المفتاح استخدام خدمة النموذج المختارة. ولا ينقل المتصفح تلقائيًا إلى Cloud.
تشغيل مهمة صغيرة للقراءة فقط
احفظ الشيفرة التالية في
agent.py:Pythonimport asyncio from browser_use import Agent, ChatBrowserUse async def main(): agent = Agent( task=( "Open https://example.com and report the page heading. " "Do not follow links or submit anything." ), llm=ChatBrowserUse(model="bu-2-0"), ) history = await agent.run() print(history.final_result()) if __name__ == "__main__": asyncio.run(main())ثم شغّل:
Bashpython agent.pyقارن العنوان الذي أعاده الوكيل بالعنوان في الصفحة بنفسك. تصلح تعليمة المهمة قيدًا أوليًا لهذا المثال الذي لا ينطوي على ضرر؛ أما قيود بيئة الإنتاج فيجب فرضها خارج نص التعليمات.
إذا فشل التشغيل، فاقرأ رسالة الخطأ قبل تغيير النموذج: تثبيت المتصفح، والمصادقة لدى خدمة النموذج، والوصول إلى الموقع نقاط تعطل مختلفة. وبعد نجاحه، احتفظ بإصدارات الاعتماديات التي استخدمتها، وانتقل إلى حساب اختباري على الموقع المقصود.
أين تبدأ المبالغة في الوعود؟
اكتمال تشغيل الوكيل لا يثبت اكتمال معاملة العمل. توضح وثائق المخرجات في Browser Use هذا الفرق صراحةً: تعني is_done() أن الوكيل أصدر إجراء الإنهاء، بينما تعبّر is_successful() عن تقييم الوكيل نفسه. وتظل النتائج الخارجية المهمة بحاجة إلى تحقق داخل النظام المستهدف. دلالات المخرجات
عند تغيير عنوان، افحص العنوان المحفوظ. وعند تنزيل تقرير، افحص الملف والفترة التي يغطيها. وعند الإرسال، احفظ تأكيد النظام المستهدف، واحسم النتائج غير الواضحة قبل إعادة المحاولة.
ينطبق التحفظ نفسه على عبارة «يعمل على أي موقع». قد تقلّل ميزات المتصفح المُدار عقبات الوصول، لكن ملف README الخاص بالمشروع لا يعد بتجاوز كل تحديات CAPTCHA أو حلّها. كما أن النموذج الأفضل لا يستطيع منح الحساب صلاحيات لا يملكها المستخدم. صمّم الحل بناءً على السلوك الفعلي للموقع، بما في ذلك المرحلة التي تستلزم تدخل شخص.
خطوتك العملية التالية
إذا كنت مؤسسًا ذا خلفية تقنية، فلتكن التجربة الأولى المفيدة مهمة محدودة لقراءة بيانات من بوابة، ولها إجابة واضحة. استخدم حسابًا اختباريًا مستقلًا، وحدد الصفحات المسموح بها، ودوّن كيف ستتحقق من السجل الذي يعيده الوكيل. سجّل حالات الفشل إلى جانب عمليات التشغيل المكتملة.
لا تتوسع إلى تجهيز النماذج إلا بعد فهم تلك الإخفاقات. واترك الإرسال لشخص حتى يستطيع تطبيقك فرض الموافقة، وفحص النتيجة المحفوظة، والتعافي من الأخطاء دون تكرار الإجراء. وإذا كانت واجهة API مدعومة أو سكربت مستقر يغطي سير العمل، فاحتفظ بذلك التكامل الأبسط.
للحصول على ملاحظات عملية حول بناء مسارات عمل موثوقة بالذكاء الاصطناعي، اشترك في النشرة البريدية.
- تاريخ النشر
- التصنيف
- Build
- اللغة








