كيفية استخدام واجهة برمجة تطبيقات السحابة للمتصفح

Mark Ponomarev

Mark Ponomarev

10 يونيو 2025

كيفية استخدام واجهة برمجة تطبيقات السحابة للمتصفح

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

💡
هل تريد أداة رائعة لاختبار واجهات برمجة التطبيقات (API Testing) تقوم بإنشاء توثيق واجهات برمجة تطبيقات جميل؟

هل تريد منصة متكاملة وشاملة لفريق المطورين لديك للعمل معًا بأقصى قدر من الإنتاجية؟

Apidog يلبي جميع متطلباتك، ويحل محل Postman بسعر معقول أكثر بكثير!
زر

ما هو Browser Use Cloud؟

Browser Use Cloud هو منصة قوية تتيح لك إنشاء وإدارة وكلاء أتمتة المتصفح الذكية برمجياً. فكر في الأمر كامتلاك أسطول من المساعدين الافتراضيين الذين يمكنهم تصفح الويب، والتفاعل مع مواقع الويب، وأداء مهام معقدة نيابة عنك.

في جوهر المنصة يكمن مفهوم "المهمة" (task). المهمة هي مجموعة من التعليمات التي تقدمها لوكيل بلغة طبيعية. على سبيل المثال، يمكنك إعطاء وكيل مهمة مثل: "اذهب إلى hacker-news.com، ابحث عن أفضل 5 مقالات، واحفظ عناوينها وعناوين URL الخاصة بها في ملف." سيستخدم الوكيل بعد ذلك نموذج لغة كبير (LLM) لفهم وتنفيذ هذه التعليمات في بيئة متصفح حقيقية.

إحدى الميزات الأكثر إثارة في Browser Use Cloud هي حلقة التغذية الراجعة في الوقت الفعلي. كل مهمة تنشئها تأتي مع live_url. يوفر هذا العنوان URL معاينة حية وتفاعلية لما يفعله الوكيل. يمكنك مشاهدة الوكيل وهو يتصفح في الوقت الفعلي وحتى التحكم فيه إذا لزم الأمر. هذا يجعل تصحيح الأخطاء والمراقبة بديهيين للغاية.

الحصول على مفتاح API الخاص بك

قبل أن تتمكن من البدء في إنشاء الوكلاء، ستحتاج إلى مفتاح API. يقوم مفتاح API بمصادقة طلباتك وربطها بحسابك.

<ملاحظة> للحصول على مفتاح API الخاص بك، ستحتاج إلى اشتراك نشط في Browser Use Cloud. يمكنك إدارة اشتراكك والحصول على مفتاح API الخاص بك من صفحة الفوترة: cloud.browser-use.com/billing. </ملاحظة>

بمجرد حصولك على مفتاح API الخاص بك، تأكد من الحفاظ على أمانه. تعامل معه ككلمة مرور، ولا تكشف عنه أبدًا في رمز جانب العميل أو تلتزم به في التحكم في الإصدار. من الأفضل تخزينه في متغير بيئة آمن.

export BROWSER_USE_API_KEY="your_api_key_here"

فهم نموذج التسعير

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

  1. تكلفة تهيئة المهمة: يتم فرض رسوم ثابتة قدرها 0.01 دولار لكل مهمة تبدأها. يغطي هذا تكلفة إعداد بيئة المتصفح لوكيلك.
  2. تكلفة خطوة المهمة: هذه هي التكلفة لكل إجراء أو "خطوة" يتخذها الوكيل. تعتمد التكلفة لكل خطوة على نموذج اللغة الكبير (LLM) الذي تختاره لتشغيل وكيلك.

تسعير خطوة LLM

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

النموذج التكلفة لكل خطوة
GPT-4o $0.03
GPT-4.1 $0.03
Claude 3.7 Sonnet (2025-02-19) $0.03
GPT-4o mini $0.01
GPT-4.1 mini $0.01
Gemini 2.0 Flash $0.01
Gemini 2.0 Flash Lite $0.01
Llama 4 Maverick $0.01

مثال على حساب التكلفة

لنتخيل أنك تريد أتمتة مهمة تتضمن تسجيل الدخول إلى موقع ويب، والانتقال إلى صفحة معينة، واستخلاص بعض البيانات. تقدر أن هذا سيستغرق حوالي 15 خطوة. إذا اخترت استخدام نموذج GPT-4o القوي، فسيتم حساب التكلفة الإجمالية على النحو التالي:

يسمح لك هذا التسعير الشفاف بتوقع والتحكم في تكاليفك بفعالية.

إنشاء أول وكيل لك: مثال "مرحباً بالعالم!"

الآن للجزء المثير! لننشئ أول وكيل لأتمتة المتصفح. سنبدأ بمهمة بسيطة جدًا: الذهاب إلى Google والبحث عن "Browser Use".

سنستخدم curl لإجراء طلب POST إلى نقطة النهاية /api/v1/run-task. هذه هي نقطة النهاية الأساسية لإنشاء مهام جديدة.

