WebSurferAgent
If you need an agent that can browse, extract, or interact with the web, WebSurferAgent
is a good choice. The agent actions the request(s) given to it by determining what to do on the web and browsing and crawling it, returning the details of what it finds.
The WebSurferAgent
has two in-built web tools to choose from:
- browser-use - uses an actual browser instance (visible or headless), interacting with the web pages in realtime
- Crawl4AI - crawls without a visual browser instance
If you want to add browsing capabilities to your existing agents, see this notebook for browser-use and this notebook for Crawl4AI.
To get started with WebSurferAgent, install AG2 with the browser-use
and/or crawl4ai
extras.
and/or
And then setup Playwright:
Now, you can create an agent, nominating the web tool:
Crawl4AI doesn’t always require an LLM configuration, see this notebook for examples with and without one.
Let’s browse the web for news on AG2.
Let’s break it down:
-
Import
WebSurferAgent
and create an LLM configuration for the browser-use tool to use. -
We create a configuration dictionary turning off the headless mode (so we can see what’s happening) and saving an animated GIF of the process (shown below).
-
Create the agent, nominating the web tool and passing in the LLM and tool configurations.
-
Run the agent, ensuring we pass the agent’s tools through to the
run
method so it can add them to the internal executor agent to execute.