From 5df93143c583e309900e2e46ffd6c1103a720ce6 Mon Sep 17 00:00:00 2001 From: drakezhang Date: Sat, 29 Aug 2026 14:38:48 +0800 Subject: [PATCH] refactor(dsh-plugin): simplify browser commands --- packages/dsh-plugin-browserskill/README.md | 57 +-- .../scripts/build-skill-content.mjs | 44 +-- .../dsh-plugin-browserskill/skill/SKILL.md | 311 +++++----------- .../src/archive-cleanup.ts | 2 +- .../src/browser-tools.ts | 334 ++++++++++++++++++ ....css => BrowserInspectToolView.module.css} | 2 +- ...oolView.tsx => BrowserInspectToolView.tsx} | 103 ++++-- .../src/client/index.ts | 10 +- packages/dsh-plugin-browserskill/src/index.ts | 15 +- .../dsh-plugin-browserskill/src/lazy-tools.ts | 4 +- .../src/observation.ts | 6 +- .../src/phase-one-runtime.ts | 2 +- .../src/phase-one-tools-interaction.ts | 10 +- .../src/phase-one-tools-navigation.ts | 10 +- .../src/phase-one-tools-support.ts | 22 +- .../src/phase-one-tools-tabs.ts | 28 +- .../dsh-plugin-browserskill/src/sessions.ts | 15 +- .../src/tool-params.ts | 2 +- packages/dsh-plugin-browserskill/src/tools.ts | 82 ++--- ....tsx => browser-inspect-toolview.test.tsx} | 70 ++-- .../tests/dispose.test.ts | 16 +- .../tests/lazy-tools.test.ts | 14 +- .../tests/sessions.test.ts | 4 +- .../tests/skill.test.ts | 40 +-- .../tests/tools.test.ts | 321 +++++++++++------ 25 files changed, 934 insertions(+), 590 deletions(-) create mode 100644 packages/dsh-plugin-browserskill/src/browser-tools.ts rename packages/dsh-plugin-browserskill/src/client/{ScreenshotToolView.module.css => BrowserInspectToolView.module.css} (92%) rename packages/dsh-plugin-browserskill/src/client/{ScreenshotToolView.tsx => BrowserInspectToolView.tsx} (57%) rename packages/dsh-plugin-browserskill/tests/client/{screenshot-toolview.test.tsx => browser-inspect-toolview.test.tsx} (66%) diff --git a/packages/dsh-plugin-browserskill/README.md b/packages/dsh-plugin-browserskill/README.md index 771f4288..739bd7bb 100644 --- a/packages/dsh-plugin-browserskill/README.md +++ b/packages/dsh-plugin-browserskill/README.md @@ -5,41 +5,20 @@ npm: [`@wxg-prc-cpg/browser-skill-dsh-plugin`](https://www.npmjs.com/package/@wx A [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) (dsh) tool plugin that exposes [BrowserSkill](https://github.com/Tencent/BrowserSkill) (`bsk`) browser automation to the model. -Each tool maps to one `bsk --json` invocation: the plugin spawns the bsk CLI, parses its +Each action maps to one `bsk --json` invocation: the plugin spawns the bsk CLI, parses its structured JSON output, and returns a canonical typed value. The bsk daemon, browser, and browser extension keep owning the actual browser control — this package is a thin, well-typed bridge. ## Tools -| Tool | bsk command | Purpose | +| Tool | Actions | Purpose | | --- | --- | --- | -| `browser_session_start` | `bsk session start` | Open an Agent Window session; optional initial URL, window size, and device emulation preset. Returns the session id and makes it the current session. | -| `browser_session_stop` | `bsk session stop` | Stop a session (the current one by default) and close its Agent Window. Only plugin-created sessions can be stopped. | -| `browser_session_list` | — (registry only) | List the sessions this plugin created, marking the current one. Foreign daemon sessions are never shown. | -| `browser_navigate` | `bsk navigate` | Navigate the active tab, with `waitUntil` / timeout control. | -| `browser_snapshot` | `bsk snapshot` | Indented aria-tree snapshot with `@eN` refs for interaction tools. | -| `browser_observe` | `bsk observe` | Semantic VOM observation (read-only) with `@eN` refs. | -| `browser_click` | `bsk click` | Click a snapshot ref or CSS selector (button / click-count options). | -| `browser_hover` | `bsk hover` | Hover a ref or selector and allow hover-triggered UI to settle. | -| `browser_fill` | `bsk fill` | Fill an input / textarea / contenteditable (clears first by default). | -| `browser_select` | `bsk select` | Select one or more option values on a `