Peter Steinberger
5350b92dc8
fix(browser): wake extension relay through gateway ( #122537 )
...
* fix(browser): wake extension relay through gateway
* fix(browser): preserve manual extension relay pairing
2026-08-12 02:13:03 -07:00
Peter Steinberger
fada067277
feat(browser): add zero-click Chrome extension bootstrap ( #121586 )
...
* feat(browser): add zero-click extension bootstrap
Pre-register deterministic path-derived extension IDs and install a strict native messaging host.
Keep the popup and options UI minimal while removing the obsolete copilot and page-share flows.
* fix(browser): satisfy native bootstrap CI guards
* test(browser): isolate native bootstrap Chrome roots
* test(browser): flush native bootstrap profile before status
* test(browser): seed Linux native bootstrap identity
* fix(browser): preserve native bootstrap upgrade safety
Allow immutable root-owned package inputs while keeping mutable state, manifests, and launchers user-owned. Preserve all retired copilot keys whenever active or unrecognized recovery custody remains.
* fix(browser): preserve pending copilot custody
Retired cleanup now removes copilot state only when the durable registry is exactly empty. Any session, archive, malformed value, future shape, or read failure preserves every retired key.
* fix(browser): guard native bootstrap upgrades
Fail closed while retired copilot custody remains and make discard durable across partial failures.
Require exact launcher-embedded origins and repair full launcher drift without accepting mismatched registrations.
* fix(browser): remove stale layout export
* chore(release): leave changelog to release flow
2026-08-10 19:31:13 -07:00
Peter Steinberger
83900e4683
feat(browser): add relay authentication v2 ( #120526 )
...
* feat(browser): add relay authentication v2
* fix(browser): cap relay test WebSocket payload
* fix(browser): keep relay E2E inside extension boundary
* fix(browser): isolate relay admission and cleanup auth
* fix(browser): finish relay auth migration hardening
* fix(browser): keep preauth transport bounded through teardown
2026-08-08 05:48:24 -07:00
Peter Steinberger
01281ad9f8
refactor(browser): remove model-backed page extraction ( #120101 )
...
* refactor(browser): remove model-backed extraction
* docs(browser): remove stale extract reference
2026-08-06 18:32:14 -07:00
Peter Steinberger
a2c6474377
feat(browser): scoped and structured page extraction ( #113938 )
...
* feat(browser): add scoped structured extraction
* fix(browser): keep capture result type module-local and refresh docs map
* fix(browser): keep extract capture helper private
2026-07-25 19:32:44 -07:00
Peter Steinberger
4cdd9b8d85
feat(browser): extract action — answer page questions via a bounded sub-model call ( #113861 )
...
* feat(browser): add page extract action
* docs(browser): document extract action
* improve(browser): make extract discoverable in tool description
* fix(browser): keep extract dep types module-local
2026-07-25 15:13:32 -07:00
FMLS
b88eeddeed
feat(browser): add openclaw browser batch CLI subcommand ( #111457 )
...
* feat(browser): add `openclaw browser batch` CLI subcommand
Expose the existing `act:batch` runtime through a dedicated CLI subcommand so
users and scripts can run nested act requests in one call without going through
the agent tool.
- `--actions <json>` for inline JSON, `--actions-file <path>` for file input,
`--actions-file -` for stdin (1MB cap to bound a runaway pipe)
- `--continue` sets `stopOnError=false`; default keeps the runtime fail-fast
(stop on first error) behavior, matching the existing batch contract
- `--target-id` forwards to the batch body
- Outer request timeout uses `resolveBrowserActExecutionBudgetMs` so the batch
budget covers nested actions
- Docs (`docs/tools/browser-control.md` + bundled `browser-automation` skill)
document the batch CLI, ref lifecycle, targetId conflict handling, and error
summary format
Co-authored-by: Cursor <cursoragent@cursor.com >
* fix(browser): fail batch CLI on action errors
* fix(browser): keep batch stdin reader private
* docs(browser): refresh batch heading map
* test(browser): assert batch JSON via runtime mock
---------
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: Mason Huang <masonxhuang@icloud.com >
Co-authored-by: Mason Huang <masonxhuang@proton.me >
2026-07-24 11:33:45 +08:00
Peter Steinberger
783a5d21cf
refactor(config): purge numeric tuning knobs behind built-in defaults ( #111382 )
2026-07-19 07:35:45 -07:00
soldforaloss
5459a94763
docs(browser): clarify JSON flag placement ( #103155 )
...
* docs(browser): clarify JSON flag placement
* docs(browser): align JSON flag examples
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-12 06:58:40 +01:00
Ho Lim
8a4463eef1
feat(browser): support evaluate timeouts for existing sessions ( #103181 )
...
* fix(browser): honor evaluate timeout for existing sessions
Signed-off-by: Ho Lim <subhoya@gmail.com >
* docs(browser): align existing-session evaluate timeouts
---------
Signed-off-by: Ho Lim <subhoya@gmail.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-11 15:23:52 -07:00
Vincent Koc
597888680c
feat(browser): expose managed graphics diagnostics ( #104291 )
...
* feat(browser): expose managed Chrome graphics diagnostics
* feat(browser): surface graphics facts in doctor
* docs(browser): explain managed graphics diagnostics
* fix(browser): remove unused graphics type import
* fix(browser): keep graphics facts sorting immutable
* fix(browser): bind graphics facts to owned process
* fix(browser): classify disabled graphics as software
* fix(browser): detect Windows software renderers
* fix(browser): classify disabled renderer sentinel
2026-07-11 15:41:16 +08:00
Peter Steinberger
9f53f8a256
feat(macos): import local browser login ( #104177 )
...
* feat(macos): import local browser login
* chore: leave release notes to release workflow
* chore(macos): refresh native i18n inventory
* chore(macos): refresh native i18n inventory
* chore(macos): refresh native i18n inventory
* chore: sync release summary executable bit
* chore(macos): refresh native i18n inventory
* style(macos): wrap browser import result
* chore(macos): refresh native i18n inventory
* chore(macos): refresh native i18n inventory
2026-07-10 22:14:36 -07:00
Peter Steinberger
2a12c9916a
feat(browser): import Chrome-family system-profile cookies into managed profiles ( #104057 )
...
* feat(browser): import Chrome-family system-profile cookies into managed profiles
Import cookies from a real Chrome/Brave/Edge/Chromium system profile (macOS)
into a fresh OpenClaw-managed browser profile so the agent can browse as the
signed-in user. Reads the source Cookies DB via a coherent VACUUM INTO snapshot,
decrypts v10 AES-128-CBC values with the Safe Storage Keychain key (one Touch ID
consent), maps rows to Playwright cookies (FILETIME expiry, SameSite, M124+
domain-hash prefix strip, CHIPS skipped), and best-effort injects them via
addCookies into a mock-keychain profile so they persist without further prompts.
Decrypted values are never logged or returned.
Exposed as agent tool action=importprofile, CLI system-profiles/import-profile,
and POST /profiles/import; action=profiles surfaces importable systemProfiles.
Listing and import are pinned host-local at every surface (gateway, browser
tool, node proxy) since they read the local Keychain and Chrome profiles.
Malformed domain filters fail closed via a shared validator. Gated by
browser.allowSystemProfileImport (default on). Imports cookies only.
* fix(browser): satisfy CI lint (OpenClaw temp dir, Unicode control-char class)
Use resolvePreferredOpenClawTmpDir() instead of os.tmpdir() for the cookie DB
snapshot (messaging/channel runtime tmpdir guard), and match control characters
via the Unicode \p{Cc} class instead of a literal control-char range so the
CLI table sanitizer passes the no-control-regex lint.
2026-07-10 19:15:52 -07:00
Peter Steinberger
f7d7148cf0
docs: rewrite published docs grounded in current source ( #100142 )
...
Source-grounded rewrite of 529 published docs pages with per-unit information-loss verification: 1,713 factual corrections cited to src/**, generated surfaces regenerated, frontmatter titles preserved for i18n, release notes pages untouched. All docs gates green.
Closes #100141
2026-07-05 00:32:47 -04:00
ZengWen-DT
2983edd5a2
docs(browser): clarify networkidle session support ( #94020 )
...
Clarify that `networkidle` is supported for managed and raw-CDP browser sessions but rejected for existing-session mode.
Fixes #80587 .
Co-authored-by: ZengWen-DT <ceng.wen@xydigit.com >
2026-06-19 11:53:07 +01:00
clawsweeper[bot]
24e729fc4e
feat(browser): extend --labels overlay to full-page and element captures ( #92834 )
...
Summary:
- The replacement PR extends Browser plugin labeled screenshots to honor Playwright full-page/ref/element scope, returns annotation bounding boxes, and updates docs, tests, and skill guidance.
- PR surface: Source +415, Tests +550, Docs +24. Total +989 across 12 files.
- Reproducibility: yes. Current main source shows the labeled Playwright helper ignores fullPage/ref/element and omits annotations, and the source PR supplies live before/after commands for the Browser plugin path.
Automerge notes:
- PR branch already contained follow-up commit before automerge: docs(browser): correct raw-CDP labels caveat in automation skill
- PR branch already contained follow-up commit before automerge: fix(browser): preserve labelsSkipped semantics for off-viewport refs
- PR branch already contained follow-up commit before automerge: docs(browser): scope labels docs by driver
- PR branch already contained follow-up commit before automerge: docs(browser): fix labels annotation indent and document scope fix
- PR branch already contained follow-up commit before automerge: docs(browser): indent annotations box schema under --labels bullet
- PR branch already contained follow-up commit before automerge: docs(browser): indent labels annotation schema
Validation:
- ClawSweeper review passed for head 70aca6c506 .
- Required merge gates passed before the squash merge.
Prepared head SHA: 70aca6c506
Review: https://github.com/openclaw/openclaw/pull/92834#issuecomment-4700431344
Co-authored-by: FMLS <kfliuyang@gmail.com >
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: Mason Huang <masonxhuang@tencent.com >
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: hxy91819
Co-authored-by: hxy91819 <8814856+hxy91819@users.noreply.github.com >
2026-06-14 02:21:23 +00:00
lifuyue
ac21e89c13
Support existing-session browser CDP endpoints ( #91736 )
...
* Support existing-session browser CDP endpoints
* Fix browser existing-session test fixture type
---------
Co-authored-by: OpenAI Codex <codex@openai.com >
2026-06-10 10:44:35 -04:00
Vincent Koc
b0998f7d15
fix(browser): accept statement evaluate bodies
2026-06-09 05:07:44 +09:00
FMLS
3a88142ddd
fix(browser): document stable tab references ( #88393 )
...
Summary:
- The branch documents friendly browser tab references across docs, the browser skill, CLI help, and tool schema descriptions, and adds tests for target reference resolution and tab alias behavior.
- PR surface: Source +24, Tests +328, Docs +9. Total +361 across 21 files.
- Reproducibility: yes. for the documentation mismatch by source inspection: current main supports friendly ta ... schema/help surfaces still emphasize raw CDP target ids. Runtime behavior itself is not a new failing path.
Automerge notes:
- PR branch already contained follow-up commit before automerge: refactor(browser): share tab reference CLI help
Validation:
- ClawSweeper review passed for head 118af80b0b .
- Required merge gates passed before the squash merge.
Prepared head SHA: 118af80b0b
Review: https://github.com/openclaw/openclaw/pull/88393#issuecomment-4583558133
Co-authored-by: FMLS <kfliuyang@gmail.com >
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: hxy91819
Co-authored-by: hxy91819 <8814856+hxy91819@users.noreply.github.com >
2026-05-31 12:09:50 +00:00
Zee Zheng
8be581cbf8
fix(browser): allow inbound media uploads
...
Allow the browser upload tool to resolve OpenClaw-managed inbound media refs such as `media://inbound/<id>` and sandbox-relative `media/inbound/<id>` while preserving the existing upload-root path contract.
Keep upload-root files ahead of sandbox-relative inbound fallback, reject nested absolute inbound media files, and validate raw `media://` paths before URL normalization so traversal-shaped refs cannot resolve to direct media ids.
Verification:
- `OPENCLAW_VITEST_MAX_WORKERS=1 node scripts/run-vitest.mjs extensions/browser/src/browser/paths.test.ts --reporter=verbose`
- `OPENCLAW_VITEST_MAX_WORKERS=1 node scripts/run-vitest.mjs extensions/browser/src/browser/paths.test.ts --reporter=dot`
- `OPENCLAW_HEAVY_CHECK_LOCK_SCOPE=worktree node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.extensions.test.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/extensions-test.tsbuildinfo`
- `pnpm lint --threads=8`
- `.agents/skills/autoreview/scripts/autoreview --mode branch --base origin/main`
- `git diff --check`
- GitHub PR checks on be08e6c8a8 : dependency-guard, check-lint, check-test-types, check-additional-extension-bundled, checks-fast-contracts-plugins-a, checks-fast-contracts-plugins-b all passed.
Fixes #83544 .
Co-authored-by: Zee Zheng <zheng.zuo0@gmail.com >
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-30 23:49:07 +01:00
clawsweeper[bot]
fa814eb9ed
feat(browser): add evaluate timeout CLI option ( #83696 )
...
Summary:
- The branch adds `openclaw browser evaluate --timeout-ms`, forwards it to the evaluate body and request timeo ... ents and tests it, adds a changelog entry, and includes a config.patch no-op shortcut from the repair pass.
- Reproducibility: not applicable. this is a feature PR rather than a bug report. Source inspection shows current main lacks the CLI flag while the branch wires it into an already-supported evaluate `timeoutMs` payload.
Automerge notes:
- PR branch already contained follow-up commit before automerge: feat(browser): add evaluate timeout CLI option
Validation:
- ClawSweeper review passed for head 0d81d3d93e .
- Required merge gates passed before the squash merge.
Prepared head SHA: 0d81d3d93e
Review: https://github.com/openclaw/openclaw/pull/83696#issuecomment-4479900502
Co-authored-by: fred <fengruifree@gmail.com >
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com >
2026-05-18 17:30:33 +00:00
Peter Steinberger
7afac6015f
feat(browser): surface observed dialogs ( #83099 )
2026-05-18 00:05:29 +01:00
Peter Steinberger
f97cc58760
fix(browser): auto-start configured browser plugin
2026-04-27 09:37:10 +01:00
Peter Steinberger
ed1ac2fc44
feat(browser): add CDP role snapshot fallback
2026-04-26 04:40:26 +01:00
Peter Steinberger
e6ee4d6e68
fix(browser): preserve tabs across target swaps
2026-04-26 01:21:59 +01:00
Peter Steinberger
c52ec520c7
feat(browser): add one-shot headless start override
2026-04-25 11:42:03 +01:00
Peter Steinberger
9b48e4c0b6
fix(browser): fall back to headless on Linux without display
2026-04-25 11:13:42 +01:00
Peter Steinberger
41ed7fa535
fix(browser): manage isolated downloads
...
Co-authored-by: Pearce Kieser <5055971+Pearcekieser@users.noreply.github.com >
2026-04-25 10:09:13 +01:00
Peter Steinberger
5376a4a5d6
fix(browser): default act timeout budget
...
Co-authored-by: Andy Lin <andyylin@users.noreply.github.com >
2026-04-25 08:11:48 +01:00
Peter Steinberger
209d50b52c
feat(browser): add coordinate click action
...
Co-authored-by: Daniel Lutts <daniellutts@10-19-94-204.dynapool.wireless.nyu.edu >
2026-04-25 07:31:33 +01:00
Peter Steinberger
30aa1f890a
feat(browser): expose doctor diagnostics to agents
...
Co-authored-by: Sean Coley <github@seancoley.me >
2026-04-25 01:15:31 +01:00
Peter Steinberger
60e7b692cc
docs(browser): document inspection diagnostics
2026-04-25 00:56:35 +01:00
Peter Steinberger
82020bd787
feat(browser): prefer suggested tab targets
2026-04-25 00:35:26 +01:00
Peter Steinberger
dea05aae6b
docs(browser): explain automation skill and tab handles
2026-04-25 00:24:33 +01:00
Vincent Koc
627c19c5cb
docs: add Related sections to remaining CLI, gateway API, and help pages
2026-04-23 20:41:35 -07:00
Vincent Koc
2777b089b5
docs: normalize frontmatter titles to sentence case
2026-04-23 13:15:17 -07:00
Mason Huang
7eecfa411d
fix(browser): unblock loopback CDP readiness under strict SSRF defaults ( #66354 )
...
Merged via squash.
Prepared head SHA: d9030ff2f0
Co-authored-by: hxy91819 <8814856+hxy91819@users.noreply.github.com >
Co-authored-by: hxy91819 <8814856+hxy91819@users.noreply.github.com >
Reviewed-by: @hxy91819
2026-04-14 16:30:43 +08:00
Peter Steinberger
8efb0801a0
docs: refresh browser existing-session limit refs
2026-04-04 20:26:30 +01:00
Peter Steinberger
29f062770d
docs: refresh browser stop cleanup refs
2026-04-04 12:02:10 +01:00
Peter Steinberger
0bc9f0b5ba
docs: refresh browser screenshot route refs
2026-04-04 11:58:46 +01:00
Peter Steinberger
53d3fbcef6
docs: refresh browser existing session docs
2026-04-04 11:51:07 +01:00
Peter Steinberger
53e2554281
docs: expand browser cli reference
2026-04-04 08:17:19 +01:00
Peter Steinberger
e0f0a1aa1f
docs: clarify browser allowlist troubleshooting
2026-03-29 22:19:22 +09:00
Radek Sienkiewicz
7deb543624
Browser: support non-Chrome existing-session profiles via userDataDir ( #48170 )
...
Merged via squash.
Prepared head SHA: e490035a24
Co-authored-by: velvet-shark <126378+velvet-shark@users.noreply.github.com >
Co-authored-by: velvet-shark <126378+velvet-shark@users.noreply.github.com >
Reviewed-by: @velvet-shark
2026-03-16 14:21:22 +01:00
Vincent Koc
476d948732
!refactor(browser): remove Chrome extension path and add MCP doctor migration ( #47893 )
...
* Browser: replace extension path with Chrome MCP
* Browser: clarify relay stub and doctor checks
* Docs: mark browser MCP migration as breaking
* Browser: reject unsupported profile drivers
* Browser: accept clawd alias on profile create
* Doctor: narrow legacy browser driver migration
2026-03-15 23:56:08 -07:00
Peter Steinberger
b6d1d0d72d
fix(browser): prefer user profile over chrome relay
2026-03-14 04:15:34 +00:00
Seb Slight
abcaa8c7a9
Docs: add nav titles across docs ( #5689 )
2026-01-31 15:04:03 -06:00
cpojer
8cab78abbc
chore: Run pnpm format:fix.
2026-01-31 21:13:13 +09:00
Peter Steinberger
9a7160786a
refactor: rename to openclaw
2026-01-30 03:16:21 +01:00
Peter Steinberger
6d16a658e5
refactor: rename clawdbot to moltbot with legacy compat
2026-01-27 12:21:02 +00:00