How ashish797/gbrow works
Gbrow is a persistent, HTTP-controlled headless browser workstation for AI agents. The principal workflow is an agent sending an authenticated command to the server, which dispatches browser navigation or interaction, reads page content (especially as an accessibility snapshot with reusable refs), and returns structured results. Additional capabilities include tab and session management, screenshots/PDFs, CSS inspection and editing, and importing cookies from installed browsers. Edges are limited to relationships shown in README or sampled source/index; the sidebar agent is included, but its wiring was not verified.
Main entry points: server.ts HTTP server · browser-manager.ts Browser manager · write-commands.ts Navigation and interaction · read-commands.ts Page reading
Components 18
Server and session
- HTTP server
src/server.ts - Sidebar agent
src/sidebar-agent.ts
Browser operations
- Browser manager
src/browser-manager.ts - Navigation and interaction
src/write-commands.ts - Tabs and session tools
src/meta-commands.ts
Reading and inspection
- Page reading
src/read-commands.ts - Accessibility snapshots
src/snapshot.ts - CDP inspector
src/cdp-inspector.ts
Cookie integration
- Cookie picker routes
src/cookie-picker-routes.ts - Browser cookie import
src/cookie-import-browser.ts - Cookie picker UI
src/cookie-picker-ui.ts
Shared runtime
- Activity tracking
src/activity.ts - Event buffers
src/buffers.ts - Runtime configuration
src/config.ts - Navigation URL checks
src/url-validation.ts - Platform utilities
src/platform.ts
Other components
- AI agent
- Chromium browser
Connections 28
- AI agent → HTTP server: sends HTTP commands
README.md - HTTP server → Browser manager: dispatches browser work
src/server.ts - HTTP server → Page reading: dispatches reads
src/server.ts - HTTP server → Navigation and interaction: dispatches interactions
src/server.ts - HTTP server → Tabs and session tools: dispatches meta commands
src/server.ts - HTTP server → Accessibility snapshots: requests watch snapshots
src/server.ts - HTTP server → Cookie picker routes: routes cookie requests
src/server.ts - HTTP server → CDP inspector: runs inspection
src/server.ts - HTTP server → Runtime configuration: loads configuration
src/server.ts - Browser manager → Navigation URL checks: validates navigation
src/browser-manager.ts - Browser manager → Chromium browser: controls browser
README.md - Navigation and interaction → Browser manager: uses browser session
src/write-commands.ts - Navigation and interaction → Navigation URL checks: validates destinations
src/write-commands.ts - Navigation and interaction → Browser cookie import: imports cookies
src/write-commands.ts - Navigation and interaction → CDP inspector: undoes style edits
src/write-commands.ts - Page reading → Browser manager: reads browser session
src/read-commands.ts - Page reading → CDP inspector: inspects elements
src/read-commands.ts - Tabs and session tools → Browser manager: manages tabs and state
src/meta-commands.ts - Tabs and session tools → Accessibility snapshots: requests snapshots
src/meta-commands.ts - Tabs and session tools → Page reading: gets page text
src/meta-commands.ts - Accessibility snapshots → Browser manager: stores element refs
src/snapshot.ts - Cookie picker routes → Browser cookie import: lists and imports cookies
src/cookie-picker-routes.ts - Cookie picker routes → Cookie picker UI: serves picker UI
src/cookie-picker-routes.ts - Activity tracking → Event buffers: uses shared buffers
src/activity.ts - Page reading → Platform utilities: checks safe paths
src/read-commands.ts - Accessibility snapshots → Platform utilities: checks safe paths
src/snapshot.ts - Navigation and interaction → Platform utilities: checks safe paths
src/write-commands.ts - Sidebar agent → HTTP server: may integrate