From 6addc80aa1ecc2419eb3adb056462fbd21188f80 Mon Sep 17 00:00:00 2001 From: leeguooooo Date: Sat, 4 Apr 2026 00:14:11 +0900 Subject: [PATCH] feat(rebase): fork base on upstream v0.24.0 native architecture - Rebased onto upstream/main (v0.24.0, full Rust native) - Renamed package to agent-browser-stealth, version 0.24.0-fork.1 - Preserved fork-specific: abs alias, extensions/tab-group-cdp, .husky hooks - Removed upstream-only: docs/, packages/dashboard, examples/, benchmarks/ - Simplified pnpm workspace to root-only - Added [[bin]] section to keep binary name as "agent-browser" Track 1 of native-stealth migration. Co-Authored-By: Claude Opus 4.6 --- .husky/pre-push | 8 + CHANGELOG.md | 934 -- benchmarks/.env.example | 4 - benchmarks/.gitignore | 2 - benchmarks/README.md | 76 - benchmarks/bench.ts | 900 -- benchmarks/package.json | 13 - benchmarks/pnpm-lock.yaml | 472 - benchmarks/scenarios.ts | 105 - benchmarks/tsconfig.json | 13 - bin/agent-browser | Bin 0 -> 900944 bytes bin/agent-browser.d | 1 + cli/Cargo.lock | 4 +- cli/Cargo.toml | 12 +- docs/.gitignore | 41 - docs/components.json | 22 - docs/eslint.config.mjs | 18 - docs/mdx-components.tsx | 102 - docs/next.config.mjs | 11 - docs/package.json | 48 - docs/pnpm-lock.yaml | 8139 ----------------- docs/postcss.config.mjs | 7 - docs/public/Geist-Regular.ttf | Bin 71112 -> 0 bytes docs/public/GeistPixel-Square.ttf | Bin 94800 -> 0 bytes docs/src/app/api/docs-chat/route.ts | 123 - docs/src/app/api/docs-markdown/route.ts | 40 - docs/src/app/api/search/route.ts | 69 - docs/src/app/cdp-mode/layout.tsx | 7 - docs/src/app/cdp-mode/page.mdx | 120 - docs/src/app/changelog/layout.tsx | 7 - docs/src/app/changelog/page.mdx | 1191 --- docs/src/app/commands/layout.tsx | 7 - docs/src/app/commands/page.mdx | 569 -- docs/src/app/configuration/layout.tsx | 7 - docs/src/app/configuration/page.mdx | 212 - docs/src/app/dashboard/layout.tsx | 7 - docs/src/app/dashboard/page.mdx | 160 - docs/src/app/diffing/layout.tsx | 7 - docs/src/app/diffing/page.mdx | 175 - docs/src/app/engines/chrome/layout.tsx | 7 - docs/src/app/engines/chrome/page.mdx | 104 - docs/src/app/engines/lightpanda/layout.tsx | 7 - docs/src/app/engines/lightpanda/page.mdx | 93 - docs/src/app/favicon.ico | Bin 25931 -> 0 bytes docs/src/app/globals.css | 374 - docs/src/app/installation/layout.tsx | 7 - docs/src/app/installation/page.mdx | 173 - docs/src/app/ios/layout.tsx | 7 - docs/src/app/ios/page.mdx | 207 - docs/src/app/layout.tsx | 93 - docs/src/app/native-mode/layout.tsx | 7 - docs/src/app/native-mode/page.mdx | 5 - docs/src/app/next/layout.tsx | 7 - docs/src/app/next/page.mdx | 207 - docs/src/app/og/[...slug]/route.tsx | 16 - docs/src/app/og/og-image.tsx | 112 - docs/src/app/og/route.tsx | 6 - docs/src/app/page.mdx | 65 - docs/src/app/profiler/layout.tsx | 7 - docs/src/app/profiler/page.mdx | 110 - docs/src/app/providers/agentcore/layout.tsx | 7 - docs/src/app/providers/agentcore/page.mdx | 89 - docs/src/app/providers/browser-use/layout.tsx | 7 - docs/src/app/providers/browser-use/page.mdx | 24 - docs/src/app/providers/browserbase/layout.tsx | 7 - docs/src/app/providers/browserbase/page.mdx | 24 - docs/src/app/providers/browserless/layout.tsx | 7 - docs/src/app/providers/browserless/page.mdx | 39 - docs/src/app/providers/kernel/layout.tsx | 7 - docs/src/app/providers/kernel/page.mdx | 41 - docs/src/app/quick-start/layout.tsx | 7 - docs/src/app/quick-start/page.mdx | 90 - docs/src/app/security/layout.tsx | 7 - docs/src/app/security/page.mdx | 242 - docs/src/app/selectors/layout.tsx | 7 - docs/src/app/selectors/page.mdx | 54 - docs/src/app/sessions/layout.tsx | 7 - docs/src/app/sessions/page.mdx | 267 - docs/src/app/skills/layout.tsx | 7 - docs/src/app/skills/page.mdx | 75 - docs/src/app/snapshots/layout.tsx | 7 - docs/src/app/snapshots/page.mdx | 123 - docs/src/app/streaming/layout.tsx | 7 - docs/src/app/streaming/page.mdx | 258 - docs/src/components/code-block.tsx | 178 - docs/src/components/copy-button.tsx | 40 - docs/src/components/copy-page-button.tsx | 71 - docs/src/components/diff-demo.tsx | 282 - docs/src/components/docs-chat.tsx | 538 -- docs/src/components/docs-mobile-nav.tsx | 81 - docs/src/components/docs-sidebar.tsx | 44 - docs/src/components/header.tsx | 86 - docs/src/components/search.tsx | 265 - docs/src/components/theme-provider.tsx | 16 - docs/src/components/theme-toggle.tsx | 61 - docs/src/components/ui/dialog.tsx | 92 - docs/src/components/ui/sheet.tsx | 147 - docs/src/lib/docs-navigation.ts | 70 - docs/src/lib/mdx-to-markdown.ts | 47 - docs/src/lib/page-metadata.ts | 39 - docs/src/lib/page-titles.ts | 32 - docs/src/lib/rate-limit.ts | 57 - docs/src/lib/search-index.ts | 66 - docs/src/lib/utils.ts | 6 - docs/tsconfig.json | 34 - examples/environments/.env.example | 20 - examples/environments/.gitignore | 6 - examples/environments/README.md | 61 - examples/environments/app/actions/browse.ts | 15 - examples/environments/app/api/browse/route.ts | 90 - examples/environments/app/favicon.ico | Bin 25931 -> 0 bytes examples/environments/app/globals.css | 139 - examples/environments/app/layout.tsx | 21 - examples/environments/app/page.tsx | 518 -- examples/environments/components.json | 25 - examples/environments/components/ui/alert.tsx | 76 - examples/environments/components/ui/badge.tsx | 52 - .../environments/components/ui/button.tsx | 60 - examples/environments/components/ui/input.tsx | 20 - examples/environments/components/ui/label.tsx | 20 - .../environments/components/ui/resizable.tsx | 50 - .../environments/components/ui/select.tsx | 201 - .../environments/components/ui/separator.tsx | 25 - .../components/ui/toggle-group.tsx | 89 - .../environments/components/ui/toggle.tsx | 44 - .../environments/lib/agent-browser-sandbox.ts | 323 - examples/environments/lib/constants.ts | 8 - examples/environments/lib/rate-limit.ts | 53 - examples/environments/lib/utils.ts | 6 - examples/environments/next.config.ts | 5 - examples/environments/package.json | 38 - examples/environments/pnpm-lock.yaml | 3995 -------- examples/environments/postcss.config.mjs | 7 - .../environments/scripts/create-snapshot.ts | 54 - examples/environments/tsconfig.json | 42 - extensions/tab-group-cdp/content-script.js | 425 + extensions/tab-group-cdp/icons/icon.svg | 7 + extensions/tab-group-cdp/manifest.json | 34 + extensions/tab-group-cdp/page-bridge.js | 133 + extensions/tab-group-cdp/service-worker.js | 2249 +++++ extensions/tab-group-cdp/sidepanel.css | 258 + extensions/tab-group-cdp/sidepanel.html | 28 + extensions/tab-group-cdp/sidepanel.js | 1225 +++ package.json | 37 +- packages/dashboard/components.json | 25 - packages/dashboard/next-env.d.ts | 6 - packages/dashboard/next.config.ts | 22 - packages/dashboard/package.json | 38 - packages/dashboard/postcss.config.mjs | 7 - packages/dashboard/public/lightpanda.svg | 1 - .../dashboard/public/providers/agentcore.svg | 59 - .../public/providers/browser-use.svg | 1 - .../public/providers/browserbase.svg | 1 - .../public/providers/browserless.svg | 1 - .../dashboard/public/providers/kernel.svg | 1 - packages/dashboard/src/app/globals.css | 207 - packages/dashboard/src/app/layout.tsx | 32 - packages/dashboard/src/app/page.tsx | 163 - .../src/components/activity-feed.tsx | 247 - .../src/components/console-panel.tsx | 306 - .../src/components/extensions-panel.tsx | 110 - .../dashboard/src/components/json-syntax.tsx | 70 - .../src/components/network-panel.tsx | 427 - .../dashboard/src/components/session-tree.tsx | 575 -- .../src/components/storage-panel.tsx | 344 - .../dashboard/src/components/ui/badge.tsx | 49 - .../dashboard/src/components/ui/button.tsx | 67 - .../src/components/ui/collapsible.tsx | 33 - .../src/components/ui/context-menu.tsx | 263 - .../dashboard/src/components/ui/dialog.tsx | 168 - .../src/components/ui/dropdown-menu.tsx | 269 - .../dashboard/src/components/ui/resizable.tsx | 50 - .../src/components/ui/scroll-area.tsx | 55 - .../dashboard/src/components/ui/separator.tsx | 28 - packages/dashboard/src/components/ui/tabs.tsx | 90 - .../dashboard/src/components/ui/tooltip.tsx | 57 - .../dashboard/src/components/viewport.tsx | 731 -- .../dashboard/src/hooks/use-media-query.ts | 17 - packages/dashboard/src/lib/exec.ts | 41 - packages/dashboard/src/lib/utils.ts | 6 - packages/dashboard/src/store/activity.ts | 120 - packages/dashboard/src/store/provider.tsx | 7 - packages/dashboard/src/store/sessions.ts | 292 - packages/dashboard/src/store/stream.ts | 231 - packages/dashboard/src/store/tabs.ts | 38 - packages/dashboard/src/types.ts | 115 - packages/dashboard/tsconfig.json | 41 - pnpm-workspace.yaml | 2 - scripts/sync-version.js | 36 +- 189 files changed, 4422 insertions(+), 30395 deletions(-) create mode 100644 .husky/pre-push delete mode 100644 CHANGELOG.md delete mode 100644 benchmarks/.env.example delete mode 100644 benchmarks/.gitignore delete mode 100644 benchmarks/README.md delete mode 100644 benchmarks/bench.ts delete mode 100644 benchmarks/package.json delete mode 100644 benchmarks/pnpm-lock.yaml delete mode 100644 benchmarks/scenarios.ts delete mode 100644 benchmarks/tsconfig.json create mode 100755 bin/agent-browser create mode 100644 bin/agent-browser.d delete mode 100644 docs/.gitignore delete mode 100644 docs/components.json delete mode 100644 docs/eslint.config.mjs delete mode 100644 docs/mdx-components.tsx delete mode 100644 docs/next.config.mjs delete mode 100644 docs/package.json delete mode 100644 docs/pnpm-lock.yaml delete mode 100644 docs/postcss.config.mjs delete mode 100644 docs/public/Geist-Regular.ttf delete mode 100644 docs/public/GeistPixel-Square.ttf delete mode 100644 docs/src/app/api/docs-chat/route.ts delete mode 100644 docs/src/app/api/docs-markdown/route.ts delete mode 100644 docs/src/app/api/search/route.ts delete mode 100644 docs/src/app/cdp-mode/layout.tsx delete mode 100644 docs/src/app/cdp-mode/page.mdx delete mode 100644 docs/src/app/changelog/layout.tsx delete mode 100644 docs/src/app/changelog/page.mdx delete mode 100644 docs/src/app/commands/layout.tsx delete mode 100644 docs/src/app/commands/page.mdx delete mode 100644 docs/src/app/configuration/layout.tsx delete mode 100644 docs/src/app/configuration/page.mdx delete mode 100644 docs/src/app/dashboard/layout.tsx delete mode 100644 docs/src/app/dashboard/page.mdx delete mode 100644 docs/src/app/diffing/layout.tsx delete mode 100644 docs/src/app/diffing/page.mdx delete mode 100644 docs/src/app/engines/chrome/layout.tsx delete mode 100644 docs/src/app/engines/chrome/page.mdx delete mode 100644 docs/src/app/engines/lightpanda/layout.tsx delete mode 100644 docs/src/app/engines/lightpanda/page.mdx delete mode 100644 docs/src/app/favicon.ico delete mode 100644 docs/src/app/globals.css delete mode 100644 docs/src/app/installation/layout.tsx delete mode 100644 docs/src/app/installation/page.mdx delete mode 100644 docs/src/app/ios/layout.tsx delete mode 100644 docs/src/app/ios/page.mdx delete mode 100644 docs/src/app/layout.tsx delete mode 100644 docs/src/app/native-mode/layout.tsx delete mode 100644 docs/src/app/native-mode/page.mdx delete mode 100644 docs/src/app/next/layout.tsx delete mode 100644 docs/src/app/next/page.mdx delete mode 100644 docs/src/app/og/[...slug]/route.tsx delete mode 100644 docs/src/app/og/og-image.tsx delete mode 100644 docs/src/app/og/route.tsx delete mode 100644 docs/src/app/page.mdx delete mode 100644 docs/src/app/profiler/layout.tsx delete mode 100644 docs/src/app/profiler/page.mdx delete mode 100644 docs/src/app/providers/agentcore/layout.tsx delete mode 100644 docs/src/app/providers/agentcore/page.mdx delete mode 100644 docs/src/app/providers/browser-use/layout.tsx delete mode 100644 docs/src/app/providers/browser-use/page.mdx delete mode 100644 docs/src/app/providers/browserbase/layout.tsx delete mode 100644 docs/src/app/providers/browserbase/page.mdx delete mode 100644 docs/src/app/providers/browserless/layout.tsx delete mode 100644 docs/src/app/providers/browserless/page.mdx delete mode 100644 docs/src/app/providers/kernel/layout.tsx delete mode 100644 docs/src/app/providers/kernel/page.mdx delete mode 100644 docs/src/app/quick-start/layout.tsx delete mode 100644 docs/src/app/quick-start/page.mdx delete mode 100644 docs/src/app/security/layout.tsx delete mode 100644 docs/src/app/security/page.mdx delete mode 100644 docs/src/app/selectors/layout.tsx delete mode 100644 docs/src/app/selectors/page.mdx delete mode 100644 docs/src/app/sessions/layout.tsx delete mode 100644 docs/src/app/sessions/page.mdx delete mode 100644 docs/src/app/skills/layout.tsx delete mode 100644 docs/src/app/skills/page.mdx delete mode 100644 docs/src/app/snapshots/layout.tsx delete mode 100644 docs/src/app/snapshots/page.mdx delete mode 100644 docs/src/app/streaming/layout.tsx delete mode 100644 docs/src/app/streaming/page.mdx delete mode 100644 docs/src/components/code-block.tsx delete mode 100644 docs/src/components/copy-button.tsx delete mode 100644 docs/src/components/copy-page-button.tsx delete mode 100644 docs/src/components/diff-demo.tsx delete mode 100644 docs/src/components/docs-chat.tsx delete mode 100644 docs/src/components/docs-mobile-nav.tsx delete mode 100644 docs/src/components/docs-sidebar.tsx delete mode 100644 docs/src/components/header.tsx delete mode 100644 docs/src/components/search.tsx delete mode 100644 docs/src/components/theme-provider.tsx delete mode 100644 docs/src/components/theme-toggle.tsx delete mode 100644 docs/src/components/ui/dialog.tsx delete mode 100644 docs/src/components/ui/sheet.tsx delete mode 100644 docs/src/lib/docs-navigation.ts delete mode 100644 docs/src/lib/mdx-to-markdown.ts delete mode 100644 docs/src/lib/page-metadata.ts delete mode 100644 docs/src/lib/page-titles.ts delete mode 100644 docs/src/lib/rate-limit.ts delete mode 100644 docs/src/lib/search-index.ts delete mode 100644 docs/src/lib/utils.ts delete mode 100644 docs/tsconfig.json delete mode 100644 examples/environments/.env.example delete mode 100644 examples/environments/.gitignore delete mode 100644 examples/environments/README.md delete mode 100644 examples/environments/app/actions/browse.ts delete mode 100644 examples/environments/app/api/browse/route.ts delete mode 100644 examples/environments/app/favicon.ico delete mode 100644 examples/environments/app/globals.css delete mode 100644 examples/environments/app/layout.tsx delete mode 100644 examples/environments/app/page.tsx delete mode 100644 examples/environments/components.json delete mode 100644 examples/environments/components/ui/alert.tsx delete mode 100644 examples/environments/components/ui/badge.tsx delete mode 100644 examples/environments/components/ui/button.tsx delete mode 100644 examples/environments/components/ui/input.tsx delete mode 100644 examples/environments/components/ui/label.tsx delete mode 100644 examples/environments/components/ui/resizable.tsx delete mode 100644 examples/environments/components/ui/select.tsx delete mode 100644 examples/environments/components/ui/separator.tsx delete mode 100644 examples/environments/components/ui/toggle-group.tsx delete mode 100644 examples/environments/components/ui/toggle.tsx delete mode 100644 examples/environments/lib/agent-browser-sandbox.ts delete mode 100644 examples/environments/lib/constants.ts delete mode 100644 examples/environments/lib/rate-limit.ts delete mode 100644 examples/environments/lib/utils.ts delete mode 100644 examples/environments/next.config.ts delete mode 100644 examples/environments/package.json delete mode 100644 examples/environments/pnpm-lock.yaml delete mode 100644 examples/environments/postcss.config.mjs delete mode 100644 examples/environments/scripts/create-snapshot.ts delete mode 100644 examples/environments/tsconfig.json create mode 100644 extensions/tab-group-cdp/content-script.js create mode 100644 extensions/tab-group-cdp/icons/icon.svg create mode 100644 extensions/tab-group-cdp/manifest.json create mode 100644 extensions/tab-group-cdp/page-bridge.js create mode 100644 extensions/tab-group-cdp/service-worker.js create mode 100644 extensions/tab-group-cdp/sidepanel.css create mode 100644 extensions/tab-group-cdp/sidepanel.html create mode 100644 extensions/tab-group-cdp/sidepanel.js delete mode 100644 packages/dashboard/components.json delete mode 100644 packages/dashboard/next-env.d.ts delete mode 100644 packages/dashboard/next.config.ts delete mode 100644 packages/dashboard/package.json delete mode 100644 packages/dashboard/postcss.config.mjs delete mode 100644 packages/dashboard/public/lightpanda.svg delete mode 100644 packages/dashboard/public/providers/agentcore.svg delete mode 100644 packages/dashboard/public/providers/browser-use.svg delete mode 100644 packages/dashboard/public/providers/browserbase.svg delete mode 100644 packages/dashboard/public/providers/browserless.svg delete mode 100644 packages/dashboard/public/providers/kernel.svg delete mode 100644 packages/dashboard/src/app/globals.css delete mode 100644 packages/dashboard/src/app/layout.tsx delete mode 100644 packages/dashboard/src/app/page.tsx delete mode 100644 packages/dashboard/src/components/activity-feed.tsx delete mode 100644 packages/dashboard/src/components/console-panel.tsx delete mode 100644 packages/dashboard/src/components/extensions-panel.tsx delete mode 100644 packages/dashboard/src/components/json-syntax.tsx delete mode 100644 packages/dashboard/src/components/network-panel.tsx delete mode 100644 packages/dashboard/src/components/session-tree.tsx delete mode 100644 packages/dashboard/src/components/storage-panel.tsx delete mode 100644 packages/dashboard/src/components/ui/badge.tsx delete mode 100644 packages/dashboard/src/components/ui/button.tsx delete mode 100644 packages/dashboard/src/components/ui/collapsible.tsx delete mode 100644 packages/dashboard/src/components/ui/context-menu.tsx delete mode 100644 packages/dashboard/src/components/ui/dialog.tsx delete mode 100644 packages/dashboard/src/components/ui/dropdown-menu.tsx delete mode 100644 packages/dashboard/src/components/ui/resizable.tsx delete mode 100644 packages/dashboard/src/components/ui/scroll-area.tsx delete mode 100644 packages/dashboard/src/components/ui/separator.tsx delete mode 100644 packages/dashboard/src/components/ui/tabs.tsx delete mode 100644 packages/dashboard/src/components/ui/tooltip.tsx delete mode 100644 packages/dashboard/src/components/viewport.tsx delete mode 100644 packages/dashboard/src/hooks/use-media-query.ts delete mode 100644 packages/dashboard/src/lib/exec.ts delete mode 100644 packages/dashboard/src/lib/utils.ts delete mode 100644 packages/dashboard/src/store/activity.ts delete mode 100644 packages/dashboard/src/store/provider.tsx delete mode 100644 packages/dashboard/src/store/sessions.ts delete mode 100644 packages/dashboard/src/store/stream.ts delete mode 100644 packages/dashboard/src/store/tabs.ts delete mode 100644 packages/dashboard/src/types.ts delete mode 100644 packages/dashboard/tsconfig.json diff --git a/.husky/pre-push b/.husky/pre-push new file mode 100644 index 0000000..f2a2583 --- /dev/null +++ b/.husky/pre-push @@ -0,0 +1,8 @@ +if [ "${SKIP_CLAWHUB_SYNC:-0}" = "1" ]; then + echo "Skipping ClawHub sync (SKIP_CLAWHUB_SYNC=1)" + exit 0 +fi + +pnpm run clawhub:sync || { + echo "ClawHub sync failed. Push continues. Run 'pnpm run clawhub:sync' manually after fixing login/network." +} diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index e521b8e..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,934 +0,0 @@ -# agent-browser - -## 0.27.0 - - -### New Features - -- **React introspection** - First-class React DevTools integration with new `react tree`, `react inspect `, `react renders start|stop`, and `react suspense` commands for full component-tree visibility, per-fiber props/hooks/state inspection, render profiling with mount/re-render counts and change details, and Suspense boundary classification with root-cause grouping and recommendations. React DevTools hook is vendored (MIT) and embedded in the binary with zero runtime dependencies (#1257) -- **Web Vitals** - New `vitals [url]` command that reports Core Web Vitals (LCP, CLS, TTFB, FCP, INP) plus React hydration phases for any page (#1257) -- **SPA navigation** - New `pushstate ` command for client-side SPA navigations without a full page load (#1257) -- **Init scripts and feature flags** - New `--init-script ` flag (repeatable; env `AGENT_BROWSER_INIT_SCRIPTS`) to register scripts before first navigation, and `--enable ` flag (repeatable; env `AGENT_BROWSER_ENABLE`) for built-in init scripts such as `react-devtools` (#1257) -- **Network route resource type filter** - `network route` now accepts `--resource-type ` to filter intercepted requests by CDP resource type (#1257) -- **cURL cookie import** - `cookies set --curl ` auto-detects JSON, cURL, and Cookie-header formats for bulk cookie import (#1257) -- **Dashboard proxy support** - The observability dashboard now works from proxied origins via a same-origin proxy, enabling deployment behind reverse proxies and path-based routing (#1111) - -### Bug Fixes - -- Fixed **`doctor` command** generating duplicate check ids when called multiple times in the same process (#1330) - -### Infrastructure - -- Switched npm publishing to **trusted publishing** via GitHub Actions OIDC, removing the need for manually managed npm tokens (#1273) - -### Contributors - -- @ctate -- @quuu -- @shaper -- @ThomasK33 - - -## 0.26.0 - -### New Features - -- **`doctor` command** - Added `agent-browser doctor` for one-shot diagnosis of an install. Checks environment, Chrome, running daemons, config files, security, providers, and network connectivity; auto-cleans stale daemon sidecar files on every run; and performs a live headless launch test. Supports `--offline` to skip network probes, `--quick` to skip the launch test, `--fix` for opt-in repairs (install missing Chrome, close version-mismatched daemons, prune expired state files), and `--json` for structured output (#1254) -- **Stable tab ids and labels** - Tabs now have stable string ids like `t1`, `t2`, `t3` that don't shift when other tabs close or popups appear. Tabs can be created with a memorable label via `tab new --label []`, and labels are interchangeable with `t` ids everywhere a tab ref is accepted (`tab `, `tab close `). Bare-integer input is rejected with a teaching error so agents can't mistake stable handles for positional indices (#892, #1249, #1250) -- **`core` skill** - Renamed the built-in `agent-browser` skill to `core` and replaced its ~40-line discovery stub with a ~420-line usage guide covering the core snapshot-ref-act loop, reading, interacting, waiting, common workflows, troubleshooting, and global flags. `agent-browser skills get core` now returns content agents can use directly; `--full` adds references and templates. Added a `hidden:` frontmatter flag so the original `agent-browser` stub stays reachable for `npx skills add` discovery without polluting `skills list` (#1253) -- **JSON Schema for config files** - Added `agent-browser.schema.json` describing every config option with types and descriptions, enabling IDE autocomplete and validation when referenced via `$schema` in `agent-browser.json` or `~/.agent-browser/config.json`. The schema is served from the docs site at `https://agent-browser.dev/schema.json` (#1242, #1248) - -### Bug Fixes - -- Fixed **`--state` / `AGENT_BROWSER_STATE`** not actually loading saved browser state (cookies and localStorage) at launch. The flag had been fully plumbed through parsing, env propagation, and validation since the native Rust rewrite, but the load step was never wired up. Storage state now loads after launch across all four paths: explicit launch, auto-connect, provider, and local Chrome (#1241) - -### Documentation - -- `--help` output now shows the **skills** section first so agents discover `skills get core` (the canonical usage guide) before the core command list (#1251) - -### Contributors - -- @ctate -- @DJRHails -- @michael-farah -- @tomdale - -## 0.25.5 - -### Bug Fixes - -- Fixed **`--auto-connect` CDP discovery** preferring HTTP endpoint discovery over the DevToolsActivePort websocket path, which could fail on some setups. The CLI now reads the websocket path from DevToolsActivePort first and only falls back to HTTP discovery (#1218) -- Fixed **recording context viewport** not inheriting the active viewport dimensions, causing recordings to use default resolution instead of the configured viewport (#1208) -- Fixed **`get box` and `get styles`** printing no data in text mode (#1231, #1233) -- Fixed **active page changing** when closing or removing earlier tabs. The previously focused page is now preserved correctly (#1220) - -### Contributors - -- @ctate -- @jin-2-kakaoent -- @officialasishkumar - -## 0.25.4 - -### New Features - -- **`skills` command** - Added `agent-browser skills` command for discovering and installing agent skills, with built-in evaluation support for testing skills against live browser sessions (#1225, #1227) - -### Bug Fixes - -- Fixed **custom viewport dimensions** not being used in streaming frame metadata and image resolution (#1033) -- Fixed **`--ignore-https-errors`** not being re-applied to recording contexts, causing TLS errors during screen recordings (#1178) -- Fixed **duplicate option numbering** in the auth skill documentation (#1161) - -### Documentation - -- The docs site header now **dynamically fetches** the GitHub star count (#1202) - -### Contributors - -- @ctate -- @jin-2-kakaoent -- @juniper929 -- @Marshall-Sun - -## 0.25.3 - -### Bug Fixes - -- Fixed **hidden radio/checkbox inputs missing from snapshot refs** when a `