You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Deep Research Browser Automation — Implementation Plan
Goal
Add ChatGPT Deep Research support to Oracle's browser automation engine, enabling users to trigger Deep Research from the CLI and receive structured research reports — all using their existing ChatGPT subscription (no API cost).
Motivation
ChatGPT Deep Research is a powerful autonomous research agent that browses the web for 5-30 minutes and produces comprehensive cited reports
OpenAI offers a Deep Research API (o3-deep-research, o4-mini-deep-research), but it costs ~$10/M input + $40/M output tokens per run
Users with ChatGPT Plus/Pro subscriptions already have Deep Research included — browser automation lets them use it programmatically at no extra cost
Oracle already has mature ChatGPT browser automation; extending it for Deep Research is a natural fit
Usage
# Basic Deep Research
oracle --deep-research -p "Research the latest trends in AI agent frameworks in 2026"# With file context
oracle --deep-research -p "Analyze this codebase architecture" --file "src/**/*.ts"# With custom timeout (default 40 minutes)
oracle --deep-research --timeout 60m -p "Comprehensive market analysis of EV industry"
Architecture Decision: Iframe Handling
The research plan confirmation UI renders in a cross-origin iframe (640x400px), making direct DOM manipulation from the main page impossible. Three options were evaluated:
Option
Approach
Complexity
Robustness
A. Wait for auto-confirm
Start button has ~60s countdown that auto-confirms
Low
High
B. CDP iframe targeting
Use Target.getTargets() to find iframe execution context
High
Medium
C. Coordinate-based clicking
Use Input.dispatchMouseEvent at computed coordinates
Medium
Low
Decision: Option A. The auto-confirm countdown eliminates the need to interact with the iframe at all. After detecting the iframe appears, simply wait ~70 seconds for auto-confirmation. This is the most robust approach and matches natural user behavior.