--- license: apache-2.0 title: OpenEnv EmailOps sdk: docker emoji: 💻 colorFrom: blue colorTo: indigo pinned: false short_description: 'A complete, real-world OpenEnv simulation for email ' --- # OpenEnv - Email Triage & Operations (EmailOps) This repository contains a real-world task simulation environment for AI agents built according to the **OpenEnv specification**. The environment simulates a mock email inbox where agents perform triage capabilities including moving emails, reading, replying, deleting, and flagging. This is explicitly a **non-toy, real-world task design**, mirroring workflows that humans complete in corporate business operations or customer support roles. ## Architecture * **Framework Support:** OpenEnv (Python 3.10+) * **Typing Interface:** Pydantic (Strong contracts via `Observation`, `Action`, and `RewardInfo`) * **Deployment:** Hugging Face Spaces Docker / Gradio UI ## Task Scenarios (Easy, Medium, Hard) The environment supports deterministic tasks with partial progression signals: 1. **Easy (`easy`)**: Move the email with the subject "Invoice" to the "Finance" folder. (Score: 0.0 or 1.0) 2. **Medium (`medium`)**: Find the unread email from the boss, read it, and reply with "Will do.". (Partial reward given for reading the email). 3. **Hard (`hard`)**: Inbox Triage. Agent must delete all spam (from `spam@scam.com`), move Support emails to the 'Support' folder, and flag any email with 'Urgent' in the subject. Includes a severe penalty for deleting non-spam emails (e.g., boss emails). ## Action Space The action space consists of strongly typed functions: - `open_email(email_id)` - `close_email()` - `move_email(email_id, folder_name)` - `reply(email_id, reply_body)` - `delete_email(email_id)` - `flag_email(email_id)` - `submit()` ## Observation Space The observation space exposes: - **`inbox_summary`**: A view of the emails situated in the *current viewed folder* (list of ids, senders, subjects, unread status). - **`current_folder`**: String representing currently focused folder. - **`opened_email`**: The full content of an email, if currently open. - **`last_action_status`**: Feedback from the previous step. ## Setup Instructions ### Local Development ```bash pip install -r requirements.txt ``` ### Running the Baseline Agent You can test the environment against an OpenAI model (e.g., GPT-4o-mini). ```bash export OPENAI_API_KEY="sk-..." python inference.py --model gpt-4o-mini ``` The script will sequentially invoke the `easy`, `medium`, and `hard` tasks. ### Running with Docker / HF Spaces This environment is containerized for Hugging Face Spaces using the Gradio interactive interface wrapper. ```bash docker build -t openenv-emailops . docker run -p 7860:7860 openenv-emailops ``` Go to `http://localhost:7860` in your browser.