TOKREPO · Arsenal de IA
Nuevo · esta semana

Pack de Agente de Navegador + Automatización Web

Diez picks para el dev que construye un agente que navega la web en nombre del usuario — instala en orden: browser-use skill + Playwright MCP + Browserbase nube + Obscura sigilo + Pydoll sin WebDriver + Scrapling adaptativo + Firecrawl + Jina Reader + Mem0 memoria + Apify MCP orquestador con 8.000+ scrapers. Flujo end-to-end, no solo comparativa de frameworks.

10 recursos

What's in this pack

This is the stack you assemble when the goal is not "play with Browser-Use for an afternoon" but ship an agent that browses the web on a user's behalf, in production, against sites that fight back. The Browser Automation pack on TokRepo is a framework round-up — three SDKs side by side. This pack is the next layer: framework + headless runtime + anti-bot countermeasures + content extraction + memory + orchestrator, chained in install order.

Every pick earns its spot by handling one stage of the pipeline. Together they answer the real questions: where does the browser run, how does it stay un-fingerprinted, what does the agent feed back into the LLM, what does it remember between sessions, and how do you go from one tab to ten thousand without writing a queue.

The target user is the dev building a research / lead-gen / form-filling / checkout / monitoring agent — anything where the LLM has to drive a real browser, deal with login walls and Cloudflare, and accumulate context over weeks instead of one prompt.

Install in this order (framework → headless → anti-bot → memory → orchestrator)

  1. browser-use Python skill — agent framework. The Python toolkit that lets an Agent control a real browser with an LLM provider of your choice. Start here because it's the lowest-friction way to feel the loop: prompt → page → action → DOM → next action. The skill format installs cleanly into Claude Code, Codex, and Gemini CLI workflows.
  2. Playwright MCP — Browser Automation for Agents — protocol-level entry. Wraps Playwright as an MCP server so any MCP-aware agent (Claude Code, Cursor, ChatGPT desktop) can drive Chrome / Firefox / WebKit without bespoke glue code. This is the wire you plug the agent into the browser through.
  3. Browserbase — Cloud Browser Infra for AI Agents — managed headless. Spin up thousands of stealth Chromium sessions over HTTPS, no VPS, no Docker, no captcha-driven IP burns. Use this once you outgrow a single laptop's Chrome and don't want to operate a fleet.
  4. Obscura — Headless Browser Built for AI Agents and Web Scraping — self-hosted stealth. The DIY counterpart to Browserbase when you need data residency or a per-session cost floor of $0. Ships anti-fingerprinting defaults out of the box.
  5. Pydoll — Browser Automation Without WebDriver — first anti-bot layer. The dirty secret of bot detection is that the navigator.webdriver=true flag still trips most filters. Pydoll drives Chrome via the DevTools Protocol directly, so that flag never lights up. Use it when Cloudflare and DataDome start serving 403s to your Playwright runs.
  6. Scrapling — Adaptive Web Scraping Framework for Python — adaptive selectors. Sites change DOM nightly to break scrapers; Scrapling fingerprints the elements you care about by structural and text similarity so your extractor survives a re-skin. The right pair to whatever browser you chose above.
  7. Firecrawl — Web Scraping API for AI Applications — clean markdown. When the agent only needs the content (not the page chrome), Firecrawl converts a URL into LLM-ready markdown with images, links, and structure preserved. Cheaper than running Playwright when no interaction is needed.
  8. Jina Reader — Convert Any URL to LLM-Ready Text — fallback fetcher. Free r.jina.ai/<url> endpoint that strips chrome, ads, and nav. Use it when Firecrawl rate-limits, when the site is light enough to skip the browser entirely, or as a sanity-check second source.
  9. Mem0 — Memory Layer for AI Applications — persistent memory. The agent needs to remember which sites it has visited, which credentials are stored, which selectors broke last week, and what the user told it three sessions ago. Mem0 is the persistence layer that keeps that out of your prompt.
  10. Apify MCP Server — 8,000+ Web Scrapers for Agents — orchestrator. The escape hatch for "this site already has a battle-tested scraper somewhere." Exposes Apify's Actor library to your agent over MCP, so instead of writing a Twitter scraper at 2am, the agent calls a pre-built one. The right top of the funnel when the agent doesn't know in advance which site it will hit.

