Releases: detrin/brow
Releases · detrin/brow
v1.1.0
What's new
New CLI commands
brow network— inspect HTTP traffic captured during the session; filter by URL/type, exclude static assetsbrow fetch— make HTTP requests with or without browser cookies (cookie-sharing or clean httpx client)brow actions— view the action log with sequence numbers for every click, fill, navigate, etc.brow replay— execute YAML playbooks to replay recorded action sequencesbrow websocket— inspect captured WebSocket frames
Session instrumentation
- Sessions now track
network_requests,websocket_messages, andactionsstate automatically _log_action()instrumentation across click, fill, select, key, navigate, fetch, upload
Bug fixes
- Hash-routing fix in click handler:
wait_for_load_statewith 300ms timeout fallback prevents hangs on SPA hash navigation
Docs
- Migrated from MkDocs to Astro Starlight — faster, better search, nicer design
Benchmarks
- Added 6 new benchmark tasks (3 fixture + 3 live) across all 5 backends (22 tasks total)
- brow leads on success rate: 88% fixture, 82% overall
v1.0.3
Full Changelog: v1.0.2...v1.0.3
v1.0.2
What's Changed
Bug Fixes
- Surface API errors in CLI -- clean error messages instead of raw Python tracebacks
- Fix
fill --refargument parsing ----refno longer requires a positional SELECTOR argument - Fix
select --refsame issue
Features
- Add
--waitflag tobrow daemon start-- blocks until server is ready to accept connections
Details
- New
BrowAPIErrorexception class for structured error handling - Exit code 2 for API errors (vs 1 for user errors)
- Example:
brow session new --profile personalnow printsError (400): Profile 'personal' already in use by session 2instead of a traceback
Full Changelog: v1.0.1...v1.0.2
v1.0.1
What's Changed
Bug Fixes
- Handle SNAPSHOT_JS crashes on complex DOMs (e.g. GitHub pages) with three-layer error handling
Chores
- Bump version to 1.0.1
Full Changelog: v1.0.0...v1.0.1
v1.0.0
brow v1.0.0
Standalone Playwright CLI for agent browser automation. Launches a real Chromium instance with an agent-friendly API — structured commands for common actions, eval escape hatch for full power.
Highlights
- Ref-based element addressing — snapshot shows [N] refs for interactive elements, click/fill by ref
- Auto-snapshot on mutations — click, fill, select return updated page state automatically
- Smart snapshots — table-aware markdown, inline list compression, adaptive node caps
- Persistent profiles — survive logins across sessions
- State save/restore — snapshot and restore cookies, localStorage, sessionStorage
- Parallel tool execution — concurrent tool calls in agent loops
Benchmarks (vs playwright-cli and MCP Playwright)
| Metric | brow | playwright-cli | MCP Playwright |
|---|---|---|---|
| Avg tokens/task | 86K | 113K | 118K |
| Success rate | 69%% | 44%% | 38%% |
| Avg wall-clock | 33s | 44s | 50s |
brow uses 24%% fewer tokens, succeeds on 25%% more tasks, and runs 25%% faster than the next-best backend.
Install
brew tap detrin/tap && brew install brow
# or
pip install brow-cli && playwright install chromiumv0.1.4
v0.1.3
What's Changed
- Add screenshot resolution control (low/medium/high quality presets)
- Add retry logic and auto-wait for click/fill commands
- Add Pillow for image resizing to reduce token consumption
- Improve error messages with selector info and attempt counts
- Add agent skill installation instructions
- Restructure skill directory to
skills/brow/fornpx skills addCLI - Require Python 3.12+
Installation
Agent frameworks can now install the brow skill directly:
npx -y skills add detrin/brow
Full Changelog: https://github.com/detrin/brow/compare/v0.1.1...v0.1.3v0.1.2
What's Changed
- Added agent skill installation instructions
- Restructured skill directory to
skills/brow/for compatibility withnpx skills addCLI
Installation
Agent frameworks can now install the brow skill directly:
npx -y skills add detrin/browFull Changelog: v0.1.1...v0.1.2
v0.1.1
v0.1.0 - agentic browsing
brow v0.1.0
First release of brow - agentic browsing CLI.
Features
- FastAPI daemon with auto-start on localhost:19987
- Persistent Chromium profiles (login once, reuse forever)
- Full browser control: navigate, click, fill, type, screenshot, snapshot
- Accessibility tree snapshots (low-token page reading for agents)
- Eval escape hatch for arbitrary Playwright Python code
- Session and page management
- State save/restore for cookies and localStorage
Install
pip install brow-cli
playwright install chromium