Skip to content

Repository files navigation

TODOforAI Benchmarks

Benchmarks for evaluating the TODOforAI agent: terminal tasks and web browsing.

Terminal-Bench 2.1

Run Pass Cost (promo / list) Results
GPT-5.6 Sol (xhigh), review off 71/89 = 79.8% $46.87 / ~$89.6 sheet
same + Claude Opus 5 review sub-agent 73/89 = 82.0% $134.51 / $188.33 sheet

Own harness, one sweep, infrastructure-damaged tasks replaced by their rerun. Not a tbench.ai leaderboard submission and not scored by its rules. Methodology: https://todofor.ai/blog/terminal-bench-2-1-methodology · adapter: terminal-bench/

Structure

benchmarks/
├── adapter/             # TODOforAI adapter for running benchmarks
│   ├── mind2web_adapter.py  # Core library
│   ├── cli.py               # CLI for managing tasks
│   └── run_benchmark.py     # Runner for todoai
├── online-mind2web/     # Online-Mind2Web benchmark (OSU-NLP-Group)
├── common/              # Shared evaluation utilities
│   ├── metrics/         # Common metrics calculations
│   └── reporting/       # Report generation tools
└── results/             # Our system's benchmark results

Benchmarks

Online-Mind2Web

A benchmark for evaluating web agents on live websites with 300 tasks across 136 websites.

Key Features:

  • 300 diverse tasks across 136 real websites
  • WebJudge evaluation (85.7% agreement with humans)
  • Domains: shopping, reservations, financial, information lookup

Setup:

cd online-mind2web
conda create -n Online_Mind2Web python=3.11
conda activate Online_Mind2Web
pip install -r requirements.txt

# Download data from original repository (not included due to size ~5.4GB)
# Option 1: Clone data from original repo
git clone --depth 1 --filter=blob:none --sparse https://github.com/OSU-NLP-Group/Online-Mind2Web.git temp_data
cd temp_data && git sparse-checkout set data && cd ..
mv temp_data/data . && rm -rf temp_data

# Option 2: Download from HuggingFace datasets
# See: https://huggingface.co/datasets/osunlp/Online-Mind2Web

Running the benchmark:

bash ./script/eval.sh

TODOforAI Adapter

The adapter/ folder contains our integration for running TODOforAI agents against the benchmark.

Quick Start

from adapter import Mind2WebBenchmark, TaskRunner

# Load benchmark (300 tasks)
benchmark = Mind2WebBenchmark()

# Run your agent on each task
for task in benchmark.tasks:
    runner = benchmark.create_runner(task)

    # Your agent loop
    runner.screenshot(browser.screenshot())  # Initial state

    while not done:
        thought = your_agent.think(state)
        runner.add_thought(thought)

        action = your_agent.act(thought)
        runner.add_action(action)

        browser.execute(action)
        runner.screenshot(browser.screenshot())

    runner.complete(status="success", final_response="Task completed...")

# Run WebJudge evaluation
benchmark.evaluate(model="gpt-4o-mini")

CLI Commands

# List tasks
python adapter/cli.py list

# Show task details
python adapter/cli.py show TASK_ID

# Check completion status
python adapter/cli.py status

# Run evaluation
python adapter/cli.py eval --api-key YOUR_KEY

# Export tasks
python adapter/cli.py export --format json

Run with todoai

# Run all tasks
python adapter/run_benchmark.py

# Run first 5 tasks
python adapter/run_benchmark.py --limit 5 -y

# Resume incomplete tasks
python adapter/run_benchmark.py --resume

Results

Our benchmark results will be stored in the results/ directory with timestamps and configuration details.

Related Projects

License

  • Online-Mind2Web dataset: CC-BY-4.0
  • Online-Mind2Web code: MIT
  • Our additions: MIT

About

Benchmarks for evaluating TodoForAI browsing agents - includes Online-Mind2Web and custom evaluation tools

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages