openenv-emailops / README.md
Utkarsh430's picture
Update README.md
88f7703 verified
metadata
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

pip install -r requirements.txt

Running the Baseline Agent

You can test the environment against an OpenAI model (e.g., GPT-4o-mini).

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.

docker build -t openenv-emailops .
docker run -p 7860:7860 openenv-emailops

Go to http://localhost:7860 in your browser.