Kitesurf: متصفح Cloudflare المصمم لوكلاء AI

في 6 أغسطس 2026 أعلنت Cloudflare عن Kitesurf، وهو web browser لا يعمل على سطح مكتب، ولا يرسم شريط tabs، ولا ينتظر أحدًا ينظر إليه. يعمل بالكامل داخل V8 isolates فوق Cloudflare Workers، ووجد لجمهور واحد: الوكلاء الذين يقرأون الويب برمجيًا.

المشكلة: Chromium لم يُصمَّم ليكون أسطولًا

أتمتة المتصفح اليوم هي في جوهرها استئجار متصفح سطح مكتب. كل وكيل يفتح صفحة يدفع ثمن عملية Chromium كاملة — renderer و compositor ومسار GPU ومئات الميغابايتات من الذاكرة — لينتج في أغلب الحالات لقطة شاشة أو كتلة نص مستخرجة.

عند وكيل واحد لا تلاحظ هذه التكلفة. وعند ألف قراءة صفحة متزامنة تصبح هي الفاتورة كلها. البنية مُحسَّنة لشيء لا يحتاجه الوكلاء: دقة بصرية كاملة بزمن استجابة تفاعلي أمام إنسان ينتظر.

ما الذي تغيّر: متصفح مفكوك إلى Workers

يقسّم Kitesurf المتصفح إلى مكونات تنطبق على منصة Workers بدل أن تنطبق على نظام تشغيل:

  • Engine Worker — يعرض الـ Chrome DevTools Protocol عبر WebSocket و HTTP ويحتفظ بحالة الجلسة. وهو الجزء الوحيد الذي يحمل حالة.
  • PageScript — يشغّل isolate طويل العمر لكل صفحة ولكل iframe عبر Dynamic Workers. يُحلَّل الـ HTML بـ Blitz والـ CSS بـ Stylo (محرك CSS في Firefox)، وتُنفَّذ JavaScript و WebAssembly داخل الـ isolate نفسه. ولأن Workers لا تسمح بـ eval()، يُسلَّم التقييم الديناميكي إلى محرك Boa.
  • PageRenderer — يحوّل الصفحة المحسوبة إلى بكسلات عبر blitz-paint، ثم يعيدها بصيغة JPEG أو PNG أو PDF. يُستدعى بلا حالة عبر نظام RPC في Workers.
  • SandboxOutbound — حدّ شبكي واحد يفرض CORS والترويسات وتصفية الاستجابات وعزل الـ cookies لكل صفحة على حدة.

وتذكر Cloudflare أن المحرك يجتاز أكثر من 215,000 اختبارًا من Web Platform Tests.

الأرقام التي تهم

وسيط خمس تشغيلات على مجموعة من 14 رابطًا، مقارنةً بـ Chromium:

| المهمة | Kitesurf | Chromium | | --- | --- | --- | | CPU، لقطة شاشة | 380 ms | 1,173 ms | | CPU، استخراج HTML | 229 ms | 877 ms | | الذاكرة، لقطة شاشة | 57.8 MiB | 271.0 MiB | | الذاكرة، استخراج HTML | 39.4 MiB | 273.7 MiB | | الزمن الكلي، لقطة شاشة | 1,148 ms | 637 ms |

أي ما يقارب 3–7× أقل في الـ CPU والذاكرة، مقابل 1.7–1.8× زمن أطول على الساعة. هذه المقايضة هي التصميم كله.

تجربته عمليًا

نقاط Browser Run الحالية تقبل باراميتر browser=kitesurf، فينتقل أي client يعتمد Puppeteer أو Playwright أو CDP مباشرة دون إعادة كتابة:

bash
curl -X POST 'https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/browser-run/screenshot?browser=kitesurf' \
  -H 'Authorization: Bearer <API_TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{"url": "https://example.com"}' \
  --output screenshot.png

ونفس الـ endpoint يصلح أداةً داخل MCP بتوجيه Chrome DevTools MCP server إلى مقبس الـ CDP:

json
{
  "mcp": {
    "kitesurf": {
      "type": "local",
      "command": [
        "npx", "-y", "chrome-devtools-mcp@latest",
        "--wsEndpoint=wss://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/browser-run/devtools/browser?browser=kitesurf",
        "--wsHeaders={\"Authorization\":\"Bearer <API_TOKEN>\"}"
      ],
      "enabled": true
    }
  }
}

أين لا يصلح

Kitesurf لا يشغّل الفيديو، ولا ينفّذ WebGL، ولا يتفاوض على تحديات الـ bot المبنية على بصمة TLS التي تستخدمها مواقع كثيرة كبوابة. وهو غير مخصص لجلسات مصادقة طويلة تمتد دقائق، ولا يملك extensions ولا tabs ولا themes ولا مزامنة أجهزة. أي عمل يعتمد على ذلك يظل بحاجة إلى Chromium حقيقي. المشروع اليوم في مرحلة بيتا مجانية بحدود لكل حساب، وأعلنت Cloudflare نيتها فتح مصدر المحرك بعد نضوجه.

الخلاصة

التحوّل المفيد هنا هو في المقياس الذي تُحسَّن عليه منصة الوكلاء. حين ينتظر إنسان، يفوز زمن الاستجابة. وحين يقرأ أسطول كامل الويب، تفوز تكلفة الصفحة الواحدة — ومتصفح يكلّف سُبع الذاكرة يغيّر حدود ما يمكن بناؤه اقتصاديًا. ويقف Kitesurf إلى جانب النصف الآخر من الفكرة نفسها: جعل المواقع مقروءة للوكلاء من الأساس، كما في WebMCP: موقعك يتحوّل إلى أدوات لوكلاء AI.

المصدر الأساسي: Introducing Kitesurf — Cloudflare Blog

Kitesurf: متصفح Cloudflare المصمم لوكلاء AI · bahashwan.dev