A community-driven registry for Claude, Cursor, Windsurf, Cline & more. Not affiliated with Anthropic.
Are you the author? Sign in to claim
Official implementation of the paper: "Avenir-Web: Human-Experience-Imitating Multimodal Web Agents with Mixture of Grou
Princeton AI for Accelerating Invention Lab
Authors: Aiden Yiliu Li, Xinyue Hao, Shilong Liu, Mengdi Wang
Avenir-Web is an autonomous web agent framework designed for reliable execution of long-horizon tasks on complex, dynamic web interfaces. Addressing challenges in element grounding and long-term task tracking, it introduces a modular architecture combining Mixture of Grounding Experts (MoGE), Experience-Imitation Planning (EIP), and Adaptive Memory with Task-Tracking Checklists. This approach establishes a new open-source state-of-the-art on the Online-Mind2Web benchmark, bridging the performance gap with proprietary models in real-world deployments.
SKILL.md to define the Avenir-Web agent skill workflow (mode selection, instruction design, single/batch execution, API requirements, and reporting contract).Requirements:
3.11 (recommended; >=3.9 supported)From the repository root:
conda create -n avenir-web python=3.11
conda activate avenir-web
pip install -e src
python -m playwright install chromium
Recommended (environment variable):
export OPENROUTER_API_KEY="your-key"
Or set it in src/config/batch_experiment.toml under [api_keys] (openrouter_api_key = "..."). Environment variables take precedence.
The example configuration runs a batch from data/example.json and writes artifacts to the directory configured by basic.save_file_dir in src/config/batch_experiment.toml.
cd src
python run_agent.py -c config/batch_experiment.toml
From the repository root:
python example.py --task "Find the official API docs for X" --website "https://example.com/"
This repository now includes a dedicated skill specification at SKILL.md.
The skill defines how an agent should:
headless, headed, demo)OPENROUTER_API_KEY first, TOML fallback)If you are using an agentic coding assistant that supports skills, point it to this file as the canonical operating guide for Avenir-Web runs.
Avenir-Web features a specialized Demo Mode designed for high-quality screen recordings and live presentations. When enabled, the agent provides:
Watch Avenir-Web in action: YouTube Demo
To enable Demo Mode, ensure browser.mode = "demo" is set in your configuration.
For each task, outputs are written under basic.save_file_dir/<task_id>/ (configured in TOML):
agent.log: per-task execution logresult.json: final summaryconfig.toml: resolved config snapshotllm_records.json: recorded LLM I/Oscreenshots/: screen_<step>.pngRunner-level logs are written under src/logs/.
The primary configuration entry point is src/config/batch_experiment.toml:
[basic]: output directory (save_file_dir)[model]: model name, temperature, and (optional) specialist models (e.g., checklist/strategist)[api_keys]: API keys (environment variables still take precedence)[experiment]: task file path, overwrite policy, max operations[playwright]: headless/headful, viewport, geolocationOPENROUTER_API_KEY (preferred) or configure [api_keys]python -m playwright install chromiumsrc/ or pass an absolute path to -cThis project was developed with support from Princeton AI for Accelerating Invention Lab.
This repository is provided for research use. Model outputs may be incorrect, incomplete, or unsafe; you are responsible for reviewing actions and complying with applicable laws and website terms of service when running web automation.
This project is licensed under the Apache License 2.0 - see the LICENSE.txt file for details.
Copyright © 2026 Princeton AI for Accelerating Invention Lab. All rights reserved.
💻 A curated list of papers and resources for multi-modal Graphical User Interface (GUI) agents.
An AI-powered custom node for ComfyUI designed to enhance workflow automation and provide intelligent assistance
Deterministic multi-agent pipeline for end-to-end software development, orchestrating CLI-based AI tools (e.g. Gemini, C
Pocket Flow: Codebase to Tutorial