Browser hands for AI agents.

Real Chrome tabs. Real ChatGPT / Gemini / Grok web sessions. Short-lived commands, durable session ids, zero MCP server.

AGBROWSE CDP :9222
$ agbrowse start --headed
chrome attached · 4 tabs
$ agbrowse web-ai send --vendor chatgpt \
  --model pro --inline-only \
  --prompt "Research and cite sources."
session s_9f2e41 · STREAMING
$ agbrowse web-ai poll --session s_9f2e41 --timeout 1800
done · answer → result.md · 2,914 words
3 vendors, one CLI 0 MCP servers required durable session ids zip code artifacts

ChatGPT

pro · thinking · code-mode · zip artifacts

chatgpt.comtab #3
$ agbrowse web-ai send \
  --vendor chatgpt --model pro \
  --inline-only \
  --prompt "Create a Flask MVP."
session s_9f2e41 · streaming

Gemini

deep-think · durable poll · inline uploads

gemini.google.comtab #5
$ agbrowse web-ai send \
  --vendor gemini \
  --inline-only \
  --prompt "Analyze this codebase."
session s_b81c07 · queued

Grok

expert mode · web UI exec · markdown capture

grok.comtab #7
$ agbrowse web-ai send \
  --vendor grok \
  --inline-only \
  --prompt "Summarize this repo."
session s_4d90aa · queued

Observe before acting.

01

Observe

Snapshot real tabs: agbrowse snapshot --interactive returns stable refs, console output, and network state.

02

Act

Send prompts to any vendor: web-ai send --vendor grok returns a session id that outlives your shell.

03

Collect

Poll results, screenshots, traces, and ChatGPT code zips: web-ai poll · code-extract.

Generate first, recover later.

Start with web-ai code for a new build. Use code-extract later when the original ChatGPT conversation is still accessible and already contains /mnt/data/*.zip artifacts.

CODE ARTIFACTSzip
$ agbrowse web-ai code \
  --vendor chatgpt \
  --model thinking --effort standard \
  --prompt "Create a Flask MVP." \
  --output-zip ./result.zip
DOWNLOAD: result.zip (sandbox:/mnt/data/result.zip)
 
$ agbrowse web-ai code-extract \
  --vendor chatgpt \
  --url "https://chatgpt.com/c/<id>" \
  --output-zip ./result.zip
extracted 12 files · unzip -t OK

Release gates are explicit.