curl -X POST <https://api.browser-use.com/api/v1/run-task> \\\\
  -H "Authorization: Bearer $BROWSER_USE_API_KEY" \\\\
  -H "Content-Type: application/json" \\\\
  -d '{
    "task": "Go to google.com and search for Browser Use"
  }'

دعنا نحلل هذا الأمر:

فهم استجابة API

عند إرسال هذا الطلب، ستستجيب واجهة برمجة التطبيقات بكائن JSON يحتوي على معلومات حول المهمة التي تم إنشاؤها حديثًا. إليك مثال على شكل الاستجابة:

{
  "task_id": "ts_2a9b4e7c-1d0f-4g8h-9i1j-k2l3m4n5o6p7",
  "status": "running",
  "live_url": "<https://previews.browser-use.com/ts_2a9b4e7c-1d0f-4g8h-9i1j-k2l3m4n5o6p7>"
}

معاينات مباشرة تفاعلية

يعد live_url أحد أقوى ميزات Browser Use Cloud. إنه ليس مجرد بث فيديو للقراءة فقط؛ إنها جلسة تفاعلية بالكامل.

يمكنك تضمين live_url مباشرة في تطبيقاتك الخاصة باستخدام iframe. يتيح لك هذا بناء لوحات تحكم مخصصة وأدوات مراقبة تتضمن عرضًا في الوقت الفعلي لوكلائك.

إليك مقتطف HTML بسيط لتضمين المعاينة المباشرة:

<!DOCTYPE html>
<html>
<head>
  <title>معاينة الوكيل المباشرة</title>
  <style>
    body, html { margin: 0; padding: 0; height: 100%; overflow: hidden; }
    iframe { width: 100%; height: 100%; border: none; }
  </style>
</head>
<body>
  <iframe src="YOUR_LIVE_URL_HERE"></iframe>
</body>
</html>

استبدل YOUR_LIVE_URL_HERE بـ live_url من استجابة API. عند فتح ملف HTML هذا في متصفح، سترى شاشة الوكيل. يمكنك النقر والكتابة والتمرير كما لو كنت تتصفح على جهاز الكمبيوتر الخاص بك. هذا مفيد بشكل لا يصدق من أجل:

إدارة دورة حياة المهمة

بمجرد تشغيل المهمة، لديك تحكم كامل في دورة حياتها. يمكنك إيقاف المهام مؤقتًا واستئنافها وإيقافها باستخدام API. ستحتاج إلى task_id لجميع عمليات الإدارة.

إيقاف المهمة مؤقتًا واستئنافها

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

لإيقاف مهمة مؤقتًا، أرسل طلب POST إلى نقطة النهاية /api/v1/pause-task:

curl -X POST <https://api.browser-use.com/api/v1/pause-task> \\\\
  -H "Authorization: Bearer $BROWSER_USE_API_KEY" \\\\
  -H "Content-Type: application/json" \\\\
  -d '{
    "task_id": "YOUR_TASK_ID_HERE"
  }'

سينهي الوكيل خطوته الحالية ثم يدخل في حالة paused (متوقفة مؤقتًا).

لاستئناف المهمة، أرسل طلب POST إلى نقطة النهاية /api/v1/resume-task:

curl -X POST <https://api.browser-use.com/api/v1/resume-task> \\\\
  -H "Authorization: Bearer $BROWSER_USE_API_KEY" \\\\
  -H "Content-Type: application/json" \\\\
  -d '{
    "task_id": "YOUR_TASK_ID_HERE"
  }'

سيبدأ الوكيل من حيث توقف تمامًا.

إيقاف المهمة

إذا كنت ترغب في إنهاء مهمة بشكل دائم، يمكنك استخدام نقطة النهاية /api/v1/stop-task. هذا مفيد إذا كانت المهمة مكتملة، أو حدث خطأ، أو لم تعد هناك حاجة إليها.

curl -X POST <https://api.browser-use.com/api/v1/stop-task> \\\\
  -H "Authorization: Bearer $BROWSER_USE_API_KEY" \\\\
  -H "Content-Type: application/json" \\\\
  -d '{
    "task_id": "YOUR_TASK_ID_HERE"
  }'

<ملاحظة> بمجرد إيقاف المهمة، لا يمكن استئنافها. يتم تدمير بيئة المتصفح، ويتم تنظيف جميع الموارد المرتبطة بها. </ملاحظة>

إنشاء المهام المتقدم

مثال "مرحباً بالعالم!" كان مجرد البداية. تدعم نقطة النهاية run-task أكثر من مجرد سلسلة task بسيطة. يمكنك تخصيص سلوك وكيلك من خلال توفير معلمات إضافية.

اختيار LLM

كما رأينا في قسم التسعير، يمكنك الاختيار من بين عدة نماذج لغة كبيرة (LLMs) مختلفة لتشغيل وكيلك. يمكنك تحديد النموذج في طلب run-task باستخدام المعلمة model.

على سبيل المثال، لاستخدام نموذج Claude 3.7 Sonnet، ستقوم بإجراء الطلب التالي:

