Data & Analysis ✓ Microsoft · Official windows-11desktop-benchmarkingmultimodal-evaluationazure-machine-learningdockeromniparserqemu

Windows Agent Arena

Benchmark multimodal desktop agents in a reproducible Windows 11 environment, locally or at Azure ML scale.

FollowAgents review · FARS-2.1
Not recommended
35/ 100 5-point scale 1.8 / 5
1 2 3 4 5 6
Per-dimension scores and reasoning
1Trust0 / 29 · 0.0/5

Evidence shows: repository from Microsoft official organization, but no specific implementation or documentation for least privilege, user confirmation, data flow transparency, sensitive data handling, dependency security, external effects, rollback, or source attribution. Deductions: these criteria are not supported in static review, hence score 0.

2Reliability3 / 14 · 1.1/5

Evidence shows: README and config files provide installation and run steps, but no documentation for error handling or failure messages. Deductions: self-consistency partially supported (steps consistent), dependency availability partially supported (dependencies listed), but failure messages missing.

3Adaptability9 / 18 · 2.5/5

Evidence shows: README clearly targets researchers and developers, provides local and Azure deployment scenarios, and explains capability boundaries (e.g., BYOA). Deductions: trigger precision (e.g., command parameters) partially supported, but not all boundary conditions detailed.

4Convention10 / 18 · 2.8/5

Evidence shows: README has clear structure, includes installation notes, examples, FAQ, known limitations (e.g., KVM requirement), MIT license, version update log (updates section), and maintenance responsibility (contribution guide). Deductions: naming stability not explicit, version changelog incomplete.

5Effectiveness9 / 13 · 3.5/5

Evidence shows: README provides output result display method (show_results.py), and explains marginal value (e.g., parallelization) and cost-benefit (cost table in FAQ). Deductions: these are static descriptions, not verified by actual runs.

6Verifiability4 / 8 · 2.5/5

Evidence shows: README cites paper and project page, providing traceable claims. Deductions: cross-source corroboration limited, fact-inference separation unclear.

Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision 6d39ed88c545
Safety controls not found in source: least-privilege scoping, confirmation before acting, data-flow disclosure, sensitive-data handling, dependency security, disclosed external effects, rollback or recovery path, verifiable attribution
Before you use it
  • Static review cannot verify actual runtime performance; all claims about performance, cost, and security need independent verification.
  • The repository does not provide security details like least privilege or data flow transparency; users must assess risks themselves during deployment.
  • Availability and security of dependencies (e.g., Docker, Azure) need user confirmation.
Review evidence [1][2][3][4][5][6]
See the full review method →

What does this agent do, and when should you use it?

Windows Agent Arena (WAA) is a Windows platform for testing and benchmarking multimodal desktop AI agents. It is built around a Docker-hosted Windows 11 VM and a golden snapshot; a Python server inside the VM receives and executes agent commands. The repository includes the Navi baseline agent, with screen-element detection modes using Omniparser, accessibility trees, WebParse, GroundingDINO, and TesseractOCR. Evaluations can run locally on WSL or Linux, or be parallelized through Azure Machine Learning compute instances. Local results can be displayed with `show_results.py`, while downloaded Azure outputs can be summarized as a Markdown table with `show_azure.py`.

It builds windowsarena/winarena:latest with scripts/build-container-image.sh, then uses scripts/run-local.sh --prepare-image true to prepare a Windows 11 golden image containing required programs and the Windows-side Python command server. Running ./run-local.sh evaluates Navi on benchmark tasks; --som-origin supports mixed-omni, omni, oss, a11y, and mixed-oss, while --a11y-backend supports uia and win32. For cloud runs, scripts/run_azure.py reads experiments.json, creates Azure Compute Instance VMs for unfinished experiments, launches one ML Training Job per VM, and disposes the VMs after completion. Bring-your-own agents belong under src/win-arena-container/client/mm_agents and must implement predict() and reset() in agent.py.

  1. A desktop-agent researcher who needs repeatable comparisons across Windows benchmark tasks and screen-understanding configurations.
  2. A developer with Docker and WSL or Linux who wants to run the Navi baseline on a local Windows VM.
  3. An Azure ML team that needs to distribute a full benchmark across multiple workers to reduce turnaround time.
  4. An agent developer who wants to plug a custom desktop agent into an existing evaluation environment by implementing predict() and reset().
  5. A research group comparing Omniparser, accessibility-tree, and OSS detection combinations on Windows GUI tasks.

