Skip to content

dsh-browser

Verified

dsh-browser Β· v0.1.0 Β· MIT

Browser automation for DeepSeek Harness: Playwright-powered open/click/type/screenshot/eval tools so the agent can drive real web pages.

Install

dsh plugin add dsh-browser

Confirm the layer applied with dsh --profile default --dump-config β€” see the install guide.

Source

Tags

Creators

Readme

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