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
{{ message }}
Repository navigation
epic: one canonical AutoBot browser — unify stacks + full agent-browser feature set #12756
Converge AutoBot's browser automation into one canonical browser control plane that carries the full agent-browser feature set — and fully implement it. Today "browser control for AI agents" is spread across multiple, non-shared Playwright subsystems with real feature gaps. This umbrella tracks the convergence and the missing features, so there is exactly one Browser in AutoBot with all capabilities behind a single interface.
Sourced from a /research comparison against PinchTab (a Go browser-automation control plane for AI agents). PinchTab is not adopted as a product (Go vs Python; it would be a duplicate control plane) — this umbrella mines its proven patterns onto AutoBot's existing Playwright stack.
Current state (audit — file:line evidence)
There are two/three distinct, non-shared browser subsystems:
Live interactive browser — Node/Playwright autobot-browser-worker/ (one Chromium, one BrowserContext per chat session_id), driven by chat_workflow/tool_handler.py → api/browser_mcp.py.
Research browser — in-process Python Playwright autobot-backend/research_browser_manager.py (page snapshot / API intercept / scrape-template tools).
Canonical-coding discipline: collapse to ONE implementation, no _v2/variant browsers.
Done when
One Browser abstraction with pluggable in-proc/Docker execution; all agent + research + KB callers use it; the workstream/child boxes above are delivered with tests green; no second browser stack remains.
Goal
Converge AutoBot's browser automation into one canonical browser control plane that carries the full agent-browser feature set — and fully implement it. Today "browser control for AI agents" is spread across multiple, non-shared Playwright subsystems with real feature gaps. This umbrella tracks the convergence and the missing features, so there is exactly one Browser in AutoBot with all capabilities behind a single interface.
Sourced from a
/researchcomparison against PinchTab (a Go browser-automation control plane for AI agents). PinchTab is not adopted as a product (Go vs Python; it would be a duplicate control plane) — this umbrella mines its proven patterns onto AutoBot's existing Playwright stack.Current state (audit — file:line evidence)
There are two/three distinct, non-shared browser subsystems:
autobot-browser-worker/(one Chromium, oneBrowserContextper chatsession_id), driven bychat_workflow/tool_handler.py→api/browser_mcp.py.autobot-backend/research_browser_manager.py(page snapshot / API intercept / scrape-template tools).autobot-backend/services/playwright_service.py(web_fetch JS-render fallback).element-index.js:16-23explicitly notes the live and research stacks do not share code.What already works well (keep):
autobot-browser-worker/element-index.js:37-117).web_fetch/fetcher.py:345-420).autobot_shared/url_safety.py), enforced at every fetch primitive.agents/browser/captcha_solver.py).Workstreams
A. Canonical interface / consolidation
B. Navigate the real internet (existing epic, folds in here)
C. Perception + ergonomics (existing)
D. Wire the GUI (existing)
E. New gaps surfaced by the PinchTab research (children filed under this umbrella):
Non-goals / constraints
autobot-browser-worker/research_browser_manager/web_fetch/ Playwright, converged behind the tech-debt(backend): unify two Playwright browser stacks behind one interface #12651 interface._v2/variant browsers.Done when
One Browser abstraction with pluggable in-proc/Docker execution; all agent + research + KB callers use it; the workstream/child boxes above are delivered with tests green; no second browser stack remains.