کایتسرف؛ مرورگر تازهٔ کلادفلر برای ایجنتها
خلاصهٔ کاملتر
کلادفلر میگه سالها این سؤال داخل شرکت مطرح بوده که «باید مرورگر خودمون رو بسازیم؟» و هر بار جواب منفی بوده. حالا تو بلاگ رسمیشون اومده که ۱۲ هفته پیش دوباره همین سؤال رو پرسیدن و این بار جواب یه «بله» یکدست بوده. حاصلش کایتسرفه؛ مرورگری که کاملاً روی Cloudflare Workers اجرا میشه و از پایه برای ایجنتهای هوش مصنوعی طراحی شده، نه برای آدمها.
به گفتهٔ نویسنده دو اتفاق همزمان این کارو ممکن کرد: بالغشدن امکاناتی مثل WebAssembly روی Workers، Dynamic Workers، Durable Objectهای مبتنی بر SQLite و RPC بین ورکرها؛ و از اون طرف رشد شدید تقاضا برای مرورگر بیهد به خاطر ایجنتها. مشکل اینجاست که موتورهایی مثل Chromium برای آدم ساخته شدن و اونقدر حافظه و CPU میخورن که دادن یه نمونهٔ جدا به هر ایجنت خیلی گرون درمیاد.
معماری کایتسرف سه بخش اصلی داره: Engine که تنها بخش عمومیه و پروتکل CDP رو سرو میکنه، PageScript که HTML و CSS و جاوااسکریپت هر صفحه رو توی یه ایزولهٔ جدا اجرا میکنه، و PageRenderer که از روی صحنه، پیکسل و خروجی PNG یا PDF میسازه. برای پارس HTML و CSS از Blitz و Stylo (پارسر سریع فایرفاکس) استفاده شده و چون Workers هنوز eval نداره، موتور Boa JS رو روی خودش سوار کردن.
امنیت و ایزولاسیون هم از پایه در نظر گرفته شده: فقط یه ورکر به اسم SandboxOutbound اجازهٔ تماس با شبکه داره و بقیه هیچ دسترسی مستقیمی ندارن. نتیجهٔ کار تا الان پاسشدن بیش از ۲۱۵ هزار تست WPT هست و تو بنچمارک خود کلادفلر مصرف CPU حدود ۳ تا ۴ برابر و مصرف حافظه تا ۷ برابر کمتر از Chromium هست؛ در عوض حدود ۱.۷ برابر کندتره، چون رندر نرمافزاری سرد حریف JIT گرمشده نمیشه.
فعلاً پخش ویدیو، WebGL، عبور از چالشهای بات و سشنهای طولانیِ لاگینشده پشتیبانی نمیشه و برای این کارها باید همون Chromium پیشفرض Browser Run رو برداشت. استفادهش سادهست: کافیه پارامتر browser=kitesurf به اندپوینتهای Browser Run اضافه بشه تا Puppeteer و Playwright و کلاینتهای CDP کار کنن. تیم هم میگه قصد داره کایتسرف رو بعداً متنباز کنه.
نکات کلیدی:
- کایتسرف کاملاً روی Cloudflare Workers اجرا میشه و مخصوص ایجنتها ساخته شده
- مصرف CPU و حافظه ۳ تا ۷ برابر کمتر از Chromium، ولی حدود ۱.۷ برابر کندتر
- بیش از ۲۱۵ هزار تست WPT رو پاس میکنه و هر هفته بیشتر میشه
- با اضافهکردن browser=kitesurf تو Browser Run در دسترسه و تو بتا رایگانه
- برای ویدیو، WebGL و سشنهای طولانی هنوز باید سراغ Chromium رفت




