nguyenhnhatquang/DSH-Plugins--packages-browserkit ↗★ 0
dsh-plugin-browserkit
Browser tools for DeepSeek Harness agents: drive a real browser to test UI and to automate it — accessibility snapshots, ref-based interaction, assertions, tabs, dialogs, login persistence, uploads, screenshots, and CDP attach to an existing browser. 适合需要驱动真实浏览器进行网页截图、登录保持和自动化测试的智能体。
설치
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:nguyenhnhatquang/DSH-Plugins#2b12724a0d8c163f1be85deddb7a41f10a8daed2&path:packages/browserkitConfiguration
All fields are optional; the defaults below are complete. Unknown keys are rejected at load, so a typo fails loudly rather than silently keeping a default.
| Field | Default | Type | Description |
|---|---|---|---|
headless | true | boolean | Run the browser headless. Set false to watch a failing test. |
agent | "chrome" | "chrome" | "msedge" | "chromium" | "auto" | Preferred browser. chrome/msedge use the installed stable build; chromium uses the Playwright-managed build. |
channelFallback | true | boolean | When the preferred browser is not installed, fall back through the remaining agents instead of failing. |
executablePath | "" | string | Explicit browser executable. Wins over agent; set it to smoke-test one specific build. |
launchArgs | [] | string[] | Extra Chromium command-line switches (for example --disable-dev-shm-usage in a small container). |
viewportWidth | 1280 | integer (>= 200, = 200, = 250, = 250, = 1000, = 1000, = 1, /.browserkit` at load time; artifact paths can never leave this directory. | |
screenshotType | "png" | "png" | "jpeg" | Image format for screenshot artifacts. |
attachImagesToContext | true | boolean | Also place screenshots in model context when the active model accepts image input. The file is always written. |
allowEvaluate | true | boolean | Allow browser_eval. Page JavaScript can read page secrets, so a hardened deployment sets this false. |
maxSessions | 8 | integer (>= 1, = 0, = 0, = 1, <= 64) | Tabs allowed per session. Newly opened popups beyond this are closed, so an ad that spawns windows cannot grow the session without bound. |
cdpEndpoint | "" | string | Attach to an already-running browser over CDP instead of launching one, for example http://127.0.0.1:9222. Use it to drive a logged-in or anti-detect profile. |
cdpUseExistingContext | true | boolean | When attaching over CDP, drive the browser's existing context and tabs. Set false to open an isolated context in the attached browser instead. |
storageStatePath | "" | string | Default storage state (cookies and web storage) every session starts from, so an automation run begins logged in. browser_open can override it per session. |
uploadRoots | [] | string[] | Extra directories that browser_upload may read files from. The artifacts directory is always allowed; nothing else is, because uploading a local file to a page is a read primitive the harness file sandbox does not cover. |
Example row:
- id: browserkit
name: 'dsh-plugin-browserkit'
config:
headless: false
defaultTimeoutMs: 20000
artifactsDir: ./test-artifacts
allowEvaluate: false