curl -X POST <https://api.browser-use.com/api/v1/run-task> \\\\
  -H "Authorization: Bearer $BROWSER_USE_API_KEY" \\\\
  -H "Content-Type: application/json" \\\\
  -d '{
    "task": "Go to reddit.com/r/programming and find the top post of the day.",
    "model": "claude-3.7-sonnet-20250219"
  }'

إذا لم تحدد نموذجًا، فستستخدم واجهة برمجة التطبيقات نموذجًا افتراضيًا، وهو عادةً خيار فعال من حيث التكلفة والأداء مثل GPT-4o mini.

بناء العميل الخاص بك

بينما curl رائع للاختبارات البسيطة، من المرجح أن ترغب في دمج واجهة برمجة تطبيقات Browser Use Cloud في تطبيقاتك باستخدام مكتبة عميل مناسبة. أفضل طريقة للقيام بذلك هي استخدام مواصفات OpenAPI الخاصة بنا لإنشاء عميل آمن من حيث الأنواع (type-safe).

مواصفات OpenAPI هي طريقة موحدة لوصف واجهات برمجة تطبيقات REST. يمكنك العثور على مواصفاتنا هنا: http://api.browser-use.com/openapi.json.

إنشاء عميل Python

لمطوري Python، نوصي بـ openapi-python-client. يقوم بإنشاء عميل حديث، يعتمد على async أولاً، مع تلميحات أنواع كاملة.

أولاً، قم بتثبيت أداة الإنشاء:

# We recommend using pipx to keep your global environment clean
pipx install openapi-python-client --include-deps

الآن، قم بإنشاء العميل:

openapi-python-client generate --url <http://api.browser-use.com/openapi.json>

سيؤدي هذا إلى إنشاء دليل جديد يحتوي على حزمة عميل Python الخاصة بك. يمكنك تثبيتها باستخدام pip:

pip install .

الآن يمكنك استخدام العميل في كود Python الخاص بك:

import asyncio
from browser_use_api import Client
from browser_use_api.models import RunTaskRequest

async def main():
    client = Client(base_url="<https://api.browser-use.com/api/v1>")
    request = RunTaskRequest(task="Go to ycombinator.com and list the top 3 companies.")

    response = await client.run_task.api_v1_run_task_post(
        client=client,
        json_body=request,
        headers={"Authorization": f"Bearer {YOUR_API_KEY}"}
    )

    if response:
        print(f"Task created with ID: {response.task_id}")
        print(f"Live URL: {response.live_url}")

if __name__ == "__main__":
    asyncio.run(main())

إنشاء عميل TypeScript/JavaScript

لمشاريع الواجهة الأمامية أو Node.js، يعد openapi-typescript أداة ممتازة لإنشاء تعريفات أنواع TypeScript من مواصفات OpenAPI.

أولاً، قم بتثبيت المولد كاعتماد تطوير:

npm install -D openapi-typescript

ثم قم بتشغيل المولد:

npx openapi-typescript <http://api.browser-use.com/openapi.json> -o src/browser-use-api.ts

سيؤدي هذا إلى إنشاء ملف واحد، src/browser-use-api.ts، يحتوي على جميع تعريفات الأنواع لواجهة برمجة التطبيقات. يمكنك بعد ذلك استخدام هذه الأنواع مع عميل HTTP المفضل لديك، مثل fetch أو axios، لإجراء طلبات آمنة من حيث الأنواع.

إليك مثال باستخدام fetch في مشروع TypeScript:

import { paths } from './src/browser-use-api';

const API_URL = "<https://api.browser-use.com/api/v1>";

type RunTaskRequest = paths["/run-task"]["post"]["requestBody"]["content"]["application/json"];
type RunTaskResponse = paths["/run-task"]["post"]["responses"]["200"]["content"]["application/json"];

async function createTask(task: string, apiKey: string): Promise<RunTaskResponse> {
  const body: RunTaskRequest = { task };

  const response = await fetch(`${API_URL}/run-task`, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'Authorization': `Bearer ${apiKey}`,
    },
    body: JSON.stringify(body),
  });

  if (!response.ok) {
    throw new Error(`API request failed with status ${response.status}`);
  }

  return response.json() as Promise<RunTaskResponse>;
}

async function run() {
  const apiKey = process.env.BROWSER_USE_API_KEY;
  if (!apiKey) {
    throw new Error("API key not found in environment variables.");
  }

  try {
    const result = await createTask("Find the current weather in New York City.", apiKey);
    console.log("Task created:", result);
  } catch (error) {
    console.error("Failed to create task:", error);
  }
}

run();

💡
هل تريد أداة رائعة لاختبار واجهات برمجة التطبيقات (API Testing) تقوم بإنشاء توثيق واجهات برمجة تطبيقات جميل؟

هل تريد منصة متكاملة وشاملة لفريق المطورين لديك للعمل معًا بأقصى قدر من الإنتاجية؟

Apidog يلبي جميع متطلباتك، ويحل محل Postman بسعر معقول أكثر بكثير!
زر

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات