Skip to content

Latest commit

 

History

24 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

abx

Fast headless browser for AI coding agents. A persistent Bun daemon over Playwright Chromium, driven by a terse CLI — navigate, read, click, snapshot, screenshot, and replay, with state held across calls so each command is a single fast round-trip.

abx is one corner of an agent fleet alongside vmlab (cross-OS orchestrator) and guiport (native desktop driver). vmlab's abx transport drives this for web verification.

Install

# Homebrew (recommended) — universal binary, auto-updates with `brew upgrade`
brew install edihasaj/abx/abx

# fetch the Chromium build abx drives (one-time)
abx install-browser

install-browser shells out to bunx/npx to run Playwright's own installer. No Node/Bun on the machine? Either install one (brew install bun) and re-run, or point abx at an existing browser:

export ABX_CHROMIUM_PATH="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"

From source:

git clone https://github.com/edihasaj/abx && cd abx
bun install && bun run build      # → dist/abx

On Windows, install Bun and Node.js first, then build dist/abx.exe, dist/abx-server.js, and dist/live.mjs. The CLI launches the server bundle through Bun in a detached process so browser state survives the invoking shell.

Quickstart

abx goto https://example.com      # navigate (server starts on first call)
abx text                          # page text
abx snapshot -i                   # interactive elements with @ref handles
abx click @e3                     # act on a ref
abx screenshot shot.png           # capture
abx stop                          # shut the daemon down

State (current page, cookies, tabs) persists between calls via the background server, so multi-step flows don't re-launch the browser each time.

Commands

Group Commands
Navigation goto <url> · back · forward · reload · url
Content text · html [sel] · links · forms · accessibility
Interaction click · fill · select · hover · type · press · scroll · wait · viewport · upload
Inspection js · eval · css · attrs · console · network · dialog · cookies · storage · perf · is
Visual screenshot · pdf · responsive
Snapshot snapshot [-i] [-c] [-d N] [-s sel] [-D] [-a] [-C] · diff <url1> <url2>
Tabs tabs · tab <id> · newtab [url] · closetab [id]
Live Chrome live <cmd> — drive your real Chrome over CDP (:9222)
Server status · stop · restart · useragent · header · cookie

Run abx --help for the full surface, or abx --version for the build.

After snapshot, elements get @e1, @e2… handles usable as selectors (click @e3, fill @e4 "value"). -C surfaces non-ARIA clickables as @c1

Live Chrome

abx live <cmd> drives your real, logged-in Chrome over the DevTools protocol (port 9222) instead of the headless Chromium — useful for authenticated sessions. Start Chrome with remote debugging first (see scripts/). Live mode supports tab creation with abx live newtab [url]; the new tab becomes the target of the next live command.

Configuration

  • ABX_CHROMIUM_PATH — launch a specific Chromium/Chrome binary instead of Playwright's download.
  • PLAYWRIGHT_BROWSERS_PATH — where the Chromium build lives (Playwright default).
  • --proxy <url> / --headed — per-invocation global flags.

License

MIT. See LICENSE.

Author: Edi Hasaj.

About

Fast headless browser for AI coding agents — Playwright-backed, CLI-first.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages