Skip to content

maitrix-org/easyweb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Easy Web Logo

EasyWeb: Web Agents at Your Fingertips

Try out our public demo Join our Discord community Join our Discord community

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.

Demos

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

News

  • [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

Getting Started

1. Requirements

  • 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

2. Build and Setup The Environment

Begin by building the project, which includes setting up the environment and installing dependencies.

make build

3. Run the Application

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

4. Individual Server Startup and Scaling Service

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.

Join The Community

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.

Acknowledgments

We would like to thank OpenHands for the base code for this project.

Cite

@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}
}