# OpenApps **Repository Path**: mirrors_facebookresearch/OpenApps ## Basic Information - **Project Name**: OpenApps - **Description**: An open source environment for digital agents. - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-24 - **Last Updated**: 2025-09-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
# OpenApps *Building Blocks for Digital Agents Research*
## Install - Pre-requisite: install uv (a much faster pip): `pip install uv` (or from [source](https://docs.astral.sh/uv/getting-started/installation/)) - [if need be] Install python: `uv python install` 1) Install packages: `uv sync` 2) Activate environment: `source .venv/bin/activate` 3) Install `playwright install chromium`
Optionally install for onlineshop (Linux Only) (off by default) `Onlineshop java + spacy configuration` 4) Prepare Java, Webshop data and spacy model: `chmod +x setup.sh` and `./setup.sh` 5) Designate Java path: `source setup_javapath.sh` 6) Check `java -version` gives you `java version "21.0.1"` 7) Build search engine indexes: `chmod +x setup_pyserini.sh` and `./setup_pyserini.sh` **Congratulations! The onlineshop is ready to be used. Remember in future, always run `source setup_javapath.sh` to configure Java path before launching onlineshop-related tasks.** `Map planning usage` Prerequisite: Java 21. - Note. By default it is turned off (see `config/apps/maps/default.yaml`); if turned on, wait for ~30 seconds for the planner to run in the backend. 8) Navigate to map: `cd src/web_agent_playground/playground_server/map_app/` 9) Grant access and download necessary files: `chmod +x setup_planner.sh` and `./setup_planner.sh` Finally, launch with ``` uv run launch_experiment.py only_run_apps=True mode=aws_a100_cpu_only use_wandb=False apps.onlineshop.enable=True ```
To run any other commands: `uv run [any_script.py]`. ## Run OpenApps Simply run: ```bash uv run launch.py ``` Each app can be modified with variables available in `config/apps`. You can override any of these via command line: ```bash uv run launch.py app.todo.title='Super Todo' ``` #### App variations OpenApps comes with pre-defined variations that can affect the content and appearance of apps. For example, to launch apps with dark mode: ```bash export APPEARANCE="dark_theme" uv run launch.py apps/calendar/appearance=$APPEARANCE apps/maps/appearance=$APPEARANCE apps/start_page/appearance=$APPEARANCE apps/messenger/appearance=$APPEARANCE ``` To launch the apps with adversarial content: ```bash export CONTENT="adversarial_descriptions" uv run launch.py apps/calendar/content=$CONTENT apps/maps/content=$CONTENT apps/start_page/content=$CONTENT apps/messenger/content=$CONTENT apps/todo/content=$CONTENT apps/pop_ups=$CONTENT ``` Options: - content: `default, long_descriptions, german, misleading_descriptions` - appearance: `default, dark_theme, black_and_white, challenging_font` To launch popups, set `apps/pop_ups=adversarial_descriptions`. You can see the specific variables for each defined in the individual apps. For example, `config/apps/maps/appearance/dark_theme.yaml`. ## Testing Run all tests via: ```python uv run -m pytest tests/ ``` ## Attribution Our apps are built on top of several excellent frameworks: - FastHTML [framework](https://github.com/AnswerDotAI/fasthtml) and [examples](https://github.com/AnswerDotAI/fasthtml-example) which allowed us to build fully functional apps in Python, the language most familiar to AI researchers. - [Browser Gym](https://github.com/ServiceNow/BrowserGym/blob/main/LICENSE) and [AgentLab](https://github.com/ServiceNow/AgentLab/blob/main/LICENSE): - [Spacy](https://github.com/innoq/spacy/blob/main/LICENSE): for natural language processing - Open Street Maps: https://www.openstreetmap.org/copyright for our Maps apps. - (and for the optional webshop) we rely on [WebShop](https://github.com/princeton-nlp/WebShop/blob/master/LICENSE.md) developed by Princeton Some icons are have been designed using resources from Flaticon.com ## Legal Our work is licensed under CC-BY-NC, please refer to the [LICENSE](LICENSE) file in the top level directory. Copyright © Meta Platforms, Inc. See the [Terms of Use](https://opensource.fb.com/legal/terms/) and [Privacy Policy](https://opensource.fb.com/legal/privacy/) for this project.