dsh-builtin-browser 0.1.7 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.en.md +21 -3
  2. package/README.md +21 -3
  3. package/package.json +2 -2
package/README.en.md CHANGED
@@ -2,17 +2,35 @@
2
2
 
3
3
  中文 | [English](README.en.md)
4
4
 
5
- A shared real browser capability plugin for [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness): a visible browser the human watches and can take over, driven by the agent over CDP.
5
+ A shared **real browser** capability plugin for [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness): install and it just works — the agent drives a real, visible browser over CDP that the human can watch and take over at any time. Human and agent operate the **very same page**.
6
6
 
7
- This plugin provides the **host-side capability** (browser seam, Electron CDP provider, `browser_*` model tools). The browser's **native view itself** is supplied by the host (a desktop shell) through `ctx.electronViewHost`; the plugin contains no browser UI.
7
+ **Why this plugin**
8
+
9
+ - **Install-and-use.** With a desktop shell the shell's embedded view is used; on plain `dsh web` the plugin **self-hosts** — it spawns its own Electron window with zero extra configuration.
10
+ - **Real and visible, human-takeover friendly.** Not a headless screenshot or a relay: the user sees the page and can grab control directly.
11
+ - **DOM-level driving, framework-friendly.** React/Vue controlled inputs fill reliably.
12
+ - **Concurrency-safe.** Task-level browser session isolation — parallel tasks never fight over the page or pollute each other.
13
+ - **Built for the real world.** CAPTCHA detection, login persistence, batch form filling, authenticated downloads, operation replay, and action restriction — all included.
8
14
 
9
15
  ## Features
10
16
 
17
+ **Browser capability**
18
+
11
19
  - **Real view, not a relay.** The browser is a native view (`WebContentsView`) the human can see and operate directly; the agent drives the very same page. The view is provided by the host shell; the plugin drives it.
12
20
  - **DOM-referenced, not coordinate-guessing.** `browser_snapshot` returns numbered interactive elements; `browser_execute` runs JS in the page (native setters for framework inputs), so interaction works on React/Vue pages.
13
21
  - **Multi-tab sessions.** Open URLs in parallel tabs, list/switch/close/reset, all keeping state.
14
22
  - **Multi-format content.** Fetch pages as html / markdown / txt / json, scoped by selector, capped by length and timeout.
15
23
 
24
+ **Engineering capability**
25
+
26
+ - **Per-task isolation.** Each DSH task (session) gets its own browser session (own tabs and history); concurrent tasks never interfere, and calls within one task reuse the same session (`browser_session` / `browser_reset_session`).
27
+ - **Login persistence.** `browser_auth` exports/restores cookies, so logins survive host restarts.
28
+ - **CAPTCHA / bot-detection awareness.** Cloudflare, reCAPTCHA, hCaptcha, Turnstile and generic challenges are detected automatically (`browser_challenge`, and flagged in snapshots); instead of blindly retrying, the agent asks the human to complete it in the shared window.
29
+ - **Batch form filling.** `browser_fill` sets many fields in one call — matched by selector/name/label, handling controlled inputs, selects, checkboxes and radio groups, with optional submit.
30
+ - **Operation history & replay.** `browser_history` records operations; `browser_replay` re-runs one step.
31
+ - **Authenticated downloads.** `browser_download` fetches a URL with the session's cookies straight to a local file.
32
+ - **Safety restriction.** `browser_restrict` limits which browser actions are allowed, preventing stray clicks/navigation.
33
+
16
34
  ## Requirements
17
35
 
18
36
  - DeepSeek Harness (dsh) with the `web` profile
@@ -28,7 +46,7 @@ This plugin provides the **host-side capability** (browser seam, Electron CDP pr
28
46
  | DeepSeek Harness (dsh) | `0.1.0-rc.5` |
29
47
  | Electron | `43.4.0` |
30
48
  | Node.js | `22.20.0` |
31
- | dsh-builtin-browser | `0.1.3` |
49
+ | dsh-builtin-browser | `0.1.7` |
32
50
  | OS | Windows 10 (10.0.26200) |
33
51
 
34
52
  > The plugin declares `electron >= 30`; other platforms (macOS/Linux) run the same protocol but were only verified on the Windows environment above.
package/README.md CHANGED
@@ -2,17 +2,35 @@
2
2
 
3
3
  [English](README.en.md) | 中文
4
4
 
5
- 面向 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) 的共享真实浏览器能力插件:一个用户可见、可随时接管的浏览器,由 agent 通过 CDP 驱动。
5
+ 面向 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) 的**共享真实浏览器**能力插件:装好即可用——agent 通过 CDP 驱动一个真实、可见、可随时人工接管的浏览器,人与 agent 操作的是**同一个页面**。
6
6
 
