DEV Community

Cover image for كيفية بناء أتمتة متصفح مدعومة بالذكاء الاصطناعي باستخدام بايثون، أولاما وديب سيك
Yusuf Khalidd
Yusuf Khalidd

Posted on • Originally published at apidog.com

كيفية بناء أتمتة متصفح مدعومة بالذكاء الاصطناعي باستخدام بايثون، أولاما وديب سيك

يتطور أتمتة المتصفحات الحديثة بسرعة. بدل الاعتماد على سكربتات Selenium الهشة، يمكنك استخدام Browser Use مع Ollama ونماذج DeepSeek لبناء وكيل ذكاء اصطناعي محلي يتحكم في المتصفح، يملأ النماذج، يستخرج البيانات، وينفذ مهام متعددة الخطوات من تعليمات باللغة الطبيعية.

جرّب Apidog اليوم

في هذا الدليل العملي ستجهز بيئة Python، تشغل Ollama محليًا، تثبت Browser Use وPlaywright، ثم تبني وكيلًا بسيطًا يبحث في Google عن طقس بوسطن ويطبع النتيجة.

لماذا تستخدم Browser Use وOllama وDeepSeek؟

  • Browser Use: حزمة Python لتنسيق إجراءات المتصفح مثل التنقل، النقر، قراءة الصفحة، واستخراج البيانات.
  • Ollama: خادم محلي لتشغيل نماذج اللغة الكبيرة LLM على جهازك.
  • DeepSeek: نموذج استدلال يساعد الوكيل على تحويل المهمة النصية إلى خطوات قابلة للتنفيذ داخل المتصفح.

باستخدام هذه الحزمة يمكنك تنفيذ مهام مثل:

  • أتمتة البحث والتنقل في الويب
  • ملء النماذج والتعامل مع الصفحات الديناميكية
  • استخراج بيانات من مواقع مختلفة
  • تشغيل مهام متعددة الخطوات من Prompt واحد

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

قبل البدء، تأكد من توفر التالي:

  • Python 3.11+
python --version
Enter fullscreen mode Exit fullscreen mode
  • Ollama من ollama.com
  • Node.js لتشغيل Playwright
node --version
Enter fullscreen mode Exit fullscreen mode
  • Git
  • Hardware مقترح:
    • 4 أنوية CPU على الأقل
    • 16GB RAM
    • 12GB مساحة تخزين تقريبًا لنموذج DeepSeek
    • GPU اختياري لكنه مفيد للنماذج الكبيرة

1. إنشاء مشروع جديد

ابدأ بمجلد مستقل للمشروع:

mkdir browser-use-agent
cd browser-use-agent
Enter fullscreen mode Exit fullscreen mode

2. استنساخ مستودع Browser Use

git clone https://github.com/browser-use/browser-use.git
cd browser-use
Enter fullscreen mode Exit fullscreen mode

3. إنشاء بيئة Python افتراضية

استخدم بيئة افتراضية لعزل التبعيات:

python -m venv venv
Enter fullscreen mode Exit fullscreen mode

فعّل البيئة:

# macOS / Linux
source venv/bin/activate

# Windows
venv\Scripts\activate
Enter fullscreen mode Exit fullscreen mode

بعد التفعيل يجب أن ترى (venv) في الطرفية.

4. فتح المشروع في VS Code

code .
Enter fullscreen mode Exit fullscreen mode

إذا لم تستخدم VS Code، يمكنك المتابعة بأي محرر تفضله.

تثبيت Ollama وDeepSeek محليًا

1. تثبيت Ollama

نزّل Ollama من ollama.com، ثم تحقق من التثبيت:

ollama --version
Enter fullscreen mode Exit fullscreen mode

download ollama

2. تنزيل نموذج DeepSeek

اسحب النموذج باستخدام Ollama:

ollama pull deepseek/seed
Enter fullscreen mode Exit fullscreen mode

ملاحظة: حجم النموذج قد يكون كبيرًا. إذا كانت موارد جهازك محدودة، يمكنك تجربة نموذج أخف مثل qwen2.5:14b.

تحقق من النماذج المثبتة:

ollama list
Enter fullscreen mode Exit fullscreen mode

تأكد من ظهور deepseek/seed أو النموذج الذي اخترته.

pull deepseek model

تثبيت Browser Use والتبعيات

1. تثبيت Browser Use وأدوات التطوير

من داخل مجلد browser-use والبيئة الافتراضية مفعّلة:

pip install . ."[dev]"
Enter fullscreen mode Exit fullscreen mode

2. تثبيت LangChain وتكامل Ollama

pip install langchain langchain-ollama
Enter fullscreen mode Exit fullscreen mode

هذه الحزم تسمح للوكيل باستخدام نموذج Ollama المحلي.

3. تثبيت متصفحات Playwright

playwright install
Enter fullscreen mode Exit fullscreen mode

إذا ظهرت مشاكل في الاعتماديات على Linux، جرّب:

playwright install-deps
Enter fullscreen mode Exit fullscreen mode

تشغيل خادم Ollama

افتح نافذة طرفية منفصلة وشغّل:

ollama serve
Enter fullscreen mode Exit fullscreen mode

سيعمل خادم LLM محليًا على:

http://localhost:11434
Enter fullscreen mode Exit fullscreen mode

اتركه يعمل أثناء تشغيل وكيل المتصفح.

مثال عملي: وكيل يبحث عن طقس بوسطن في Google

أنشئ ملفًا باسم test.py داخل المشروع:

import asyncio
from browser_use import Agent
from langchain_ollama import ChatOllama


