This project automates US university applications using Playwright and AI services.
Refer to plan.md for the detailed requirements in Chinese.
MailReceiver lives under src/modules/mail_receivers/ and exposes multiple backends. Each backend has its own file (e.g. pop3_client.py, tempmail_client.py). Configure the provider and credentials in config/config.yaml and .env.
The knowledge base module uses a Qdrant vector database (see docker-compose.yml).
The project integrates the browser-use package to control the browser with GPT‑4o.
GPTBrowserHandler in src/modules/gpt_browser_handler.py exposes a simple interface:
from modules.gpt_browser_handler import GPTBrowserHandler
handler = GPTBrowserHandler()
handler.run_sync("Open example.edu and take a screenshot")AIHandler in src/modules/ai_handler.py now uses
LiteLLM to access different language
models (OpenAI, Claude, Gemini, OpenRouter, DeepSeek, etc.). Methods like
generate_text() and generate_embedding() automatically retry on failures.
Orchestrator maintains an in-memory history of executed steps. Each run
generates a small plan using a lightweight model, then executes the steps
(open the target URL, ask a larger model to draft an essay, take a screenshot).
Models are selected automatically based on task complexity and context size.
The context can be retrieved using get_context() for later processing.