Back to plugins
B
dsh-browser
ben7am1n/dsh-browser
Browser automation for DeepSeek Harness: Playwright-powered open/click/type/screenshot/eval tools so the agent can drive real web pages.
Install
dsh plugin --profile web add github:ben7am1n/dsh-browserREADME
dsh-browser
Browser automation for DeepSeek Harness: a Playwright-powered browser_* tool family so the agent can drive real web pages — fill forms, click through flows, scrape SPA content, and take screenshots it can then view with read_image.
Install
dsh plugin --profile <name> add dsh-browser
The plugin depends on playwright-core (bundled with the package) and needs a Chromium-based browser. It tries chromium, then chrome, then msedge channels automatically; if none is found:
npx playwright install chromium
or configure launch.executablePath / launch.channel in the plugin config.
Tools
| Tool | Purpose |
|---|---|
browser_open | Open (or reuse) the browser, optionally navigate to a URL |
browser_navigate | Navigate the current page and wait for load |
browser_click | Click an element by CSS selector |
browser_type | Type text into an input (optionally press Enter) |
browser_select | Select option(s) in a <select> |
browser_screenshot | Capture a PNG to <workspace>/browser-screenshots/; view it with read_image |
browser_eval | Evaluate JavaScript in the page, return JSON |
browser_get_text / browser_get_html | Read visible text or outer HTML |
browser_wait | Wait for slow pages / lazy content |
browser_close | Close the browser (reopenable by any tool) |
browser_install | Explain or verify browser availability |
The browser persists across tool calls — open once, drive many times, close when done.
Configuration
| Field | Default | Meaning |
|---|---|---|
launch.executablePath | — | Absolute path to a browser binary (takes precedence) |
launch.channel | auto (chromium → chrome → msedge) | Browser channel |
launch.navigationTimeoutMs | — | Default navigation/action timeout |
launch.viewport | 1280×800 | Page viewport |
screenshotDir | browser-screenshots | Screenshot directory under the workspace |
# profile cordis.patch.yml
- id: browser
config:
launch:
channel: chrome
navigationTimeoutMs: 30000
Notes
- Runs headless by default; a headed mode may come later.
- Screenshots land in the calling agent's workspace so the model can read them with
read_image.
License
MIT