کسی که هر صبح وضعیت ارسال پنجاه سفارش را در پورتال یک تأمینکننده بررسی میکند، همان لحظهای که میخواهد این کار را به یک مدل زبانی بسپارد به نخستین دیوار میخورد: مدل هیچ API برای فراخوانی ندارد، فقط یک صفحه وب دارد. عامل مرورگر هوش مصنوعی (browser agent) این شکاف را پر میکند. صفحه را برای مدل میخواند، تصمیم «روی آن دکمه کلیک کن» مدل را در یک مرورگر واقعی اجرا میکند و نتیجه را دوباره به مدل نشان میدهد. در 2026 هر چارچوبی که این کار را میکند، به یک پرسش واحد پاسخ متفاوتی میدهد: مدل صفحه را چگونه میبیند؟
در این نوشته شش چارچوب متنباز را مقایسه میکنیم که به یک LLM اجازه میدهند از صفحه وب استفاده کند: Browser Use، Stagehand، Skyvern، Playwright MCP، Magnitude و Notte، همراه با بخشی کوتاه درباره عاملهای بسته OpenAI و Anthropic. معیارها درک صفحه، اینکه حلقه کنترل در دست کیست، هزینه توکن، امکان آوردن مرورگر و پروکسی خودتان، زبان و مجوز است. مجوزها و شمار ستارهها در 7 اکتبر 2026 از مخزنهای GitHub خوانده شدهاند. بهجای مراحل نصب، به راهنمای یکپارچهسازی هر چارچوب ارجاع میدهیم.
عامل مرورگر هوش مصنوعی چیست؟
عامل مرورگر هوش مصنوعی لایه نرمافزاریای است که به مدل زبانی اجازه میدهد صفحه وب را ببیند و روی آن عمل کند. مدل بهتنهایی نمیتواند از مرورگر استفاده کند؛ متن میگیرد و متن پس میدهد. چارچوب عامل مترجمِ میان این دو است: صفحه را به شکلی درمیآورد که مدل بفهمد، تصمیم مدل را به فرمانهای کلیک، تایپ و اسکرول تبدیل میکند و نتیجه را به مدل برمیگرداند.
این حلقه در چهار گام میچرخد:
- مشاهده. چارچوب وضعیت فعلی صفحه را میگیرد: DOM، درخت دسترسپذیری یا اسکرینشات.
- تصمیم. مدل مشاهده را میخواند و کنش بعدی را انتخاب میکند: «شماره سفارش را در فیلد 3 تایپ کن.»
- کنش. چارچوب کنش را از طریق Playwright یا Chrome DevTools Protocol (CDP) در مرورگر اجرا میکند.
- بررسی. وضعیت تازه صفحه گرفته میشود؛ اگر هدف محقق نشده باشد، حلقه از نو آغاز میشود.
تفاوت چارچوبها در همین چهار گام پیدا میشود: چه چیزی نشان میدهند، چه کسی تصمیم میگیرد و کنش را با کدام پروتکل میرسانند.
عامل صفحه را چگونه میبیند؟
سه روش وجود دارد و هر کدام هزینه، دقت و تابآوری را به سمتی دیگر میکشد.
- استخراج DOM. چارچوب عنصرهای تعاملی صفحه را پیدا میکند، شماره میزند و فهرستی کوتاه به مدل میدهد. چون متن است، ارزان است و مدل بینایی نمیخواهد؛ در رابطهایی که روی بوم کشیده شدهاند دچار مشکل میشود. Browser Use این مسیر را میرود.
- درخت دسترسپذیری. درخت متنیای که صفحه در اختیار صفحهخوانها میگذارد گرفته میشود؛ هر عنصر نقش و نامی دارد و عنصرهای تزئینی غایباند. Playwright MCP از این اسنپشات استفاده میکند و Stagehand درخت را پیش از تحویل هرس میکند.
- اسکرینشات. مدل صفحه را همانطور میبیند که یک انسان میبیند و یک مختصات پیکسلی برمیگرداند. مدل بینایی میخواهد و در هر گام توکن بیشتری میسوزاند، اما هیچچیزی را که DOM ممکن است پنهان کند از دست نمیدهد. Skyvern و Magnitude این مسیر را میروند.
در یک فرم و جدول استاندارد، روش متنی هم ارزان است و هم پایدار؛ در نقشهها، نمودارها یا مؤلفههای سفارشی، راهی جز اسکرینشات نیست.
هنگام انتخاب عامل مرورگر به چه چیزی نگاه کنیم؟
- درک صفحه. DOM، درخت دسترسپذیری یا اسکرینشات، بسته به نوع سایتهایی که روی آنها کار خواهید کرد.
- حلقه کنترل در دست کیست؟ در برخی چارچوبها شما کار را شرح میدهید و مدل گامها را انتخاب میکند؛ در برخی دیگر هر گام را خودتان کد میزنید و مدل فقط عنصر را پیدا میکند. اولی انعطافپذیر است، دومی پیشبینیپذیر.
- هزینه توکن. عامل در هر گام صفحه را برای مدل میفرستد. کاری با بیست گام یعنی بیست صفحه، و با اسکرینشات این رقم چند برابر میشود.
- مرورگر و پروکسی خودتان. آیا چارچوب Chromium محلی شما یا یک نقطه اتصال CDP راه دور را میپذیرد، و کدام پارامتر پروکسی را میگیرد؟
- زبان و مجوز. Python یا TypeScript؛ MIT و Apache، یا AGPL و SSPL که برای استفاده تجاری شرط میگذارند.
بهترین 6 چارچوب متنباز عامل مرورگر
1. Browser Use
چارچوبی برای Python با مجوز MIT و 117 هزار ستاره در GitHub (اکتبر 2026). صفحه را از DOM استخراج میکند، عنصرهای تعاملی را شماره میزند و فهرستی به مدل میدهد؛ use_vision یک اسکرینشات هم اضافه میکند. مرورگر را مستقیماً از طریق CDP میراند: یک Chromium محلی، پروفایل Chrome روی سیستم شما، یا یک مرورگر راه دور با cdp_url. در کنار مدل خودش bu-2-0، از OpenAI، Anthropic، Google و مدلهای محلی از طریق Ollama پشتیبانی میکند؛ پروکسی با ProxySettings(server, username, password, bypass) داده میشود. کد و مستندات در مخزن GitHub است.
مزایا
- شما کار را شرح میدهید و مدل گامها را انتخاب میکند؛ نمونه اولیه ده خط کد است
- پروکسی با رمز عبور در یک پارامتر، بیآنکه اطلاعات ورود به مدل برسد
- هر ارائهدهنده مدلی، از جمله مدلهای محلی
allowed_domainsمحدود میکند عامل کجا میتواند برود
معایب
- یک کار در دو اجرا ممکن است مسیر متفاوتی طی کند
- در صفحههای سنگین فهرست DOM بلند میشود و صورتحساب توکن هم همراهش
- در رابطهای بوم تا وقتی اسکرینشات روشن نشده ضعیف است
مناسب چه کسانی: تیمهای Python که میخواهند کاری را شرح دهند و نتیجه را تحویل بگیرند.
2. Stagehand (Browserbase)
SDK برای TypeScript، Python و Go، مجوز MIT، 25 هزار ستاره در GitHub (اکتبر 2026). روی یک API به سبک Playwright (goto، click، locator) سه گام به زبان طبیعی اضافه میکند: act کنشی را انجام میدهد، extract داده اعتبارسنجیشده با اسکیما برمیگرداند و observe انتخابگرهای واقعی را میدهد. صفحه را بهصورت درخت دسترسپذیری هرسشده حمل میکند. با Chrome محلی یا در ابر Browserbase اجرا میشود؛ روی مرورگر محلی میتوانید سرور پروکسی و فهرست bypass تعیین کنید، اما پروکسی با نام کاربری و رمز عبور امروز فقط در سمت Browserbase پشتیبانی میشود.
مزایا
- حلقه کنترل در دست شماست: هر گام در کد است و آزمونپذیر
extractمستقیماً داده نوعدار برمیگرداند- یک API در سه زبان
معایب
- روی مرورگر محلی پروکسی با رمز عبور ندارد؛ لیست سفید IP لازم است
- کارهای کاملاً خودکار نسبت به Browser Use کد بیشتری میخواهند
- قابلیتهای ابری به حساب Browserbase وابستهاند
مناسب چه کسانی: تیمهای TypeScript که میخواهند گامهای مرورگر را در کد ببینند، و هر کسی که به تستهای موجود Playwright هوش مصنوعی اضافه میکند.
3. Skyvern
Python، مجوز AGPL-3.0، 23 هزار ستاره در GitHub (اکتبر 2026). بهجای XPath، صفحه را با ترکیب مدل بینایی و DOM میفهمد؛ به گفته خودش یک «ازدحام عاملها» سایت را درک میکند، برنامه میریزد و اجرا میکند. برای پر کردن فرم و کار با پورتالها ساخته شده است؛ با Docker Compose روی سرور خودتان بالا میآید و از OpenAI، Anthropic، Gemini، Bedrock و Ollama پشتیبانی میکند. مرورگر خودتان را با BROWSER_TYPE=cdp-connect و BROWSER_REMOTE_DEBUGGING_URL وصل میکنید و پروکسی هنگام راهاندازی همان Chrome تعیین میشود.
مزایا
- درک بصری باعث میشود روی رابطهای قدیمی و پیچیده کار کند
- تعریف گردش کار و رابط کاربری دارد، نه فقط کتابخانه
- روی سرورهای خودتان میزبانی میشود
معایب
- AGPL شما را ملزم میکند اگر آن را در محصولی جاسازی کنید کد را به اشتراک بگذارید
- گامهای بصری توکن بیشتری مصرف میکنند
- نصب آن، با Postgres و رابط کاربری، از بقیه سنگینتر است
مناسب چه کسانی: تیمهایی که در پورتالهای بسیاری فرم پر میکنند و جریان کار را از یک رابط بصری مدیریت میکنند.
4. Playwright MCP (Microsoft)
یک سرور Model Context Protocol با مجوز Apache-2.0 و 38 هزار ستاره در GitHub (اکتبر 2026). ابزار است، نه عامل: حلقه کنترل در کلاینت MCP است، خواه Claude Code باشد، خواه Cursor یا VS Code. صفحه را بهصورت اسنپشات دسترسپذیری میدهد، پس مدل بینایی لازم نیست؛ --caps=vision حالت مبتنی بر مختصات را روشن میکند. مرورگر با پرچمها پیکربندی میشود: --proxy-server، --proxy-bypass، --cdp-endpoint، --isolated، --user-data-dir. جزئیات در مخزن Playwright MCP است.
مزایا
- در پنج دقیقه به عامل کدنویسیای که همین حالا استفاده میکنید وصل میشود
- اسنپشات متنی سریع و ارزان است
--allowed-hostsمحدود میکند عامل کجا میتواند برود
معایب
- بهتنهایی کاری اجرا نمیکند؛ به کلاینت MCP نیاز دارد
- پروکسی با رمز عبور را نمیتوان با جاسازی اطلاعات ورود در آدرس داد
- برای کارهای خودکار طولانی طراحی نشده است
مناسب چه کسانی: برنامهنویسانی که میخواهند به یک عامل کدنویسی دسترسی مرورگر بدهند.
5. Magnitude
TypeScript، مجوز Apache-2.0، 4 هزار ستاره در GitHub (اکتبر 2026). خودش را «vision-first» مینامد: یک مدل با زمینهیابی بصری به صفحه نگاه میکند و مختصات پیکسلی برمیگرداند، بدون آنکه DOM را بخواند. Claude Sonnet 4 توصیه میشود و Qwen-2.5VL 72B هم کار میکند. چون روی Playwright سوار است، فیلد proxy در Playwright داخل browser.launchOptions میرود و cdp به مرورگری که از قبل باز است وصل میشود. تیم وزن خود را به یک موتور استنتاج منتقل کرده است؛ عامل مرورگر در مخزنی جداگانه ادامه دارد.
مزایا
- روی رابطهایی کار میکند که DOM ندارند یا آن را پنهان میکنند
- گزینههای Playwright مستقیم عبور میکنند
- اجراکننده تست داخلی و بررسیهای بصری
معایب
- در هر گام یک اسکرینشات؛ از بالاترین هزینههای توکن فهرست
- مدل با قابلیت بینایی الزامی است
- جامعه کاربری و مستندات از سه چارچوب نخست عقبترند
مناسب چه کسانی: تیمهایی که برنامههای مبتنی بر بوم را تست میکنند و رگرسیون بصری اجرا میکنند.
6. Notte
چارچوبی برای Python با SDK برای Node، مجوز SSPL-1.0، 2 هزار ستاره در GitHub (اکتبر 2026). صفحه را از یک لایه ادراک میگذراند: observe وضعیت صفحه را به شکلی خوانا برای مدل برمیگرداند و کنشها را با ID آدرس میدهد، و scrape داده ساختیافته برمیگرداند. بهصورت محلی notte.Session() را با کلید LLM خودتان باز میکنید؛ در ابر همان کد از طریق NotteClient اجرا میشود. پروکسی با ExternalProxy(server, username, password) تنظیم میشود.
مزایا
- از محلی به ابر با تغییر یک import
- پروکسی خارجی با رمز عبور در یک شیء
- توصیفهای فشرده صفحه در مصرف توکن صرفهجویی میکنند
معایب
- SSPL ارائه آن بهصورت سرویس را به اشتراکگذاری کد گره میزند
- جامعه کاربری کوچک
- برخی قابلیتها حساب ابری میخواهند
مناسب چه کسانی: تیمهای کوچکی که محلی شروع میکنند و قصد دارند در ابر مقیاس بگیرند.
عاملهای بسته: حالت agent در ChatGPT و computer use در Claude
دو محصول بسته به این فهرست تعلق ندارند، اما در هر مقایسهای پیش میآیند. Operator که OpenAI در آغاز 2025 معرفی کرد، در ژوئیه همان سال در حالت agent ChatGPT ادغام شد؛ عامل در مرورگر مجازی خود OpenAI اجرا میشود و نمیتوانید مرورگر یا پروکسی خودتان را بیاورید. این یک محصول کاربر نهایی است، نه چارچوب.
ابزار computer use در Anthropic عکس آن است: Claude اسکرینشات میگیرد و مختصات ماوس و صفحهکلید برمیگرداند، اما محیط و حلقه را شما اجرا میکنید. نسخه فعلی، computer_toolset_20260801، در دسترس عموم است و مرجع رسمی یک برنامه نمونه مبتنی بر Docker دارد. چون مرورگر در کانتینر شماست، پروکسی را خودتان به آن میدهید، و همین آن را به نزدیکترین گزینه بسته به جدول زیر تبدیل میکند.
جدولهای مقایسه
مجوزها و شمار ستارهها از مخزنهای GitHub، 7 اکتبر 2026. «—» نشانه قابلیتی است که وجود ندارد یا نتوانستیم تأیید کنیم.
درک صفحه و حلقه کنترل
| چارچوب | صفحه را چگونه میبیند | حلقه در دست | زبان |
|---|---|---|---|
| Browser Use | DOM + اسکرینشات اختیاری | مدل | Python |
| Stagehand | درخت دسترسپذیری هرسشده | شما | TS، Python، Go |
| Skyvern | بینایی + DOM | مدل | Python |
| Playwright MCP | اسنپشات دسترسپذیری | کلاینت MCP | Node |
| Magnitude | فقط اسکرینشات | مدل | TypeScript |
| Notte | لایه ادراک (متن) | شما یا مدل | Python، Node |
مجوز و جامعه کاربری
| چارچوب | مجوز | ستاره GitHub | مرورگر خودتان |
|---|---|---|---|
| Browser Use | MIT | 117 هزار | محلی، Chrome سیستم، CDP |
| Playwright MCP | Apache-2.0 | 38 هزار | محلی، CDP |
| Stagehand | MIT | 25 هزار | Chrome محلی، Browserbase |
| Skyvern | AGPL-3.0 | 23 هزار | محلی، CDP |
| Magnitude | Apache-2.0 | 4 هزار | Playwright، CDP |
| Notte | SSPL-1.0 | 2 هزار | محلی، ابر Notte |
پروکسی و هزینه
| چارچوب | پروکسی کجا داده میشود | پروکسی با رمز عبور | هزینه توکن |
|---|---|---|---|
| Browser Use | ProxySettings | بله | متوسط |
| Stagehand | گزینه راهاندازی | فقط در ابر | کم |
| Skyvern | پرچم --proxy-server در Chrome | در سمت Chrome | زیاد |
| Playwright MCP | --proxy-server | نه در آدرس | کم |
| Magnitude | proxy در Playwright | بله | زیاد |
| Notte | ExternalProxy | بله | کم |
ستون توکن نسبی است: چارچوبهایی که اسنپشات متنی میفرستند در هر گام کم خرج میکنند و چارچوبهایی که در هر گام اسکرینشات میفرستند زیاد. رقم دقیق به مدل، صفحه و شمار گامها بستگی دارد.
برای این عاملها کدام پروکسی؟
IP خروجی عامل باید در سراسر یک کار چندمرحلهای ثابت بماند. پورتالی که در آن وارد میشوید یا فروشگاهی که در آن سبد خرید پر میکنید، نشست را به IP گره میزند؛ اگر IP در گام سوم عوض شود، نشست میافتد و عامل از نو شروع میکند. به همین دلیل کارهای عامل از پروکسی با نشست ثابت استفاده میکنند: همان IP تا پایان کار ثابت میماند.
نوع IP هم مهم است. عاملی که باید قیمت، موجودی یا نتایج جستوجوی یک کشور را از داخل همان کشور ببیند به پروکسی مسکونی نیاز دارد؛ IP دیتاسنتر قیمت دیگری نشان میدهد یا اصلاً صفحه را نمیگیرد. در هر چارچوبی پروکسی از طریق پارامتر راهاندازی مرورگر داده میشود: فیلد proxy در چارچوبهای مبتنی بر Playwright، پرچم --proxy-server در یک Chrome که با CDP رانده میشود. مجموعه کامل فیلدها در مستندات شبکه Playwright است.
مراحل راهاندازی را برای هر چارچوب جداگانه نوشتهایم. پروکسی با رمز عبور از طریق ProxySettings و بررسی IP خروجی در Browser Use در Browser Use با پروکسی آمده است؛ پرچمهای Playwright MCP و راهحل مشکل پروکسی با رمز عبور در راهنمای Playwright MCP؛ گزینه proxy در Playwright که Stagehand و Magnitude روی آن سوارند و محدودیت SOCKS5 آن در راهنمای پروکسی Playwright.
پروکسی عامل را نامرئی نمیکند و نباید هم بکند. وقتی عامل به سایتی میرود، robots.txt و شرایط استفاده همچنان مسئولیت شماست؛ حرکت با سرعت انسانی، محدود کردن نرخ درخواست به یک هدف و امتحان کردن API رسمی در وهله اول، همگی عامل را قابلاعتمادتر میکنند. استفاده از پروکسی برای دور زدن حفاظت ربات موضوع این نوشته نیست.
اشتباههای رایج
- یک روش درک برای همه سایتها. روشن کردن اسکرینشات برای یک فرم استاندارد هزینه را چند برابر میکند؛ اصرار بر DOM روی بوم، عامل را کور میگذارد.
- پروکسی چرخشی در کار چندمرحلهای. وقتی IP در هر درخواست عوض شود نشست میافتد؛ کارهایی که ورود میخواهند از نشست ثابت استفاده میکنند.
- نداشتن سقف گام. مدلی که به هدف نمیرسد در حلقه میماند و توکن میسوزاند؛ هر چارچوبی سقفی مانند
max_stepsدارد. - اطلاعات ورود در پرامپت. رمز عبور پروکسی و سایت به پارامتر مرورگر یا متغیر محیطی میرود، هرگز به مدل نه.
- نداشتن محدودیت دامنه. دستوری پنهان در یک صفحه میتواند عامل را به سایت دیگری بفرستد؛ فهرست دامنههای مجاز این خطر را کوچک میکند.
- جاسازی بدون خواندن مجوز. AGPL و SSPL همان MIT نیستند.
برای هر کار کدام عامل؟
| کار شما | پیشنهاد |
|---|---|
| نمونه اولیه سریع در Python | Browser Use |
| جریان گامبهگام و آزمونپذیر | Stagehand |
| فرم در پورتالهای بسیار | Skyvern |
| افزودن مرورگر به عامل کدنویسی | Playwright MCP |
| بوم و رگرسیون بصری | Magnitude |
| اول محلی، بعد ابر | Notte |
پرسشهای متداول
بهترین عامل مرورگر هوش مصنوعی در 2026 کدام است؟
پاسخ واحدی ندارد؛ به سایت و تیم بستگی دارد. Browser Use برای نتیجه سریع در Python، Stagehand برای جریان کنترلشده در TypeScript، Skyvern یا Magnitude برای سایتهای بصری، و Playwright MCP برای افزودن مرورگر به عامل کدنویسی.
تفاوت عامل مرورگر با Playwright چیست؟
Playwright کتابخانه خودکارسازیای است که در آن هر گام را خودتان مینویسید؛ عامل مرورگر میگذارد مدل زبانی گام را انتخاب کند. Stagehand و Magnitude روی Playwright اجرا میشوند، در حالی که Browser Use مرورگر را مستقیماً از طریق CDP میراند.
آیا عامل مرورگر به مدل بینایی نیاز دارد؟
نه. Browser Use، Stagehand، Playwright MCP و Notte صفحه را بهصورت متن تحویل میدهند و با مدلهای متنی کار میکنند. Skyvern و Magnitude از روی اسکرینشات کار میکنند و مدلی با قابلیت بینایی میخواهند.
عامل مرورگر چقدر توکن مصرف میکند؟
به اندازه گامهایش صفحه میفرستد. با اسنپشات متنی هزینه هر گام کم است؛ با اسکرینشات چند برابر بیشتر، و رقم دقیق به مدل و صفحه بستگی دارد. سقف گام، سقف هزینه را تعیین میکند.
آیا میتوانم پروکسی خودم را به عامل مرورگر بدهم؟
بله، در هر شش چارچوب متنباز: گزینه proxy در چارچوبهای مبتنی بر Playwright، پرچم --proxy-server در یک Chrome که با CDP رانده میشود. حالت agent در ChatGPT در مرورگر خودش اجرا میشود و پروکسی نمیپذیرد.
آیا عامل مرورگر به robots.txt پایبند است؟
بهخودیخود نه؛ هیچکدام از چارچوبها آن را اجباری نمیکنند. شما دامنههایی را که عامل اجازه دارد ببیند محدود میکنید، شما نرخ درخواست را تعیین میکنید و شما مطمئن میشوید که از قواعد سایت پیروی میکند.
خلاصه
آنچه در 2026 عاملهای مرورگر را از هم جدا میکند مدل نیست، بلکه این است که صفحه را چگونه به مدل نشان میدهند و کنترل را به دست چه کسی میسپارند: DOM و درخت دسترسپذیری ارزان و پایدارند، اسکرینشات گران است اما روی هر رابطی کار میکند. چارچوب را روی سایتهای خودتان با کاری پنجگامی بیازمایید؛ صورتحساب توکن و نرخ موفقیت چیزی را میگویند که جدولها نمیتوانند. وقتی عامل شما به سراغ کاری چندمرحلهای میرود و به نشست با IP ثابت نیاز دارد، نگاهی به خدمات پروکسی ما بیندازید.




