openai-deep-research
SKILL.md
OpenAI Deep Research Skill
Browser automation for OpenAI's Deep Research feature.
Install
pip install playwright
playwright install chromium
Quick Start
# 1. First time: login and save session
python deep_research_browser.py --login
# 2. Run queries (can be headless after login)
python deep_research_browser.py "Your query" -o result.md --headless
Usage
Login Mode (First Time)
# Open browser for manual login, save session
python deep_research_browser.py --login
# Login with a named session (for parallel runs)
python deep_research_browser.py --login --session work
Query Mode
# Basic query
python deep_research_browser.py "What are the latest AI breakthroughs?" -o result.md
# Headless (after login)
python deep_research_browser.py "Your query" -o result.md --headless
# Read query from file
python deep_research_browser.py -f query.txt -o result.md
Parallel Runs
# Run multiple queries simultaneously with named sessions
python deep_research_browser.py "Query 1" -o r1.md --session work &
python deep_research_browser.py "Query 2" -o r2.md --session personal &
# List all saved sessions
python deep_research_browser.py --list-sessions
Options
positional arguments:
query Research query
options:
-h, --help Show help message
-f, --file FILE Read query from file
-o, --output FILE Save result to file
Session management:
--login Login mode: open browser, save session
--session NAME Session name for parallel runs (default: default)
--list-sessions List all saved sessions
Execution options:
-t, --timeout SECS Timeout (default: 2400 = 40min)
-s, --skip-model Skip Deep Research selection
--headless Run headless (requires prior login)
-v, --verbose Debug logging
How It Works
- Login mode: Opens visible browser for manual ChatGPT login, saves cookies
- Query mode: Loads saved session, selects Deep Research, submits query
- Waiting: Polls for completion (refreshes every 60s for background tasks)
- Output: Saves final report to file
Session Management
Sessions are stored in ~/.openai-deep-research/:
~/.openai-deep-research/
├── session_default.json # Default session
├── session_work.json # Named session "work"
└── session_personal.json # Named session "personal"
Each session has isolated cookies, allowing:
- Multiple ChatGPT accounts
- Parallel Deep Research queries
- No state file conflicts
Headless Mode
Headless mode works only after saving a valid session:
# This will fail (no session)
python deep_research_browser.py "Query" --headless # Falls back to visible
# This works
python deep_research_browser.py --login
python deep_research_browser.py "Query" --headless # Runs headless
If headless is requested without a saved session, the script:
- Warns the user
- Falls back to visible browser
- Saves the session for future headless runs
Timing
| Phase | Duration |
|---|---|
| First login | 1-2 min (manual) |
| Subsequent load | 5-10 sec |
| Deep Research | 10-30 min |
Troubleshooting
"Playwright not installed"
pip install playwright
playwright install chromium
"Headless mode without saved session"
Run --login first to save credentials:
python deep_research_browser.py --login
Session expired
Re-run --login to refresh the session:
python deep_research_browser.py --login --session default
Weekly Installs
3
Repository
wayfind/origin-taskFirst Seen
Jan 25, 2026
Security Audits
Installed on
opencode3
gemini-cli3
codex3
antigravity2
codebuddy2
windsurf2