We introduce WebNavigator, which reframes web navigation from probabilistic exploration into deterministic retrieval and pathfinding. WebNavigator constructs Interaction Graphs via zero-token cost heuristic exploration offline and implements a Retrieve-Reason-Teleport workflow for global navigation online. WebNavigator achieves state-of-the-art performance on WebArena and OnlineMind2Web. On WebArena multi-site tasks, WebNavigator achieves a 72.9% success rate, more than doubling the performance of enterprise-level agents.
Fellou AI Browser — The World's First Agentic Browser. Go beyond browsing with automated web actions.
- 📄 20260320: Our work is on arXiv: https://arxiv.org/abs/2603.20366
- 🚀 20260315: Init the official repo for webNavigator
- 🛠️ Install environment
- 🔑 Add Your API Key
- 🧩 Interaction Graph
- ⚙️ Setting up Benchmark
- 📊 Evaluation
- 📈 Trajectory results
- Install the requirements.txt file and set up the environment
git clone https://github.com/fate-ubw/webNavigator.git conda create -n webnavigator python=3.10; conda activate webnavigator pip install -r requirements.txt playwright install mkdir .auth
- Please add your API key and API URL in the
.envfile as shown below:OPENAI_API_KEY=your_api_key OPENAI_BASE_URL=your_base_url JINA_API_KEY=your_api_key JINA_API_URL=https://api.jina.ai/v1/embeddings - For local model deployment, you can use vllm or sglang to evaluate via the OpenAI API.
We have open-sourced the Interaction Graphs and pre-processed embeddings for five WebArena domains.
Please download the released files from Jimzhang324/webNavigator and place them in webNavigator/webNodes.
- For setting up the webarena environment, please refer to the instructions in the official webarena repository: https://github.com/web-arena-x/webarena
- Prepare and load environment variables for your local webarena services (important)
# 1) Edit BASE_URL / endpoints in run/env to your own host/IP # Example: export BASE_URL="http://127.0.0.1" # 2) Load environment variables source run/env # 3) Check one sample variable to confirm echo $WA_SHOPPING
- Generating evaluation data for webarena, run:
source run/env # The same env_name must be used in all following steps. # Example: python run/generate_test_data.py --raw_data config_files/webarena/test.raw.json --env_name webarena --output_prefix test
- For Online Mind2Web: We have processed the latest Online Mind2Web data so it works with our framework. You can find the compatible data in
config_files/online_mind2web/all_tasks.json.
- Please refer to the official WebArena repository for instructions on setting up the environment: https://github.com/web-arena-x/webarena/tree/main
- Generate the
.authdirectory (make sure to use the sameenv_nameas your previous steps):source run/env python browser_env/auto_login.py --env_name webarena_test - To run the evaluation script:
- Open
run/webarena/run_webnavigator-parallel-all-gpt4o.shand find the line withbrowser_env/auto_login.py --env_name .... Change only theenv_nameto your desired value, for example:source run/env python browser_env/auto_login.py --env_name webarena_test - You do not need to modify any other commands. Just make sure you use the same
env_namefor bothauto_loginandgenerate_test_datasteps. - run bash file in project root path
bash run/webarena/run_webnavigator-parallel-all-gpt4o.sh
- Open
We will open-sourced our evaluation trajectory files for public use. You can download the released trajectories, and use them for further research, analysis, or reproduction of our results.
This project is licensed under the MIT License.
If you find this work useful, please cite our paper:
@misc{zhang2026webnavigatorglobalwebnavigation,
title={WebNavigator: Global Web Navigation via Interaction Graph Retrieval},
author={Xuanwang Zhang and Yuteng Han and Jinnan Qi and Mulong Xie and Zhen Wu and Xinyu Dai},
year={2026},
eprint={2603.20366},
archivePrefix={arXiv},
primaryClass={cs.IR},
url={https://arxiv.org/abs/2603.20366},
}