Back to home@ankye

dsh_use_browser

Codex-style local browser automation for DeepSeek Harness: open pages, interact by @e references, extract content, screenshot, and run page JS — with two backends: managed headless Playwright (fast, invisible) or CDP connected to your own Chrome (visible, and loads Chrome extensions that headless cannot).

Stars
0
Language
JavaScript
Created
Aug 19, 2026
Updated
Aug 19, 2026
GitHub repo

Introduction

dsh_use_browser

English | 中文

Codex-style local browser automation for DeepSeek Harness: open pages, interact by @e references, extract content, screenshot, and run page JS — with two backends: managed headless Playwright (fast, invisible) or CDP connected to your own Chrome (visible, and loads Chrome extensions that headless cannot).

Capabilities

ToolPurpose
browser_openOpen a URL → page summary + interactive @e refs
browser_click / browser_typeInteract by @e ref
browser_extractPage text (body or selector)
browser_screenshotSave a PNG → pair with analyze_image (the vision plugin) to "see" the page
browser_evalRun JavaScript in the page

Requirements & notes

  • Runtime: Node 22+; playwright ~1.61.0 is the only runtime dependency and is resolved from the deploying harness (peer of the deployment, not bundled).
  • One session shares a single browser page: browser_open navigates the current page; later calls act on that page.
  • Screenshots land in /tmp/dsh-browser-*.png — pair with analyze_image (the vision plugin) to "see" the page, since the model context stays text.
  • Headless mode cannot load Chrome extensions; use mode: cdp for extensions or for visible, watchable automation.

Install into an official DeepSeek Harness (no repo modification)

The package declares dsh.bundle, so dsh plugin add mounts it automatically:

dsh plugin --profile web add file:/path/to/dsh_use_browser/packages/use-browser
# or, once published
dsh plugin --profile web add @deepseek-ai/dsh-tool-use-browser

[WARN] Issues with peer dependencies is expected — peers come from the deployment. Restart the harness; the six browser_* tools then appear in every preset.

Configuration (Settings → browser)

FieldDefaultMeaning
modeplaywrightplaywright = headless Chromium; cdp = connect to your Chrome
cdpUrlhttp://localhost:9222CDP endpoint for mode: cdp
headlesstrueHeadless for mode: playwright
timeoutMs30000Default operation timeout

Start a Chrome with extensions for CDP mode:

open -na "Google Chrome" --args --remote-debugging-port=9222 --user-data-dir=/tmp/dsh-chrome

Requirements

  • playwright (installed with the plugin) + a browser binary: npx playwright install chromium (or rely on an existing ~/Library/Caches/ms-playwright cache; the pinned ~1.61.0 matches chromium-1228).
  • CDP mode additionally needs your own Chrome running with --remote-debugging-port.

Development

  • Backend-agnostic: one session manager serves both modes; the tools never change.
  • Screenshots land in /tmp/dsh-browser-*.png and pair with the vision plugin's analyze_image.
  • Workflow guidance ships as SKILL.md.

License

MIT