Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 45 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,42 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/).

Starting from 0.2.0, CLI / Extension / DSH Plugin share the same version number.

## [Unreleased]
## [0.3.3] - 2026-10-14

### Changed

- **Breaking — DSH Plugin:** replace `browser_session`, `browser_page`,
`browser_inspect`, `browser_interact`, `browser_tabs`, and `browser_assist` with
the corresponding `bsk_*` names to coexist with other browser plugins.
Actions, arguments, results, and the `browser-skill` skill name are unchanged.
The tool-name migration leaves actions, arguments, results and the
`browser-skill` skill name unchanged.
Old tool names are not registered as aliases. Upgrade the CLI and extension
to the coordinated 0.3.3 release before upgrading the plugin.
Update hardcoded calls and tool policies, restart the host, and reload the skill
in existing conversations. See the [migration guide](packages/dsh-plugin-browserskill/README.md#breaking-tool-api-migration-unreleased).
in existing conversations. See the [migration guide](packages/dsh-plugin-browserskill/README.md#breaking-tool-api-migration-033).
- CLI releases require verified Windows EV signing before publication. Builds,
internal signing and final publication are separate stages. Windows archives
contain the verified signed executable, and `version.json` hashes the final archives.
- External links and manually created tabs that land in a background Agent Window
are routed to a normal user window, preserving task popups and human-assistance
or recording flows. Pending external tabs are excluded from default tool targeting.
- English and Chinese privacy policies describe task video capture, the
`offscreen` permission, browser-local retention, authorized video exports and
deletion. The main READMEs document video recording and the DSH migration.

### Added

- [Task video recording](docs/video-recording.md): opt-in, silent H.264 MP4 capture
of one authorized tab through CLI, DSH or extension controls, with preview,
export, deletion and recovery of playable partial recordings. Recordings have
a 10-minute duration limit, a 256 MiB size limit and 24-hour retention.
- [Structured extraction](docs/structured-extraction.md): discover and export
loaded tables and lists as JSON/CSV, retaining column order, page/frame sources,
merged-cell metadata and explicit completeness information. DSH bounds rows
returned to the model context.
- [Element condition waits](docs/wait-for-element.md) in the CLI, extension and
DSH `bsk_page` tool, with explicit deadlines and recovery guidance.
- CLI browser-selector errors list connected browsers when no instance matches.

### Fixed

Expand All @@ -29,6 +55,22 @@ Starting from 0.2.0, CLI / Extension / DSH Plugin share the same version number.
background-execution lease resends the override and waits for a rendered frame; the
input is sent only once the page reports `visible`, and otherwise still fails before
dispatch.
- Fill editable controls and editor paragraphs through their editing host while
preserving the target paragraph's scope; reject noneditable targets and use a
consistent line model for reading editor text.
- Downloads detect when the browser ignores the requested transfer directory and
validate the final path before importing a file.
- Element waits enforce state and deadline contracts, treat absent elements as
hidden, and retry selectors after stale-node lookups.
- Structured extraction preserves DOM values and bounded partial results, keeps
split grid rows together, and respects nested row ownership and frame visibility.
- CLI navigation exits with code 4 when its lifecycle wait times out; DSH retains
the created session when start-with-URL navigation times out.
- Video recording keeps startup cancellable, bounds capture waits, recovers from
navigation and transient overlay-discovery failures, prevents control-overlay
flashes, and selects an H.264 level appropriate for larger frames.
- Avoid unnecessary debugger cancellation and incomplete tab cleanup in Yandex;
preserve task-popup provenance and recover transient focus changes.

## [0.3.2] - 2026-09-30

Expand Down
4 changes: 2 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ members = [
default-members = ["crates/bsk-cli"]

[workspace.package]
version = "0.3.2"
version = "0.3.3"
edition = "2024"
rust-version = "1.85"
license = "MIT"
Expand Down Expand Up @@ -43,7 +43,7 @@ rand = "0.8"
uuid = { version = "1", features = ["v4", "serde"] }

# Workspace crates (version required for `cargo publish` of dependents)
bsk-protocol = { version = "0.3.2", path = "crates/bsk-protocol" }
bsk-protocol = { version = "0.3.3", path = "crates/bsk-protocol" }

[profile.release]
strip = "symbols"
Expand Down
14 changes: 11 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ Use the `bsk` CLI with Cursor, Claude Code, Codex, OpenClaw, CodeBuddy, WorkBudd
| **Choose the right browser** | Name browser instances, bind a task to a specific profile, or pair an agent running on a server with a browser on your computer. |
| **Review what happened** | Reopen browser-local debugging history, export evidence as JSON, or enable a separate operation audit to review task activity. |
| **Extract structured data** | Export loaded tables and lists as JSON/CSV with column names, page/frame sources, merged-cell metadata and explicit coverage. See [structured extraction](docs/structured-extraction.md). |
| **Record a task as video** | Ask the agent to record one authorized tab as a silent MP4, then preview, save or delete the video from the extension. See [task video recording](docs/video-recording.md). |
| **Wait for page conditions** | Wait for a requested element condition with an explicit timeout before continuing a workflow. See [element waits](docs/wait-for-element.md). |

Watch a browser task in action:

Expand Down Expand Up @@ -158,6 +160,8 @@ In WorkBuddy/CodeBuddy, or hosts that reap command children, the agent should re

The [DSH plugin](packages/dsh-plugin-browserskill/README.md) adds native `bsk_*` tools, browser task previews, and screenshot results to the DeepSeek Harness Web UI. It uses the same `bsk` CLI and extension and includes its own BrowserSkill skill.

**Upgrading to 0.3.3:** update the CLI and extension before the plugin. The six `browser_*` tools have been renamed to `bsk_*`, without aliases for the old names. Update custom tool calls and policies, restart the DSH profile, and invoke `/browser-skill` again in existing conversations. See the [migration guide](packages/dsh-plugin-browserskill/README.md#breaking-tool-api-migration-033).

With DeepSeek Harness, pnpm, and `bsk` installed and the extension connected, add the plugin to your profile:

```sh
Expand Down Expand Up @@ -217,7 +221,7 @@ The name is set in BrowserSkill; it is not automatically taken from Chrome's pro

Keep the browser and its logins on your computer while the agent, CLI, and daemon run on a server. Pair the extension with that server over authenticated WSS; the browser initiates the connection, so your computer needs no inbound port.

The built-in server supports device pairing, renewal, and revocation. Remote mode currently does not support file upload or download. [Remote connection guide](docs/remote-extension-connection.md)
The built-in server supports device pairing, renewal, and revocation. The `bsk upload` and `bsk download` file-transfer commands remain local-only. Authorized video exports can write to the CLI machine, including a remote server; Save MP4 as in the extension writes to the browser computer. [Remote connection guide](docs/remote-extension-connection.md)

## Browser control and privacy

Expand All @@ -234,12 +238,13 @@ These browser settings apply to existing and new sessions. Legacy `--unattended`

BrowserSkill does not operate a mandatory cloud service or collect product telemetry. Automation results go to your selected daemon or gateway and the agent using it; that agent or service may process or retain them under its own policies. The extension does not independently call an AI provider.

| Optional history | Where it is saved | What to know |
| Optional history and recordings | Where it is saved | What to know |
| --- | --- | --- |
| **Website debugging** | The current browser profile, including in remote mode | Retains captured evidence, including available bodies and field values. Stopped records expire after 30 days, with a 50-record / 50 MiB retention budget and earlier eviction when necessary. Stop capture before deleting a record. |
| **Operation audit** | The daemon's host, under `BSK_HOME/audit` | Off by default. Records task and operation metadata, excluding input values, page bodies, screenshots, and file contents. Ended tasks expire after 30 days. |
| **Task video** | The current browser profile; exported copies at the chosen destination | Opt-in, silent capture of one authorized tab, limited to 10 minutes / 256 MiB per video. Recordings expire 24 hours after creation; the temporary video budget is 1 GiB. The library supports preview, export and deletion. |

Both offer export and deletion. Stopping a task or disconnecting does not delete saved history; expiration is applied during history access or cleanup. Exported copies and copies already received by an agent or gateway must be managed separately. Known secrets are filtered from debugging evidence, but redaction cannot guarantee that all sensitive data is removed.
These features offer export and deletion. Stopping a task or disconnecting does not delete retained history or videos; expiration is applied during access or cleanup. Exported copies and copies already received by an agent or gateway must be managed separately. Known secrets are filtered from debugging evidence, but redaction cannot guarantee that all sensitive data is removed. Video frames are not automatically redacted; review visible content before sharing.

[Privacy policy](apps/extension/PRIVACY.md) · [Operation audit](docs/operation-audit.md) · [Debugging retention and limits](docs/website-debugging.md#history-and-export)

Expand Down Expand Up @@ -281,6 +286,9 @@ Stop the daemon in its owning host or supervisor, update with `bsk update --yes
| Install and verify with an agent | [Agent setup](AGENT_INSTALL.md) |
| Investigate a website or API | [Website debugging](docs/website-debugging.md) |
| Capture long pages | [Full-page screenshots](docs/long-screenshot.md) |
| Record and save a task video | [Task video recording](docs/video-recording.md) |
| Export tables or lists | [Structured extraction](docs/structured-extraction.md) |
| Wait for an element condition | [Element waits](docs/wait-for-element.md) |
| Use a specific account or profile | [Browser profiles](docs/browser-profiles.md) |
| Connect a server-side agent | [Remote browser connections](docs/remote-extension-connection.md) |
| Run in a sandbox | [Sandboxed agents](docs/sandboxed-agents.md) |
Expand Down
14 changes: 11 additions & 3 deletions README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ Cursor、Claude Code、Codex、OpenClaw、CodeBuddy、WorkBuddy、Pi、Hermes Ag
| **选对浏览器和账号** | 为浏览器实例命名,让任务绑定指定 Profile;也可以让服务器上的 Agent 连接你电脑上的浏览器。 |
| **回看任务过程** | 重新打开浏览器本地的调试历史、导出 JSON,或单独开启操作审计,查看任务执行记录。 |
| **提取结构化数据** | 将已加载的表格和列表导出为 JSON/CSV,保留列名、页面/frame 来源、合并单元格信息和完整性标记。见[结构化提取说明](docs/structured-extraction.md)。 |
| **录制任务视频** | 让 Agent 将一个已授权标签页录制为无声 MP4,再从扩展中预览、保存或删除视频。见[任务视频录制](docs/video-recording.md)。 |
| **等待页面条件** | 设置明确的超时,等待目标元素满足指定条件后再继续操作。见[元素等待](docs/wait-for-element.md)。 |

看看 Agent 如何完成一次浏览器任务:

Expand Down Expand Up @@ -158,6 +160,8 @@ bsk session stop <id>

[DSH 插件](packages/dsh-plugin-browserskill/README.md) 在 DeepSeek Harness Web UI 中提供原生 `bsk_*` 工具、浏览器任务预览和截图结果。它使用同一套 `bsk` CLI 与扩展,并自带 BrowserSkill skill。

**升级到 0.3.3:**先更新 CLI 和扩展,再更新插件。六个 `browser_*` 工具已改名为 `bsk_*`,不保留旧名称别名。请更新自定义工具调用和策略,重启 DSH profile,并在已有对话中重新调用 `/browser-skill`。详见[迁移指南](packages/dsh-plugin-browserskill/README.md#breaking-tool-api-migration-033)。

安装好 DeepSeek Harness、pnpm 和 `bsk`,连接扩展后,将插件加入你的 profile:

```sh
Expand Down Expand Up @@ -217,7 +221,7 @@ bsk session start --browser "工作账号" --no-focus --json

保留本机浏览器和登录态,让 Agent、CLI 与 daemon 在服务器运行。扩展通过经过鉴权的 WSS 与服务器配对,由浏览器主动建立连接,本机无需开放入站端口。

内置服务端支持设备配对、续期和撤销授权。远程模式目前不支持文件上传和下载。详见[远程连接指南](docs/remote-extension-connection.md)。
内置服务端支持设备配对、续期和撤销授权。`bsk upload` 和 `bsk download` 文件传输命令仍仅支持本地模式。经过授权的视频导出可以写入 CLI 所在计算机,包括远程服务器;扩展中的“另存为 MP4”写入浏览器所在计算机。详见[远程连接指南](docs/remote-extension-connection.md)。

## 浏览器控制与隐私

Expand All @@ -234,12 +238,13 @@ bsk session start --browser "工作账号" --no-focus --json

BrowserSkill 没有必须使用的云服务,也不收集产品遥测。自动化结果交给你选定的 daemon 或网关,以及使用它的 Agent;对应 Agent 或服务可能按自身政策处理或保留数据。扩展不会自行调用 AI 提供商。

| 可选历史记录 | 保存位置 | 需要知道的事 |
| 可选历史与视频记录 | 保存位置 | 需要知道的事 |
| --- | --- | --- |
| **网站调试** | 当前浏览器配置中,远程模式也一样 | 保存采集到的数据,包括可获取的正文和字段值。已停止记录 30 天后过期,保留预算为 50 条/50 MiB,达到限制时可能提前清理。删除记录前需先停止采集。 |
| **操作审计** | daemon 所在主机的 `BSK_HOME/audit` | 默认关闭。记录任务与操作元数据,不记录输入值、页面正文、截图或文件内容。已结束任务 30 天后过期。 |
| **任务视频** | 当前浏览器配置;导出副本保存在指定位置 | 主动开启后,录制一个已授权标签页的无声视频;单个视频上限为 10 分钟/256 MiB,创建 24 小时后过期,临时视频预算为 1 GiB。视频库支持预览、导出和删除。 |

两者均可导出和删除。结束任务或断开连接不会删除已保存的历史,过期记录会在访问历史或执行清理时处理。导出的文件、Agent 或网关已经收到的副本需要另行管理。调试数据会过滤已知敏感信息,但不能保证完全脱敏。
这些功能均支持导出和删除。结束任务或断开连接不会删除保留的历史或视频,过期数据会在访问或清理时处理。导出的文件、Agent 或网关已经收到的副本需要另行管理。调试数据会过滤已知敏感信息,但不能保证完全脱敏。视频画面不会自动脱敏,分享前请检查可见内容。

[隐私政策](apps/extension/PRIVACY.zh-CN.md) · [操作审计](docs/operation-audit.md) · [调试历史与保留限制](docs/website-debugging.md#history-and-export)

Expand Down Expand Up @@ -281,6 +286,9 @@ dsh plugin --profile web update @wxg-prc-cpg/browser-skill-dsh-plugin --latest
| 让 Agent 安装并验证连接 | [安装指南](AGENT_INSTALL.md) |
| 排查网站或接口问题 | [网站调试](docs/website-debugging.md) |
| 截取长页面 | [长截图](docs/long-screenshot.md) |
| 录制并保存任务视频 | [任务视频录制](docs/video-recording.md) |
| 导出表格或列表 | [结构化提取](docs/structured-extraction.md) |
| 等待元素条件 | [元素等待](docs/wait-for-element.md) |
| 使用指定账号或 Profile | [浏览器 Profile](docs/browser-profiles.md) |
| 连接服务器上的 Agent | [远程浏览器连接](docs/remote-extension-connection.md) |
| 在沙盒中使用 | [沙盒环境配置](docs/sandboxed-agents.md) |
Expand Down
Loading
Loading