How they fit together (ASCII pipeline)

         ┌── user request ──┐
         │ "book me a ..." │
         └─────────┬────────┘
                   ▼
   ┌─── agent loop ──────────────────────────────┐
   │  browser-use skill / Playwright MCP        │
   │  (LLM ↔ browser ↔ DOM action loop)         │
   └────────────────┬───────────────────────────┘
                    ▼
   ┌─── headless runtime ────────────────────────┐
   │  Browserbase (cloud, managed stealth)      │
   │       OR                                    │
   │  Obscura (self-hosted, data residency)     │
   └────────────────┬───────────────────────────┘
                    ▼
   ┌─── anti-bot layer ──────────────────────────┐
   │  Pydoll (no WebDriver flag → defeat naive  │
   │           Cloudflare / DataDome filters)    │
   │  Scrapling (adaptive selectors → survive   │
   │             nightly DOM rewrites)           │
   └────────────────┬───────────────────────────┘
                    ▼
   ┌─── content extraction ──────────────────────┐
   │  Firecrawl (URL → clean markdown)          │
   │  Jina Reader (free fallback fetch)         │
   │  → LLM-ready text + structured data        │
   └────────────────┬───────────────────────────┘
                    ▼
   ┌─── memory ──────────────────────────────────┐
   │  Mem0 (cross-session facts, broken         │
   │        selectors, user preferences)         │
   └────────────────┬───────────────────────────┘
                    ▼
   ┌─── orchestrator ────────────────────────────┐
   │  Apify MCP (8,000+ pre-built scrapers      │
   │             when you don't want to roll     │
   │             your own per site)              │
   └─────────────────────────────────────────────┘

The pipeline has two entry points on purpose: the agent can drive the browser itself (browser-use + Playwright MCP), or it can delegate to Apify MCP when a pre-built scraper already exists for the target site. Real production agents do both — drive Chrome for the long-tail sites they hit once, call Apify Actors for the 50 sites they hit constantly.