7
- 本插件提供 **host 侧能力**(浏览器 seam、Electron CDP provider、`browser_*` 模型工具)。浏览器本身的**原生视图**由宿主(桌面外壳)通过 `ctx.electronViewHost` 提供;插件不包含浏览器界面 UI。
7
+ **我们的优势**
8
+
9
+ - **装好即用**:有桌面外壳时嵌入外壳视图;纯 `dsh web` 也能**自托管**拉起自己的 Electron 窗口,不需要任何额外配置。
10
+ - **真实可见、人工可接管**:不是无头截屏或转播,用户随时能看到页面并直接接手操作。
11
+ - **DOM 级驱动,框架友好**:React/Vue 受控组件也能可靠填写。
12
+ - **并发安全**:任务级浏览器会话隔离,多个任务并行互不抢页面、不互相污染。
13
+ - **面向真实世界**:人机验证识别、登录态持久化、批量填表、带登录态下载、操作回放、动作限制,一应俱全。
8
14
 
9
15
  ## 功能
10
16
 
17
+ **浏览器能力**
18
+
11
19
  - **真实视图,而非转播。** 浏览器是原生视图(`WebContentsView`),用户可直接看到并操作;agent 驱动的是同一个页面。视图由宿主外壳提供,插件负责驱动。
12
20
  - **DOM 引用,而非猜坐标。** `browser_snapshot` 返回带编号的交互元素;`browser_execute` 在页面里执行 JS(框架输入用原生 setter),在 React/Vue 页面上也能可靠交互。
13
21
  - **多标签会话。** 并行打开 URL、查看/切换/关闭/重置标签,状态保持。
14
22
  - **多格式内容。** 以 html / markdown / txt / json 抓取页面,支持 selector 限定、长度与超时上限。
15
23
 
24
+ **工程化能力**
25
+
26
+ - **按任务隔离。** 每个 DSH 任务(会话)拥有独立的浏览器会话(独立标签页与历史),并发任务互不干扰;同一任务内多次调用复用同一会话(`browser_session` / `browser_reset_session`)。
27
+ - **登录态持久化。** `browser_auth` 导出/恢复 cookie,重启后登录态不丢。
28
+ - **人机验证识别。** 自动检测 Cloudflare / reCAPTCHA / hCaptcha / Turnstile 等挑战(`browser_challenge`,快照也会标注),提示人工在共享窗口完成,不再盲目重试。
29
+ - **批量表单填充。** `browser_fill` 一次填写多个字段:按选择器/名称/标签匹配,支持受控输入、下拉、单选/复选,可选提交。
30
+ - **操作历史与回放。** `browser_history` 记录操作日志,`browser_replay` 可回放某一步。
31
+ - **带登录态下载。** `browser_download` 用会话 cookie 把文件取到本地,登录后内容可直接落盘。
32
+ - **安全限制。** `browser_restrict` 限制允许的浏览器动作,防误点/误导航。
33
+
16
34
  ## 环境要求
17
35
 
18
36
  - DeepSeek Harness(dsh)且安装了 `web` profile
@@ -28,7 +46,7 @@
28
46
  | DeepSeek Harness(dsh) | `0.1.0-rc.5` |
29
47
  | Electron | `43.4.0` |
30
48
  | Node.js | `22.20.0` |
31
- | dsh-builtin-browser | `0.1.3` |
49
+ | dsh-builtin-browser | `0.1.7` |
32
50
  | 操作系统 | Windows 10 (10.0.26200) |
33
51
 
34
52
  > 插件声明 `electron >= 30`;其他平台(如 macOS/Linux)按同一协议运行,但仅在上表 Windows 环境实测。
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "dsh-builtin-browser",
3
- "version": "0.1.7",
4
- "description": "Shared real browser capability for DeepSeek Harness: a visible browser the human watches and can take over, driven by the agent over CDP (snapshot/execute/content/tab management); host-side seam, provider, and browser_* tools",
3
+ "version": "0.1.8",
4
+ "description": "Shared real browser plugin for DeepSeek Harness: install-and-use — a visible native browser the human can take over, driven by the agent over CDP. DOM-level interaction (React/Vue safe), per-task session isolation, cookie persistence (browser_auth), CAPTCHA detection, batch form fill (browser_fill), authenticated download, history/replay, action restriction",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
7
7
  "types": "lib/index.d.ts",