brw v0.2.0
brw v0.2.0
A semantic-browser-control release focused on making the tool faster, more
accurate, and easier for small models to use — plus forward-looking WebMCP
and an opt-in navigation guardrail.
The Chrome extension/plugin is unchanged and stays at 0.1.0. Only the
daemon bumps to 0.2.0.
Small-model ergonomics
- Actionable error recovery —
ref not found/not actionablenow tell the
model to re-snapshot or inspect, instead of dead-ending. brw_observein thecoretool profile — the cheap "what changed" check is
now in the lean surface.brwd --print-system-prompt+docs/agent-guide.md— an opinionated,
token-efficient operating loop to prepend to an agent's system prompt.brw_snapshot format:"compact"— one terse line per element
(e17 button "Submit") instead of JSON; markedly fewer tokens, same refs.
Accuracy / coverage
- Closed shadow DOM piercing — closed-root web components (many design
systems) now show up as normal refs (document-start + in-walker install). - Cross-origin iframe signal — unreachable cross-origin frames are surfaced in
metadata.cross_origin_frames(box + origin) so the agent falls back to
brw_screenshot+brw_click_xyinstead of going blind.
Forward-looking / safety
- WebMCP (
--enable-webmcp) — brw acts as the agent-side
navigator.modelContextruntime;brw_page_toolslists and
brw_call_page_toolinvokes a cooperating site's declared tools. - Navigation guardrail (
--blocked-domains/--allowed-domains) — gates
brw_open/brw_open_incognito/brw_replay_requestso a prompt-injected
agent cannot steer the browser off-limits. Opt-in, off by default.
Full test suite green (incl. headless-Chrome integration tests for shadow,
cross-origin, and WebMCP).