mirror of
https://github.com/Tencent/BrowserSkill.git
synced 2026-09-10 13:01:23 +08:00
Compare commits
4
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
731139954b | ||
|
|
90b0ff301b | ||
|
|
e74f354e90 | ||
|
|
05c036518a |
+18
-1
@@ -5,7 +5,24 @@ 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.
|
Starting from 0.2.0, CLI / Extension / DSH Plugin share the same version number.
|
||||||
|
|
||||||
## [Unreleased]
|
## [0.2.1] - 2026-09-09
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- DSH Plugin: clarified installation, configuration, profile restart, and upgrade instructions
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- CLI: reliable Windows self-updates, including executable replacement and daemon restart
|
||||||
|
- CLI: Windows named-pipe connection continuity and stale daemon process detection
|
||||||
|
- Windows installer: PowerShell 5.1 compatibility, path quoting, and staged executable replacement
|
||||||
|
- CLI / DSH Plugin: cancellation propagation and upload/download cleanup when the parent process exits
|
||||||
|
- Extension: tab ownership and session cleanup when agent tabs fail to open or borrowed tabs are returned or closed
|
||||||
|
- Extension: navigation recovery when other extensions restrict Chrome DevTools Protocol access
|
||||||
|
- Extension: background input filling, automatic append behavior, and verification of field values before reporting success
|
||||||
|
- Extension: match observed form state to the correct element after page changes
|
||||||
|
- Extension: UUID generation fallback for recording and overlays on insecure origins
|
||||||
|
- Browser locale matching for regional language variants
|
||||||
|
- DSH Plugin: observation state synchronization, thumbnail capture lifecycle, and stale preview cleanup
|
||||||
|
- DSH Plugin: removed the obsolete client runtime host dependency
|
||||||
|
|
||||||
## [0.2.0] - 2026-09-02
|
## [0.2.0] - 2026-09-02
|
||||||
|
|
||||||
|
|||||||
Generated
+2
-2
@@ -134,7 +134,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "bsk"
|
name = "bsk"
|
||||||
version = "0.2.0"
|
version = "0.2.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"base64",
|
"base64",
|
||||||
@@ -169,7 +169,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "bsk-protocol"
|
name = "bsk-protocol"
|
||||||
version = "0.2.0"
|
version = "0.2.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"schemars",
|
"schemars",
|
||||||
"semver",
|
"semver",
|
||||||
|
|||||||
+2
-2
@@ -7,7 +7,7 @@ members = [
|
|||||||
default-members = ["crates/bsk-cli"]
|
default-members = ["crates/bsk-cli"]
|
||||||
|
|
||||||
[workspace.package]
|
[workspace.package]
|
||||||
version = "0.2.0"
|
version = "0.2.1"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
rust-version = "1.85"
|
rust-version = "1.85"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
@@ -43,7 +43,7 @@ rand = "0.8"
|
|||||||
uuid = { version = "1", features = ["v4", "serde"] }
|
uuid = { version = "1", features = ["v4", "serde"] }
|
||||||
|
|
||||||
# Workspace crates (version required for `cargo publish` of dependents)
|
# Workspace crates (version required for `cargo publish` of dependents)
|
||||||
bsk-protocol = { version = "0.2.0", path = "crates/bsk-protocol" }
|
bsk-protocol = { version = "0.2.1", path = "crates/bsk-protocol" }
|
||||||
|
|
||||||
[profile.release]
|
[profile.release]
|
||||||
strip = "symbols"
|
strip = "symbols"
|
||||||
|
|||||||
@@ -47,14 +47,17 @@ extension.
|
|||||||
|
|
||||||
## Quick Start
|
## Quick Start
|
||||||
|
|
||||||
|
### 1. Install the CLI and skill
|
||||||
|
|
||||||
<details open>
|
<details open>
|
||||||
<summary><b>Install with your Agent (recommended)</b></summary>
|
<summary><b>Install with your Agent (recommended)</b></summary>
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
Already using Cursor, Claude Code, Codex, or another shell-capable agent? Just
|
Already using Cursor, Claude Code, Codex, WorkBuddy, or another shell-capable
|
||||||
copy this one line and send it to your agent — it will install the CLI and skill
|
agent? Just copy this one line and send it to your agent — it will install the
|
||||||
for you, then walk you through loading the extension:
|
CLI and skill for you. You will install the browser extension yourself in step 2
|
||||||
|
below.
|
||||||
|
|
||||||
```text
|
```text
|
||||||
Set up browser-skill on this machine by following https://raw.githubusercontent.com/Tencent/BrowserSkill/main/AGENT_INSTALL.md
|
Set up browser-skill on this machine by following https://raw.githubusercontent.com/Tencent/BrowserSkill/main/AGENT_INSTALL.md
|
||||||
@@ -67,10 +70,9 @@ Set up browser-skill on this machine by following https://raw.githubusercontent.
|
|||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
Install the CLI, then install the extension from the [Chrome Web Store](https://chromewebstore.google.com/detail/hhcmgoofomhgciiibhipgmgkgnoenaoi)
|
Install the CLI and skill with the commands below.
|
||||||
or [Edge Add-ons](https://microsoftedge.microsoft.com/addons/detail/browserskill/emacgiaaaiojkkpkddmmdfhmokgmnikg).
|
|
||||||
|
|
||||||
#### 1. Install the `bsk` CLI
|
#### Install the `bsk` CLI
|
||||||
|
|
||||||
**macOS / Linux** (recommended — installs to `~/.local/bin`):
|
**macOS / Linux** (recommended — installs to `~/.local/bin`):
|
||||||
|
|
||||||
@@ -90,18 +92,7 @@ Verify the binary:
|
|||||||
bsk --version
|
bsk --version
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 2. Install the browser extension
|
#### Install the skill
|
||||||
|
|
||||||
Install BrowserSkill from your browser's store:
|
|
||||||
|
|
||||||
| Browser | Store listing |
|
|
||||||
| --- | --- |
|
|
||||||
| Chrome | [Chrome Web Store](https://chromewebstore.google.com/detail/hhcmgoofomhgciiibhipgmgkgnoenaoi) |
|
|
||||||
| Microsoft Edge | [Edge Add-ons](https://microsoftedge.microsoft.com/addons/detail/browserskill/emacgiaaaiojkkpkddmmdfhmokgmnikg) |
|
|
||||||
|
|
||||||
On other Chromium-based browsers, install the Chrome Web Store build.
|
|
||||||
|
|
||||||
#### 3. Install the skill
|
|
||||||
|
|
||||||
BrowserSkill ships a skill that teaches your agent harness how to use `bsk`. For
|
BrowserSkill ships a skill that teaches your agent harness how to use `bsk`. For
|
||||||
these harnesses, install it in one step:
|
these harnesses, install it in one step:
|
||||||
@@ -136,6 +127,21 @@ dedicated plugin instead — see [DeepSeek Harness plugin](#deepseek-harness-plu
|
|||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
|
### 2. Install the browser extension
|
||||||
|
|
||||||
|
Due to current browser security policies, you still need to manually install
|
||||||
|
the extension for your browser.
|
||||||
|
Open the store link for your browser and confirm the extension installation:
|
||||||
|
|
||||||
|
| Browser | Store listing |
|
||||||
|
| --- | --- |
|
||||||
|
| Chrome | [Chrome Web Store](https://chromewebstore.google.com/detail/browserskill/hhcmgoofomhgciiibhipgmgkgnoenaoi) |
|
||||||
|
| Microsoft Edge | [Edge Add-ons](https://microsoftedge.microsoft.com/addons/detail/browserskill/emacgiaaaiojkkpkddmmdfhmokgmnikg) |
|
||||||
|
|
||||||
|
On other Chromium-based browsers, install the Chrome Web Store build.
|
||||||
|
|
||||||
|
### 3. Start using BrowserSkill
|
||||||
|
|
||||||
Start a new Agent session and write a prompt that needs the browser, for example:
|
Start a new Agent session and write a prompt that needs the browser, for example:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
|
|||||||
+20
-16
@@ -36,12 +36,14 @@ BrowserSkill 由两个本地运行组件组成:`bsk` CLI/daemon 和浏览器
|
|||||||
|
|
||||||
## 快速开始
|
## 快速开始
|
||||||
|
|
||||||
|
### 1. 安装 CLI 和 skill
|
||||||
|
|
||||||
<details open>
|
<details open>
|
||||||
<summary><b>让 Agent 帮你安装(推荐)</b></summary>
|
<summary><b>让 Agent 帮你安装(推荐)</b></summary>
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
已经在用 Cursor、Claude Code、Codex 或其他支持 Shell 的 Agent?只需复制下面这句话发给 Agent,它会帮你安装 CLI 和 skill,并引导你加载浏览器扩展:
|
已经在用 Cursor、Claude Code、Codex、WorkBuddy 或其他支持 Shell 的 Agent?只需复制下面这句话发给 Agent,它会帮你安装 CLI 和 skill。浏览器扩展仍需你按下方第 2 步自行安装。
|
||||||
|
|
||||||
```text
|
```text
|
||||||
按照 https://raw.githubusercontent.com/Tencent/BrowserSkill/main/AGENT_INSTALL.md 的说明,在本机安装并配置 browser-skill
|
按照 https://raw.githubusercontent.com/Tencent/BrowserSkill/main/AGENT_INSTALL.md 的说明,在本机安装并配置 browser-skill
|
||||||
@@ -54,10 +56,9 @@ BrowserSkill 由两个本地运行组件组成:`bsk` CLI/daemon 和浏览器
|
|||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
先安装 CLI,再从 [Chrome Web Store](https://chromewebstore.google.com/detail/hhcmgoofomhgciiibhipgmgkgnoenaoi)
|
按以下命令安装 CLI 和 skill。
|
||||||
或 [Edge 加载项商店](https://microsoftedge.microsoft.com/addons/detail/browserskill/emacgiaaaiojkkpkddmmdfhmokgmnikg) 安装浏览器扩展。
|
|
||||||
|
|
||||||
#### 1. 安装 `bsk` CLI
|
#### 安装 `bsk` CLI
|
||||||
|
|
||||||
**macOS / Linux**(推荐,安装到 `~/.local/bin`):
|
**macOS / Linux**(推荐,安装到 `~/.local/bin`):
|
||||||
|
|
||||||
@@ -77,18 +78,7 @@ irm https://raw.githubusercontent.com/Tencent/BrowserSkill/main/install.ps1 | ie
|
|||||||
bsk --version
|
bsk --version
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 2. 安装浏览器扩展
|
#### 安装 skill
|
||||||
|
|
||||||
在对应浏览器的商店安装 BrowserSkill:
|
|
||||||
|
|
||||||
| 浏览器 | 商店页面 |
|
|
||||||
| --- | --- |
|
|
||||||
| Chrome | [Chrome Web Store](https://chromewebstore.google.com/detail/hhcmgoofomhgciiibhipgmgkgnoenaoi) |
|
|
||||||
| Microsoft Edge | [Edge 加载项商店](https://microsoftedge.microsoft.com/addons/detail/browserskill/emacgiaaaiojkkpkddmmdfhmokgmnikg) |
|
|
||||||
|
|
||||||
其他基于 Chromium 的浏览器,安装 Chrome Web Store 版本即可。
|
|
||||||
|
|
||||||
#### 3. 安装 skill
|
|
||||||
|
|
||||||
BrowserSkill 自带 skill,用于教 Agent harness 如何使用 `bsk`。以下 harness 可一键安装:
|
BrowserSkill 自带 skill,用于教 Agent harness 如何使用 `bsk`。以下 harness 可一键安装:
|
||||||
|
|
||||||
@@ -117,6 +107,20 @@ bsk install-skill
|
|||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
|
### 2. 安装浏览器扩展
|
||||||
|
|
||||||
|
目前由于浏览器的安全策略,您还需要手动安装对应的浏览器扩展。
|
||||||
|
点击对应浏览器的商店链接,并在浏览器中确认安装扩展:
|
||||||
|
|
||||||
|
| 浏览器 | 商店页面 |
|
||||||
|
| --- | --- |
|
||||||
|
| Chrome | [Chrome Web Store](https://chromewebstore.google.com/detail/browserskill/hhcmgoofomhgciiibhipgmgkgnoenaoi) |
|
||||||
|
| Microsoft Edge | [Edge 加载项商店](https://microsoftedge.microsoft.com/addons/detail/browserskill/emacgiaaaiojkkpkddmmdfhmokgmnikg) |
|
||||||
|
|
||||||
|
其他基于 Chromium 的浏览器,安装 Chrome Web Store 版本即可。
|
||||||
|
|
||||||
|
### 3. 开始使用 BrowserSkill
|
||||||
|
|
||||||
启动一个新的 Agent 会话,写一条需要使用浏览器的 prompt,例如:
|
启动一个新的 Agent 会话,写一条需要使用浏览器的 prompt,例如:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@browser-skill/extension",
|
"name": "@browser-skill/extension",
|
||||||
"version": "0.2.0",
|
"version": "0.2.1",
|
||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@wxg-prc-cpg/browser-skill-dsh-plugin",
|
"name": "@wxg-prc-cpg/browser-skill-dsh-plugin",
|
||||||
"description": "DeepSeek Harness tool plugin that exposes BrowserSkill browser automation (browser_* tools) to the model",
|
"description": "DeepSeek Harness tool plugin that exposes BrowserSkill browser automation (browser_* tools) to the model",
|
||||||
"version": "0.2.0",
|
"version": "0.2.1",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public",
|
"access": "public",
|
||||||
|
|||||||
+9
-3
@@ -174,16 +174,22 @@ function updateChangelog(version) {
|
|||||||
|
|
||||||
const today = new Date().toISOString().slice(0, 10);
|
const today = new Date().toISOString().slice(0, 10);
|
||||||
const escapedVer = version.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
const escapedVer = version.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
||||||
|
const versionHeading = new RegExp(`^## \\[${escapedVer}\\](?:\\s|$)`, "m");
|
||||||
|
|
||||||
// First: fill in any date-placeholder line for this version (e.g. "## [0.2.0] - 2026-09-XX")
|
// First: fill in any date-placeholder line for this version (e.g. "## [0.2.0] - 2026-09-XX")
|
||||||
const versionPlaceholder = new RegExp(`^## \\[${escapedVer}\\]\\s*-\\s*\\d{4}-\\d{2}-XX`, "m");
|
const versionPlaceholder = new RegExp(`^## \\[${escapedVer}\\]\\s*-\\s*\\d{4}-\\d{2}-XX`, "m");
|
||||||
if (versionPlaceholder.test(content)) {
|
if (versionPlaceholder.test(content)) {
|
||||||
content = content.replace(versionPlaceholder, `## [${version}] - ${today}`);
|
content = content.replace(versionPlaceholder, `## [${version}] - ${today}`);
|
||||||
} else {
|
} else if (!versionHeading.test(content)) {
|
||||||
// Otherwise: insert a new section after [Unreleased]
|
// Preserve prepared release entries; new versions go before the release history.
|
||||||
|
const heading = `## [${version}] - ${today}`;
|
||||||
const unreleased = /^## \[Unreleased\]/m;
|
const unreleased = /^## \[Unreleased\]/m;
|
||||||
if (unreleased.test(content)) {
|
if (unreleased.test(content)) {
|
||||||
content = content.replace(unreleased, `## [Unreleased]\n\n## [${version}] - ${today}`);
|
content = content.replace(unreleased, `## [Unreleased]\n\n${heading}`);
|
||||||
|
} else if (/^## /m.test(content)) {
|
||||||
|
content = content.replace(/^## /m, `${heading}\n\n## `);
|
||||||
|
} else {
|
||||||
|
content = `${content.trimEnd()}\n\n${heading}\n`;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user