async def run_search() -> str:
    agent = Agent(
        task="Use Google to find the weather in Boston, Massachusetts",
        llm=ChatOllama(
            model="deepseek/seed",
            num_ctx=32000,
        ),
        max_actions_per_step=3,
        tool_call_in_content=False,
    )

    result = await agent.run(max_steps=15)
    return result


async def main():
    result = await run_search()
    print("\n\n", result)


if __name__ == "__main__":
    asyncio.run(main())
Enter fullscreen mode Exit fullscreen mode

تشغيل السكربت

تأكد أولًا أن VS Code يستخدم مترجم Python الخاص بالبيئة الافتراضية:

  1. اضغط Ctrl+P أو Cmd+P على macOS
  2. اكتب:
> Select Python Interpreter
Enter fullscreen mode Exit fullscreen mode
  1. اختر مترجم البيئة venv

ثم شغّل:

python test.py
Enter fullscreen mode Exit fullscreen mode

سيقوم الوكيل بفتح المتصفح، البحث في Google عن طقس بوسطن، ثم طباعة النتيجة.

browser-use search

إذا ظهر خطأ، تحقق من التالي:

  • هل يعمل Ollama؟
ollama serve
Enter fullscreen mode Exit fullscreen mode
  • هل المنفذ 11434 متاح؟
  • هل النموذج مثبت؟
ollama list
Enter fullscreen mode Exit fullscreen mode
  • راجع سجلات Ollama:
~/.ollama/logs
Enter fullscreen mode Exit fullscreen mode

browser-use search result

دمج Apidog لاختبار واجهات API التي يعتمد عليها الوكيل

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

يساعدك Apidog في:

  • اختبار نقاط النهاية التي يعتمد عليها الوكيل
  • إدارة حالات اختبار API للواجهة الخلفية
  • التحقق من عقود API بين التطوير والإنتاج
  • تقليل أخطاء التكامل أثناء تشغيل الأتمتة

استخدمه كجزء من سير العمل قبل تشغيل وكلاء المتصفح على بيانات أو مهام حقيقية.

API Contract Testing with Apidog

اختبار عقود API باستخدام Apidog

نصائح لكتابة Prompts أفضل

كلما كانت المهمة أوضح، زادت دقة الوكيل.

كن محددًا

بدلًا من:

ابحث عن رحلات جوية.
Enter fullscreen mode Exit fullscreen mode

اكتب:

انتقل إلى kayak.com، ابحث عن رحلات جوية من زيورخ إلى بكين من 25.12.2025 إلى 02.02.2026، ثم رتب النتائج حسب السعر.
Enter fullscreen mode Exit fullscreen mode

قسم المهام الطويلة

مثال:

زر LinkedIn، ابحث عن وظائف تعلم الآلة، اجمع روابط أول 10 نتائج، واحفظها في ملف.
Enter fullscreen mode Exit fullscreen mode

عدّل Prompt عند الحاجة

إذا كانت النتيجة غير دقيقة، عدّل المهمة لتصبح أكثر وضوحًا:

  • حدد الموقع المطلوب
  • حدد البيانات التي تريد استخراجها
  • حدد صيغة الإخراج
  • ضع حدودًا للخطوات أو النتائج

تصحيح الأخطاء واستكشاف المشكلات

Ollama لا يستجيب

تحقق من تشغيل الخادم:

ollama serve
Enter fullscreen mode Exit fullscreen mode

وتحقق من السجلات:

~/.ollama/logs
Enter fullscreen mode Exit fullscreen mode

Playwright لا يفتح المتصفح

أعد تثبيت المتصفحات:

playwright install
Enter fullscreen mode Exit fullscreen mode

وعلى Linux:

playwright install-deps
Enter fullscreen mode Exit fullscreen mode

النموذج بطيء

جرّب أحد الخيارات التالية:

  • استخدام نموذج أصغر
  • تقليل num_ctx
  • تقليل max_steps
  • استخدام GPU إن توفر

تغيير المهمة

لتشغيل سيناريو مختلف، عدّل قيمة task فقط:

task="Go to GitHub, search for browser-use, and summarize the repository stars and description"
Enter fullscreen mode Exit fullscreen mode

أو:

task="Open a website, extract product names and prices, and return them as a list"
Enter fullscreen mode Exit fullscreen mode

الأسئلة الشائعة

ما هو Browser Use؟

Browser Use هو حزمة Python لأتمتة المتصفحات باستخدام وكلاء ذكاء اصطناعي وPlaywright.

GitHub

هل أحتاج إلى GPU؟

ليس إلزاميًا للنماذج الأصغر، لكنه يحسن الأداء مع النماذج الأكبر.

هل يمكنني استخدام نموذج غير DeepSeek؟

نعم. يمكنك استخدام أي نموذج يدعمه Ollama ويملك قدرة جيدة على الاستدلال.

GitHub

هل تتم معالجة البيانات محليًا؟

نعم، عند تشغيل Ollama محليًا تبقى عملية الاستدلال على جهازك، ما لم تقم بتكوين شيء مختلف.

هل يمكن أتمتة تسجيل الدخول والمهام متعددة الخطوات؟

نعم. اكتب المهمة بشكل واضح، وسيحاول الوكيل تقسيمها إلى خطوات داخل المتصفح.

الخاتمة

باستخدام Python وBrowser Use وOllama وDeepSeek، يمكنك بناء وكلاء ذكاء اصطناعي يتحكمون في متصفح حقيقي اعتمادًا على تعليمات نصية. هذه الحزمة مفيدة لاختبارات QA، استخراج البيانات، أتمتة سير العمل، وتجارب التكامل التي تحتاج خصوصية وتشغيلًا محليًا.

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

ابدأ بسيناريو صغير مثل البحث والاستخراج، ثم وسّع الوكيل تدريجيًا إلى مهام أكثر تعقيدًا.

Top comments (0)