README.md
June 21, 2026 ยท View on GitHub
ย MacAgentBench: Benchmarking AI Agents on Real-World macOS Desktop
A comprehensive macOS benchmark for evaluating computer use agents.
676 tasks across 25 applications, deterministic rule-based evaluation,
fine-grained multi-checkpoint scoring, and support for 3 agent frameworks.
๐ Live Leaderboard Snapshot
See the full live leaderboard โ
๐ Overview
MacAgentBench is a comprehensive macOS agent benchmark with:
- 676 tasks across 25 applications
- Deterministic rule-based evaluation with fine-grained multi-checkpoint scoring
- 3 agent frameworks (Baseline, Agent-S3, OpenClaw) and 16+ models evaluated
- Containerized execution โ each task runs in an independent Docker container
๐ Key Results
| Framework | Best Model | Pass@1 |
|---|---|---|
| OpenClaw | Claude Opus 4.6 | 73.7% |
| Agent-S3 | Claude Opus 4.6 | 66.9% |
| Baseline | Claude Opus 4.6 | 39.2% |
๐ Quick Start
1. Set Up the Environment
Download the macOS VM image (~50GB):
pip install huggingface_hub
huggingface-cli download JetLM/OpenClaw-macOS --local-dir .
Install dependencies:
pip install -r requirements.txt
Start the macOS Docker container:
bash launcher/docker/simple_start.sh
Connect via VNC:
vncviewer localhost:5901
2. Run Evaluation
- Configure your model API in
run_example.sh - Run:
bash run_example.sh
For specific models with parallel dispatch, see scripts in scripts/run_*.sh.
Supported Model Types
| Model Type | Examples |
|---|---|
gpt | GPT-5.4, Gemini 3.1 Pro |
claude | Claude Opus 4.6 |
qwen3vl | Qwen3-VL-8B/32B |
InternVL | InternVL3.5-8B/14B |
scalecua | ScaleCUA-7B/32B |
uitars | UI-TARS-7B/72B |
guiowl | GUI-Owl-1.5-8B/32B |
OpenCUA | OpenCUA-7B/32B |
openclaw | Any model via OpenClaw framework |
๐ Project Structure
MacAgentBench/
โโโ tasks/ # 676 task definitions (JSON)
โ โโโ multi_app/ # 140 cross-application tasks
โ โโโ new_reminders/ # Reminders app tasks
โ โโโ ... # 25 application domains
โโโ mm_agents/ # Agent implementations
โ โโโ agent.py # PromptAgent (GPT/Claude/Gemini)
โ โโโ anthropic/ # Claude Computer Use agent
โ โโโ qwen3vl_agent.py # Qwen3-VL agent
โ โโโ guiowl_agent.py # GUI-Owl agent
โ โโโ opencua/ # OpenCUA agent
โ โโโ internvl_agent.py # InternVL / ScaleCUA agent
โ โโโ uitars_agent.py # UI-TARS agent
โ โโโ openclaw_agent.py # OpenClaw framework agent
โโโ evaluators/ # Rule-based evaluation functions
โโโ controllers/ # macOS VM environment control
โโโ Agent-S3/ # Agent-S3 framework integration
โโโ parallel_dispatch.py # Dynamic task-level parallel dispatch
โโโ batch_run.py # Core evaluation runner
โโโ run_example.sh # Example evaluation script
โโโ scripts/ # Run scripts & metric computation
โโโ run_*.sh # Model-specific evaluation scripts
โโโ calc_metrics.py # Pass@1/k/^k computation
โโโ calc_fine_eval_table.py # Fine-grained evaluation
โโโ calc_skill_table.py # Skill coverage analysis
โโโ calc_per_category.py # Per-category breakdown
๐ Contribution Guide
We warmly welcome contributions! Here's how you can help:
- Add new models โ Integrate and test new agent models
- Add new tasks โ Submit macOS tasks that reflect real-world scenarios
- Improve evaluators โ Write verification scripts for new task types
- Report issues โ Open an Issue to discuss bugs or ideas
To contribute: fork the repo, make changes in a separate branch, and submit a Pull Request.
โค Acknowledgments
We thank the following projects:
๐ฌ Contact
If you have questions or would like to collaborate, please contact us at:
-
Yikun Fu, Shanghai AI Laboratory ๐ง fuyikun123456@163.com
-
Bowen Fu, XJTU ๐ง HappyBug@stu.xjtu.edu.cn
-
Biqing Qi, Shanghai AI Laboratory ๐ง qibiqing@pjlab.org.cn