A web interface for agentic browser automation. Chat-style input, visual timeline output.
A Bun-powered web app that lets you give natural language instructions to an AI agent that controls a real browser via browse. Think ChatGPT, but it actually goes and does things on the web.
Examples:
- "Research the latest pricing for Vercel, Netlify, and Cloudflare Pages and compare them"
- "Go to staging.example.com, log in, and test the checkout flow"
- "Run through the signup form and check for accessibility issues"
- "QA the landing page on mobile and desktop viewports"
┌──────────────────────────────────┐
│ Web UI │
│ - Chat input │
│ - Action timeline + screenshots │
├──────────────────────────────────┤
│ OpenCode (agent + LLM) │
│ - Interprets user intent │
│ - Decides which browse commands │
│ - Loops until task is complete │
├──────────────────────────────────┤
│ browse CLI → daemon → Playwright│
│ - Navigates, clicks, fills │
│ - Takes screenshots │
│ - Reads page content │
└──────────────────────────────────┘
- You type a prompt in the web UI
- The prompt is sent to an OpenCode session via the SDK
- OpenCode's agent calls
browsecommands through its bash tool, guided by the browse skill - Each action (navigation, click, screenshot, etc.) streams back to the UI as it happens
- The UI renders a visual timeline: screenshots, summaries, and status updates
- Runtime: Bun
- Backend:
Bun.serve()with WebSocket for live updates - Frontend: React, served via Bun HTML imports
- Agent: OpenCode SDK — manages sessions, tool calling, and event streaming
- Browser automation: browse (Playwright wrapper with persistent daemon)
bun install
bun run devEarly development. Not yet functional.