Mirror GUI is a GUI simulator driven by large language models (LLMs), designed to test and evaluate AI agents interacting with a desktop-like environment. It simulates an Ubuntu-style desktop with application windows, UI elements and a file system so agents can perform GUI actions and researchers can analyze behavior and safety.
- Full desktop environment simulation: windows, UI elements and a simple file system.
- ReAct-based AI agents that reason and act using thought/action cycles.
- Flexible task definitions and scene generation.
- Concurrent execution for large-scale testing.
- Rich logging and interaction traces for analysis.
- Safety-oriented evaluation, including tests for deceptive popup dialogs.
See PROJECT_STRUCTURE.md for a detailed breakdown. Key folders:
src/— core implementation (simulator, agent, models, task generation, alignment tools)data/— example tasks, blueprints and logsscripts/— helper scripts
- Python 3.8+
- Access to an LLM API (configure API keys or endpoints in
src/utils/config.pyor via environment variables)
pip install -r requirements.txtEdit src/utils/config.py and fill MODELS_CONFIG with model names, base URLs and API keys, or provide the same values via environment variables.
python src/generation/pipeline_generator.pypython src/generation/batch.pyAlternatively, you can first generate task blueprints and then produce tasks from those blueprints:
python src/generation/pipeline_generator.py
python src/generation/batch.pyBoth the generation scripts and the runner support concurrent execution and can be run in parallel (multi-threaded) to speed up large-scale generation and evaluation.
python src/cli/main.py --task_dir data/tasks/generated_tasks --output_dir outputs/example --max_workers 1 --max_steps 15For more options run python src/cli/main.py -h.
This project is MIT-licensed — see LICENSE. Contributions are welcome via issues and pull requests.
- Zhang Wenqi — Lead developer
- Shen Yulin — Prompt engineering