EasyWeb is an open platform for building and serving AI agents that interact with web browsers.
Using a web agent has never been easier: Just open EasyWeb's interface, enter your command, and watch the agent take care of your browser-related tasks, whether it be travel planning, online shopping, news gathering, or anything you can think of.
Deploy once, use everywhere: EasyWeb comes with a full package for deploying web agents as a service. Built on OpenHands, EasyWeb introduces a parallelized architecture capable of fulfilling multiple user requests simultaneously, and supports toggling your favorite agent and LLM available as APIs.
Note: The demos below were recorded using ReasonerAgent with World Model Planning (Full) and GPT-4o between January 2 and 21, 2025. Specific websites and more detailed instructions were included in the prompts to help guide the agent's behavior.
Task: Plan a travel from Pittsburgh to ICML 2025.
easyweb-travel-planning.mp4
Expand to see more demos
Task: Find a round-trip ticket from Chicago to Dubai next month, traveling in economy class, with non-stop flights only, departing after 8 AM, and returning within two weeks.
easyweb-flight.mp4
Task: I want to buy a black mattress. Can you look at Amazon, eBay, and Mattress Firm and give me one good option from each?
easyweb-mattress.mp4
Task: I'd like to learn how local news outlets covered Trump's inauguration. Please find one article from each of the following websites: Times of San Diego, The Tennessee Tribune, and MinnPost, and summarize the details to me.
easyweb-news.mp4
- [2025/02] We released ReasonerAgent: A Fully Open Source, Ready-to-Run Agent That Does Research in a Web Browser and Answers Your Queries. Check out the blog post
- Linux, Mac OS, or WSL on Windows
- Docker (For those on MacOS, make sure to allow the default Docker socket to be used from advanced settings!)
- Python = 3.11
- NodeJS >= 18.17.1
- Poetry = 1.8.4
Make sure you have all these dependencies installed before moving on to make build
.
Expand for setup without sudo access
If you want to develop without system admin/sudo access to upgrade/install Python
and/or NodeJs
, you can use conda
or mamba
to manage the packages for you:
# Download and install Mamba (a faster version of conda)
curl -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh"
bash Miniforge3-$(uname)-$(uname -m).sh
# Install Python 3.11, nodejs, and poetry
mamba install python=3.11
mamba install conda-forge::nodejs
mamba install conda-forge::poetry=1.8.4
Begin by building the project, which includes setting up the environment and installing dependencies.
make build
Once the setup is complete, launching EasyWeb is as simple as running a single command. This command starts both the backend and frontend servers seamlessly.
make run
Expand to see details for scaling service
-
Start the Backend Server: If you prefer, you can start the backend server independently to focus on backend-related tasks or configurations.
make start-backend
-
Start the Frontend Server: Similarly, you can start the frontend server on its own to work on frontend-related components or interface enhancements.
make start-frontend
-
Start Multiple Backend Servers If you prefer, you can also start multiple backend servers together with ports
$5000$ and onwards for running multiple requests (one request per backend), given that you have sufficient memory on the machine.make start-backends NUM_BACKENDS={number_of_your_choice} START_PORT=5000
Once you started multiple backend port, please start the frontend using:
poetry run python frontend.py --num-backends {num_backend_opened}
Then you can duplicate the frontend link you just opened to start running parallel requests.
We aim to support a more scalable approach to multiple backends going forward.
Distributed under the MIT License. See LICENSE for more information.
We welcome you to join our Discord server! Feel free to contribute the following:
Code Contributions: Collaborate on building new agents, enabling new browser / UI environments, enhancing core features, improving the frontend and other interfaces, or creating sandboxing solutions.
Research and Evaluation: Advance our understanding of LLMs in automation, assist in model evaluation, or propose enhancements.
Feedback and Testing: Test EasyWeb, identify bugs, recommend features, and share insights on usability.
We would like to thank OpenHands for the base code for this project.
@software{easyweb2025,
author = {Maitrix Team},
title = {EasyWeb: Open Platform for Building and Serving Web-Browsing Agents},
year = {2025},
publisher = {GitHub},
url = {https://github.com/maitrix-org/easyweb}
}