What are this agent's strengths and limitations?

Pros
  • Provides a repeatable Windows 11 evaluation environment through a golden image, Docker container, and an in-VM command server.
  • Supports Azure ML multi-worker execution; the documentation describes reducing results for hundreds of tasks from days to minutes.
  • Navi exposes several concrete screen-understanding combinations, including a mixed Omniparser and UIA accessibility-tree mode.
  • Supports bring-your-own agents through a documented agent.py contract requiring predict() and reset().
Limitations
  • Initial local setup requires an approximately 6GB Windows 11 ISO and produces an approximately 30GB golden image; automated preparation takes about 20 minutes.
  • Operation depends on Docker, Python 3.9, OpenAI or Azure OpenAI credentials, and a local WSL or Linux deployment path.
  • Azure parallel deployment requires an Azure subscription, Azure ML workspace, storage account, and compute that supports nested virtualization.
  • The documentation warns that disabling KVM acceleration causes performance issues and is not recommended for local benchmark runs.

How do you install or deploy this agent?

Prerequisites are a running Docker daemon, Python 3.9, and an OpenAI or Azure OpenAI API key. Clone and install dependencies: git clone https://github.com/microsoft/WindowsAgentArena.git, cd WindowsAgentArena, and pip install -r requirements.txt. Create config.json at the repository root with OPENAI_API_KEY, or with AZURE_API_KEY and AZURE_ENDPOINT. Run docker pull windowsarena/winarena-base:latest, then from scripts run ./build-container-image.sh. Download the Windows 11 Enterprise Evaluation ISO (90-day, English/United States), rename it to setup.iso, place it in src/win-arena-container/vm/image, and run ./run-local.sh --prepare-image true to prepare the golden image.

How do you use this agent?

After preparing the golden image, run ./run-local.sh from scripts; the running Windows VM is visible at http://localhost:8006. For the configuration identified as best-performing in the documentation, run ./run-local.sh --gpu-enabled true --som-origin mixed-omni --a11y-backend uia. When the local run finishes, go to src/win-arena-container/client and run python show_results.py --result_dir <path_to_results_folder>. For Azure parallel execution, add AZURE_SUBSCRIPTION_ID, AZURE_ML_RESOURCE_GROUP, and AZURE_ML_WORKSPACE_NAME to config.json, configure experiments.json, then run python run_azure.py --experiments_json "experiments.json".

How does this agent compare with similar options?

WAA uses the original benchmark task framework from OSWorld and Docker infrastructure from Dockur. Its distinct documented role is a Windows-focused, scalable desktop-agent evaluation path with Azure ML parallel execution.

FAQ

What resources are needed for the first local run?
You need a Windows 11 Enterprise Evaluation ISO of about 6GB, and setup creates an approximately 30GB WAA golden image. The default local QEMU VM uses 8GB RAM and 8 CPU cores, adjustable with --ram-size and --cpu-cores.
Is Azure required?
No. The repository documents local deployment on WSL or Linux. Azure ML is the option for parallelizing full benchmark execution across workers.
Which model credentials are required?
The configuration requires either an OpenAI API key or an Azure OpenAI API key and endpoint. The example experiment names gpt-4-1106-vision-preview.
Can I evaluate my own agent?
Yes. Create an agent folder under src/win-arena-container/client/mm_agents and ensure its agent.py implements predict() and reset().

Related agents