Tradeoffs you'll hit

  • browser-use vs Playwright MCP — browser-use is a Python framework you import; Playwright MCP is a server your agent talks to over JSON-RPC. Import the framework when you control the agent's runtime (Python service you wrote). Use the MCP when the agent is a third-party tool (Claude Code, Cursor) you can't modify.
  • Browserbase vs Obscura — Browserbase is the AWS of headless browsers: zero ops, per-minute billing, stealth handled for you. Obscura is the self-host: zero per-session cost after the box is paid for, but you operate it. Pick by total monthly browser-hours: under ~200 hours/month, Browserbase wins on TCO; above, Obscura's break-even kicks in.
  • Pydoll vs Playwright — Playwright is the industry standard but every detection vendor knows its fingerprint. Pydoll connects via raw CDP, which is harder for filters to identify generically. Trade-off: Pydoll's API is younger and less ergonomic. Use Playwright (or Playwright MCP) for sites that don't fight, switch the specific runs that get blocked over to Pydoll.
  • Scrapling vs hand-written selectors — Hand-written CSS/XPath are fast to write and brittle. Scrapling spends extra ms per query computing similarity, but the selector survives the next deploy. Use hand-written for one-off scrapes; Scrapling for anything that runs more than once a week.
  • Firecrawl vs Jina Reader — Firecrawl is paid, batch-friendly, handles JS rendering. Jina Reader is free, single-URL, serves cached snapshots when the live site is slow. Start with Jina for prototyping; move to Firecrawl when rate limits or coverage gaps bite.
  • Mem0 vs prompt-stuffing — You can shove the whole history into the system prompt and pay tokens for it every turn. Mem0 retrieves only the relevant facts (last broken selector, user's preferred date format) so each turn pays for ~200 tokens instead of 20,000.
  • Apify MCP vs roll-your-own — Apify's 8,000+ Actors are maintained by people who specialize in one site. For Twitter/X, LinkedIn, Amazon, Google Maps, Apify wins on reliability and stays current after the next anti-bot upgrade. Roll your own when the target is a long-tail site or your data needs are too custom for any existing Actor.

Common pitfalls

  • Running Browser-Use and Playwright MCP against the same Chrome profile. Two agents on the same user-data-dir race for the active tab and corrupt session state. Always use separate profile dirs, or move one of them to a Browserbase/Obscura session.
  • Forgetting the navigator.webdriver flag exists. Standard Playwright leaves it set to true. That single boolean is the first thing every commercial bot detector reads. Either patch it via CDP, use Pydoll, or accept that anything with Cloudflare in front will eventually 403 you.
  • Treating Apify Actors like local code. Apify Actors run in the cloud and charge by compute units. If the agent calls one in a loop without rate-limiting, the bill arrives. Wrap Apify MCP calls with a per-day budget the agent can read from Mem0.
  • Storing credentials in the agent's prompt or in Mem0 as plain text. Use the host CLI's secret manager (Claude Code's ~/.claude/secrets, environment variables in your service) and let the agent read them by name, not value. Mem0 should remember that a credential exists, never its contents.
  • Indexing too aggressively. A research agent that hits every link on every page recursively will exhaust Firecrawl quota in an afternoon. Cap depth at 2, dedupe by URL hash, and reuse Mem0 to skip URLs visited last week.
  • Skipping the content-extraction step. Feeding the raw HTML into the LLM is expensive and noisy. Always route through Firecrawl or Jina Reader so the LLM sees markdown, not nav menus and tracking scripts.
INSTALAR · UN COMANDO
$ tokrepo install pack/browser-agent-web-automation
pásalo a tu agente — o pégalo en tu terminal
Qué incluye

10 recursos listos para instalar

Skill#01
browser-use — Python Browser Agent Toolkit

browser-use runs a Python agent that controls a real browser for web tasks. Use the repo’s uv quickstart, then run an Agent with your LLM provider.

by Script Depot·86 views
$ tokrepo install browser-use-python-browser-agent-toolkit
MCP#02
Playwright MCP — Browser Automation for Agents

Playwright MCP exposes browser automation via MCP with device emulation; verified 5,510★ and documents 143 device profiles plus `playwright install` setup.

by MCP Hub·85 views
$ tokrepo install playwright-mcp-browser-automation-for-agents
Agent#03
Browserbase — Cloud Browser Infra for AI Agents

Browserbase runs managed cloud Chromium for AI agents. Stagehand, Playwright, Puppeteer compatible. Scales to 1000s of parallel sessions with replay.

by Browserbase·73 views
$ tokrepo install browserbase-cloud-browser-infra-for-ai-agents
Skill#04
Obscura — Headless Browser Built for AI Agents and Web Scraping

A high-performance headless browser written in Rust, designed specifically for AI agent workflows and large-scale web scraping with built-in stealth and anti-detection capabilities.

by Script Depot·176 views
$ tokrepo install obscura-headless-browser-built-ai-agents-web-scraping-f6865bc8
Script#05
Pydoll — Browser Automation Without WebDriver

Python async browser automation via Chrome DevTools Protocol. Built-in CAPTCHA solving, anti-detection, no Selenium needed. 6.7K+ stars.

by Script Depot·187 views
$ tokrepo install pydoll-browser-automation-without-webdriver-708bb34d
Skill#06
Scrapling — Adaptive Web Scraping Framework for Python

An intelligent Python web scraping framework that handles single requests to full-scale crawls with built-in anti-detection and auto-adaptation.

by Script Depot·79 views
$ tokrepo install scrapling-adaptive-web-scraping-framework-python-cc74e4fa
Skill#07
Firecrawl — Web Scraping API for AI Applications

Turn any website into clean markdown or structured data for LLMs. Firecrawl handles JavaScript rendering, anti-bot bypassing, sitemaps, and batch crawling via simple API.

by Firecrawl·190 views
$ tokrepo install firecrawl-web-scraping-api-ai-applications-6a62a986
Skill#08
Jina Reader — Convert Any URL to LLM-Ready Text

Convert any URL to clean, LLM-friendly markdown with a simple prefix. Just prepend r.jina.ai/ to any URL. Handles JS-rendered pages, PDFs, and images. 10K+ stars.

by Script Depot·6974 views
$ tokrepo install jina-reader-convert-any-url-llm-ready-text-a9cbbc61
Skill#09
Mem0 — Memory Layer for AI Applications

Add persistent, personalized memory to AI agents and assistants. Mem0 stores user preferences, past interactions, and learned context across sessions.

by Mem0·715 views
$ tokrepo install mem0-memory-layer-ai-applications-96da1f40
MCP#10
Apify MCP Server — 8,000+ Web Scrapers for Agents

Apify MCP Server connects agents to Apify Actors via a hosted endpoint (mcp.apify.com) or local run, turning thousands of web scrapers into callable tools.

by MCP Hub·96 views
$ tokrepo install apify-mcp-server-8-000-web-scrapers-for-agents
Preguntas frecuentes

Preguntas frecuentes

Do I need all 10 tools or can I start smaller?

Start with three: browser-use skill for the agent loop, Playwright MCP so your existing MCP client can drive it, and Jina Reader for the content side. That's a usable web-browsing agent on a laptop in one evening. Add Browserbase or Obscura when you need to scale past a single Chrome. Add Pydoll the first time Cloudflare 403s you. Add Scrapling the first time a selector breaks overnight. Add Firecrawl when Jina rate-limits or you need batch markdown. Add Mem0 when you find yourself pasting the same context into every prompt. Add Apify MCP when the agent keeps hitting sites that already have a battle-tested scraper. The full 10 earns its keep once the agent runs unattended over weeks against more than ~20 different sites.

How is this different from the existing Browser Automation pack on TokRepo?

The Browser Automation pack is a framework round-up — Browser-Use vs Skyvern vs Stagehand side by side, plus the Chrome MCP popup fix. It answers "which library should I import?" This pack answers the next question: what does the rest of the agent need around that library to actually ship — a headless runtime, anti-bot countermeasures, content extraction, persistent memory, and a delegation path to pre-built scrapers. Zero asset overlap with the framework pack; the two are complementary, not duplicate.

Will agent-driven scraping get me sued?

Depends entirely on the target site and the jurisdiction. Scraping publicly available data is generally protected in the US after hiQ v. LinkedIn, but breaking through anti-bot measures, scraping behind a login wall, or violating a site's TOS opens real liability. The safe pattern: scrape your own dashboards, scrape sites whose TOS explicitly permit automation (most search engines, most public data portals), or use Apify Actors for sites where the Actor authors have already done the legal analysis. Never use the anti-bot layer (Pydoll, stealth Browserbase) against sites whose TOS you haven't read.

Why does the memory layer (Mem0) appear in a browser pack?

Because a useful browser agent is not stateless. Across sessions it needs to remember: which selectors broke and what the working alternative was, which sites have rate-limited it and when to retry, which login flows require 2FA the user has to approve, what the user's shipping address is, what "my usual flight" means. Stuffing all of that into the system prompt every turn is wasteful and breaks at scale. Mem0 retrieves only the relevant facts per turn — typically a few hundred tokens — and keeps the rest in a vector DB. Without a memory layer, every agent rediscovers the same broken selectors weekly.

Can the same pack run inside Claude Code, Cursor, and Codex CLI?

Yes. Six of the ten picks are MCP servers or Python/TypeScript libraries, which any agent host can call. Playwright MCP, Firecrawl MCP (the same upstream service), Apify MCP, and the Mem0 SDK all speak the standard protocols. The browser-use skill ships in Claude Code skill format but the underlying library is plain Python — Cursor and Codex pick it up via AGENTS.md or a Python tool definition. Browserbase and Obscura are HTTP-based, so the agent host is irrelevant. Pydoll and Scrapling are Python libraries you import from whichever runtime your agent already runs in.

MÁS DEL ARSENAL

12 packs · 80+ recursos seleccionados

Explora todos los packs curados en la página principal

Volver a todos los packs