Skip to content

Usage

Basic usage (interactive chat interface)

Once installed and configured, start Agent-E from the project root:

bash
python -m ae.main

macOS users (avoids BlockingIOError Errno 35):

bash
python -u -m ae.main

After startup, a browser window opens and a chat-like icon appears. Click the icon to open the command interface. Type a natural language task and press Enter.

Example commands:

open youtube and search for funny cat videos
find iPhone 14 on Amazon and sort by best seller
go to espn and tell me the top soccer news headlines
fill out the contact form on example.com with my name and email

Agent-E plans the steps, executes them in the browser, and streams back what it did.


HTTP API usage (programmatic / headless)

Agent-E ships a FastAPI server. Start it with:

Linux / macOS:

bash
uvicorn ae.server.api_routes:app --reload --loop asyncio

Windows:

cmd
uvicorn ae.server.api_routes:app --loop asyncio

The server listens on http://127.0.0.1:8000 by default. Send tasks as POST requests:

bash
curl --location 'http://127.0.0.1:8000/execute_task' \
--header 'Content-Type: application/json' \
--data '{
    "command": "go to espn, look for soccer news, report the names of the most recent soccer champs"
}'

The response streams back the agent's actions and the final result as the task executes.


Custom skills

You can extend Agent-E with additional skills by pointing ADDITIONAL_SKILL_DIRS in .env to directories or .py files:

dotenv
ADDITIONAL_SKILL_DIRS="./private_skills,./extra_skills/my_custom_skill.py"

Skills are Python modules that Agent-E loads dynamically and makes available to the planner.


Notes on browser choice

  • Local Chrome (default): Set BROWSER_STORAGE_DIR to your Chrome profile path (find it at chrome://version/). Agent-E will use your real browser, including saved sessions and cookies.
  • Playwright (headless or headed): If you do not have Chrome installed, or want a clean isolated browser, install Playwright drivers (playwright install) and leave BROWSER_STORAGE_DIR unset.