TITLE = """
π Online-Mind2Web Leaderboard
"""
LINKS = """
"""
INTRODUCTION_TEXT = """
Online-Mind2Web is a benchmark designed to evaluate the real-world performance of web agents on live websites, featuring 300 tasks across 136 popular sites in diverse domains with reliable LLM-as-a-Judge (WebJudge) automactic evaluation.
Based on the number of steps required by human annotators, tasks are divided into three difficulty levels: Easy (1-5 steps), Medium (6-10 steps), and Hard (11+ steps).
"""
LEADERBOARD_TEXT = """
## Leaderboard
Our goal is to conduct a rigorous assessment of the current state of web agents. We maintain two leaderboardsβone for automatic evaluation and another for human evaluation.
When using our benchmark or submitting results, please first carefully review the important notes to ensure proper usage and obtain reliable evaluation results and follow the "Submission Guideline".
**We have outsourced human evaluation, so submissions can now be reviewed within a few days. For pricing and review details, see [this link](https://github.com/OSU-NLP-Group/Online-Mind2Web/blob/main/data/schema_v2/HUMAN_EVALUATION_PRICING.md).**
### β Important Notes for Reliable Evaluation:
- **Start from the specified websites, not Google Search**: To enable fair comparisons, please ensure that each task starts from the specified website in our benchmark. Starting from Google Search or alternative websites can lead agents to use different websites to solve the task, resulting in varying difficulty levels and potentially skewed evaluation results.
- **Include only factual actions, not agent outputs**: The action history should contain only the factual actions taken by the agent to complete the task (e.g., Clicking elements and Typing text). Do not include the final response or any other agent's outputs, as they may contain hallucinated content and result in a high rate of false positives.
- **Use o4-mini for WebJudge**: WebJudge powered by o4-mini demonstrates a higher alignment with human judgment, achieving an average agreement rate of 85.7% and maintaining a narrow success rate gap of just 3.8%. Therefore, please use o4-mini as the backbone for automatic evaluation.
To obtain more reliable automatic evaluation results, the action representation should be as detailed as possible, including only factual actions and excluding any agent outputs. Here is an example [script](https://github.com/OSU-NLP-Group/Online-Mind2Web/blob/main/src/clean_html.py) to process the element's HTML as the action representation. It can preserve valuable information while filtering out irrelevant attributes.
**Please do not use it as training data for your agent.**
"""
SUBMISSION_TEXT = """
## Submissions
Participants are invited to submit your agent's trajectory for evaluation.
### Review policy
- **Auto-eval**: We provide free review for auto-eval submissions.
- **Human eval**: Human evaluation is outsourced for submission review. For pricing and review details, see [this link](https://github.com/OSU-NLP-Group/Online-Mind2Web/blob/main/data/schema_v2/HUMAN_EVALUATION_PRICING.md).
- **Academic submissions**: For submissions from academia, the Online-Mind2Web team can still provide free evaluation. Turnaround is usually longer than outsourced human evaluation, so please notify us **1-2 weeks in advance**.
### Format of submission
All submissions must follow the **v2 submission schema** (`online-mind2web-v2`). Each task directory should contain a `result.json` (conforming to the v2 schema) and a `trajectory/` folder with per-step screenshots. Please refer to the "Submission Guideline" tab for details.
"""
EVALUATION_DETAILS = """
In certain scenarios, testing on the full Online-Mind2Web dataset may not be feasible due to cost, privacy, or legal constraints. To facilitate fair and apple-to-apple comparisons, we release both our human evaluation labels and auto-eval details.
- **Human Evaluation**: Task-level human evaluation labels are provided in the [file](https://github.com/OSU-NLP-Group/Online-Mind2Web/blob/main/data/evaluation_results/online_mind2web_evaluation_results/human_label.json).
- **Auto-Evaluation**: The results of WebJudge are available in the [folder](https://github.com/OSU-NLP-Group/Online-Mind2Web/tree/main/data/evaluation_results/online_mind2web_evaluation_results/webjudge_o4-mini)."""
CITATION_BUTTON_LABEL = "Copy the following snippet to cite these results. Note: Online-Mind2Web is derived from the original Mind2Web dataset. We kindly ask that you cite both the original and this work when using or referencing the data."
CITATION_BUTTON_TEXT = r"""
@article{xue2025illusionprogressassessingcurrent,
title={An Illusion of Progress? Assessing the Current State of Web Agents},
author={Tianci Xue and Weijian Qi and Tianneng Shi and Chan Hee Song and Boyu Gou and Dawn Song and Huan Sun and Yu Su},
year={2025},
eprint={2504.01382},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/abs/2504.01382},
}
@inproceedings{deng2023mind2web,
author = {Deng, Xiang and Gu, Yu and Zheng, Boyuan and Chen, Shijie and Stevens, Sam and Wang, Boshi and Sun, Huan and Su, Yu},
booktitle = {Advances in Neural Information Processing Systems},
editor = {A. Oh and T. Naumann and A. Globerson and K. Saenko and M. Hardt and S. Levine},
pages = {28091--28114},
publisher = {Curran Associates, Inc.},
title = {Mind2Web: Towards a Generalist Agent for the Web},
url = {https://proceedings.neurips.cc/paper_files/paper/2023/file/5950bf290a1570ea401bf98882128160-Paper-Datasets_and_Benchmarks.pdf},
volume = {36},
year = {2023}
}
"""
SUBMIT_INTRODUCTION = """
You should use the script provided in our GitHub [repository](https://github.com/OSU-NLP-Group/Online-Mind2Web) to obtain automatic evaluation results on your own and submit them along with all trajectories to enhance transparency.
To ensure the authenticity and reliability of the reported results, we will also verify the auto-eval results.
If you have conducted your own human evaluation, please also attach your human-eval results. We will spot-check these before adding them to the human-eval table.
## Review policy
- **Auto-eval**: We provide free review for auto-eval submissions.
- **Human eval**: Human evaluation is outsourced for submission review. For pricing and review details, see [this link](https://github.com/OSU-NLP-Group/Online-Mind2Web/blob/main/data/schema_v2/HUMAN_EVALUATION_PRICING.md).
- **Academic submissions**: For submissions from academia, the Online-Mind2Web team can still provide free evaluation. Turnaround is usually longer than outsourced human evaluation, so please notify us **1-2 weeks in advance**.
## β Important Notes for Reliable Evaluation:
- **Start from the specified websites, not Google Search**: To enable fair comparisons, please ensure that each task starts from the specified website in our benchmark. Starting from Google Search or alternative websites can lead agents to use different websites to solve the task, resulting in varying difficulty levels and potentially skewed evaluation results.
- **Include only factual actions, not agent outputs**: The action history should contain only the factual actions taken by the agent to complete the task (e.g., Clicking elements and Typing text). Do not include the final response or any other agent's outputs, as they may contain hallucinated content and result in a high rate of false positives.
- **Use o4-mini for WebJudge**: WebJudge powered by o4-mini demonstrates a higher alignment with human judgment, achieving an average agreement rate of 85.7% and maintaining a narrow success rate gap of just 3.8%. Therefore, please use o4-mini as the backbone for automatic evaluation.
## β Please submit the trajectory file using the v2 schema (`online-mind2web-v2`):
All submissions must use the **v2 submission schema**. In v2, each step is a self-contained object that bundles its action, thought, screenshot, and URL together, making it straightforward for human evaluators to review each step with all relevant context in one place.
For the full schema specification, action dictionary, and validation rules, see the [v2 schema README](https://github.com/OSU-NLP-Group/Online-Mind2Web/tree/main/data/schema_v2/README.md).
The result of each task is stored in a folder named as its `task_id`, containing:
- `trajectory/`: Per-step screenshots (one per step, e.g. `0000.png`, `0001.png`, ...).
- `result.json`: Task metadata and action history following the v2 schema.
Here is an [example](https://github.com/OSU-NLP-Group/Online-Mind2Web/tree/main/data/example/example_v2/1b867afecf072cb877ebfa4069263746) of the v2 format.
**Structure:**
```
main_directory/
βββ task_id/
βββ result.json
βββ trajectory/
βββ 0000.png
βββ 0001.png
βββ ...
```
**`result.json` format (v2):**
```json
{
"schema_version": "online-mind2web-v2",
"task": "Display the figure comparing unemployment trends among women in Illinois and Michigan.",
"task_id": "1b867afecf072cb877ebfa4069263746",
"agent_final_answer": "The figure is displayed on the current page.",
"reference_length": 12,
"action_history": [
{
"step": 0,
"screenshot": "0000.png",
"url": "https://example.com/",
"action": "page -> NAVIGATE -> Initial navigation to the provided URL",
"action_status": null,
"thought": "Navigating to initial URL that was provided."
},
{
"step": 1,
"screenshot": "0001.png",
"url": "https://example.com/data",
"action": "CLICK coords(902, 204) -> click the 'Explore Data' button | SUCCESS",
"action_status": "SUCCESS",
"thought": "Opening the Explore Data menu to find the target metric."
}
]
}
```
**`human_result.json` format:**
```json
[
{
"task_id": "abc123",
"task": "abc",
"human_label": 0 or 1 (failure or success)
},
{
"task_id": "def456",
"task": "def",
"human_label": 0 or 1 (failure or success)
}
]
```
Please email your agent's name, model family, and organization to xue.681@osu.edu, and include the trajectory directory and auto-eval results file as attachments (optional: human evaluation results).
"""
DATA_DATASET = """## More Statistics for Online-Mind2Web Benchmark
"""
def format_error(msg):
return f"{msg}
"
def format_warning(msg):
return f"{msg}
"
def format_log(msg):
return f"{msg}
"
def model_hyperlink(link, model_name):
return f'{model_name}'