Releases: darkamenosa/realbrowser
Releases · darkamenosa/realbrowser
realbrowser 0.3.0
This release moves Realbrowser from 0.2.1 to 0.3.0. The release goal is
Claude Code support, faster and lower-token browsing, and a more stable plugin
runtime across macOS, Linux, and Windows.
Added:
- Claude Code plugin support via
.claude-plugin/plugin.json. - Claude Code skill layout under
skills/realbrowser/, with the CLI, wrappers,
skill instructions, and references colocated for plugin discovery. - Portable launch wrappers for macOS/Linux shells, Windows
cmd.exe, and
PowerShell. read tree: compact ARIA accessibility tree via CDP with refs for actions.
Use--interactive/-i,--compact/-c,--depth/-d,--diff/-D,
and--selectorto keep reads bounded.- Task and session tab registries so agents reuse one same-origin tab instead
of creating duplicate tabs after a failed action or across nested sessions. tab doneandtab close --minecleanup paths that only touch agent-owned
tabs.action scroll,read autocomplete, andread overlayfor generic browsing
flows that need scroll containers, transient UI, or overlay diagnostics.- Cross-platform focus capture/restore for explicit stopped-profile launches:
macOS via AppleScript, Linux viaxdotoolwhen present, and Windows via
PowerShell. - Windows process-tree cleanup for anonymous browser sessions.
Changed:
- The runtime version is now
0.3.0everywhere. - Browsing guidance is target-first and site-agnostic: acquire one target, read
compact state, act once, and verify with a diff or page wait. SKILL.mdstays concise and delegates command/reference detail to files under
references/.read tree -i -cis the default interaction reader; broad HTML, full-page
screenshots, and large body dumps are fallback/debug tools.- Large reads, network bodies, HAR files, screenshots, and traces are directed
to--outso local tools can inspect them without spending model context. tab ensure --backgrounduses only background-safe CDP/browser paths. It now
probes live browserContextIds withchrome://version, closes mismatches, and
refuses OS Chrome launch for already-running browser-scoped profiles.- Signed-in profile handling prefers direct
DevToolsActivePortWebSocket
reuse to avoid repeated Chrome approval prompts. - Profile ownership is monotonic once proven, preventing later label/cache
writes from downgrading a verified tab. - Profile routing uses
chrome://versionProfile Path readback when profile
ownership is not otherwise proven. Wrong-profile or unverifiable probe tabs
are closed before the requested URL is loaded. - Session-registry hits are reusable but not automatically considered
mine,
so cleanup commands do not close sibling task tabs. - Health checks report stale/dead CDP sockets accurately so callers can restart
the daemon instead of timing out repeatedly. - Help and workflow examples use neutral hosts and labels such as
example.com,app.example,app, andproject-a.
Fixed:
wait ready --screenshot <path>no longer treats the output path as a CSS
selector.action state --root <ref>resolves ref-based and CSS roots instead of always
falling back to the active root.- ARIA refs are assigned from finalized nodes, preventing ref mismatch when CDP
backend-id pushes partially fail. - ARIA role matching no longer misclassifies roles such as
tabpaneland
tablist. action submit,action click,action hover,action fill, and
action selectargument validation accepts explicit--refwhere supported.- Screenshot sizing env parsing no longer parses the same env var twice.
readTargetProfileDirhandles Chrome's newline-renderedProfile Path
output and paths with spaces.- CDP-created background tabs no longer fall through to OS profile launch after
a strict profile verification failure. - Dead code and duplicated in-page helper code were removed from the CLI.
Compatibility:
agents/openai.yamlremains for Codex compatibility.- The CLI remains a zero-dependency standalone Node script.
Validated:
node --check skills/realbrowser/scripts/realbrowser.mjsskills/realbrowser/scripts/realbrowser --versionskills/realbrowser/scripts/realbrowser self-testgit diff --check- Anonymous background browse smoke against
https://example.com
realbrowser 0.2.1
This release hardens 0.2.0 for parallel Codex sessions and lower-approval
real-browser workflows.
Added:
- Owner-scoped labels, default context, and element refs via
--owner/
REALBROWSER_OWNER. - Target leases for mutating commands so parallel Codex sessions do not
accidentally control each other's tabs. - Owner-separated anonymous daemons while keeping real signed-in browser
endpoints shared per physical browser endpoint. - Local JSON state locking for labels, target metadata, leases, and owner default
contexts. - Daemon runtime schema checks so old same-version daemons are restarted when the
state/lease model changes.
Changed:
tab ensureskips another owner's URL match and creates a fresh tab instead
of reusing a leased target.- HTTP and direct WebSocket forms of the same CDP endpoint are treated as the
same browser endpoint for daemon reuse. - Chrome browser-wide permission grant/reset now requires
--force, even after
the target lease check passes. - Full, responsive/device, and annotated screenshots/checkpoints are
lease-guarded because they temporarily scroll, emulate, or draw page overlays. - Expanded docs for multi-Codex operation, Chrome approval prompt limits, and
release validation.
Fixed:
- Owner-scoped refs prevent one session's
b1/e1reads from overwriting
another session's pending action refs. - Cross-owner lease detection now considers duplicate/stale lease records and
keeps the newest relevant lease. - Broadened mutating raw CDP detection for
devtools raw. - Preserved the
realbrowsername consistently across code and docs. - Set the script version to
0.2.1.
realbrowser 0.2.0
0.2.0 - 2026-05-07
This is a major CLI and workflow refactor from v0.1.0.
Breaking changes:
- Replaced the old selected-tab/top-level command model with a target-first
grouped CLI:
realbrowser [global flags] <group> <command> [args] [flags]. - Reads, actions, screenshots, console, network, state, dialogs, performance,
downloads, and PDF export now require an explicit-t <label>target or
--handle. - Replaced old flows such as
open,tabs,observe,snapshot,console,
andscreenshotwith grouped commands such astab ensure,tab list,
read observe,read snapshot,console list, andscreenshot capture. - Removed the old split reference docs (
references/debugging.md,
references/profiles.md,references/screenshots.md) in favor of the new
command reference plus workflow reference.
Added:
- New command groups:
profile,session,daemon,tab,handle,read,
wait,action,screenshot,console,network,state,dialog,
perf,download,export,devtools,chain, andcompletion. - Stable labeled targets from
tab ensure,tab select, andtab new. - Provenance checks for signed-in profile work, including safer handling for
browser-scoped CDP endpoints where existing tabs cannot prove profile
ownership. - Anonymous managed sessions plus explicit
--incognito/--privatesupport
when a visible Chrome Incognito window is required. - Structured, compact readers for large pages:
read size,read query,
read items,read item,read snapshot,read text,read html,
read links, andread forms. - Root-scoped action workflows with
action state, guardedaction upload,
exact-label or ref-basedaction submit, keyboard actions, and
file-chooser protection. - Target-bound screenshot workflows:
screenshot capture,screenshot full,
screenshot area, andscreenshot device. - Target-bound console and network workflows, including capture windows,
response body export, HAR export, and large-output guards. chainfor running target-bound JSON step sequences with compact summaries.references/workflows.mdandreferences/design-notes.md.
Changed:
- Reworked
SKILL.md,README.md,agents/openai.yaml, and
references/commands.mdaround the target-first contract. - Made background-first signed-in profile behavior the documented default;
profile app launch focus risk now requires explicit--best-effort-background
or--front. - Kept exact-tab console-copy guidance explicit: select one tab, verify it, and
copy that tab's DevTools-style lines rather than mixing multiple matches. - Made large reads, network bodies, traces, screenshots, downloads, and PDFs
prefer--outor artifact paths instead of stdout. - Set the script version to
0.2.0.
Validation:
node --check scripts/realbrowser.mjs./scripts/realbrowser --version./scripts/realbrowser self-test- Help generation for all command groups.
git diff --check- Anonymous
about:blanksmoke test.
v0.1.0
Full Changelog: https://github.com/darkamenosa/realbrowser/commits/v0.1.0