Generic browser automation with six tools (browser_open, browser_click, browser_type, browser_extract, browser_screenshot, browser_eval), @e element references, and dual Playwright-headless / CDP (connect to your own Chrome) backends.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:ankye/dsh_use_browser#path:/packages/use-browser
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
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).
Compatibility
This revision requires DeepSeek Harness core 0.1.2-alpha.5 or later within the 0.1.x line. It uses the Settings service API introduced in that core release.
Capabilities
| Tool | Purpose |
|---|---|
browser_open |
Open a URL → page summary + interactive @e refs |
browser_click / browser_type |
Interact by @e ref |
browser_extract |
Page text (body or selector) |
browser_screenshot |
Save a PNG → pair with analyze_image (the vision plugin) to "see" the page |
browser_eval |
Run JavaScript in the page |
Requirements & notes
- Runtime: Node 22+;
playwright ~1.61.0is 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_opennavigates the current page; later calls act on that page. - Screenshots land in
/tmp/dsh-browser-*.png— pair withanalyze_image(the vision plugin) to "see" the page, since the model context stays text. - Headless mode cannot load Chrome extensions; use
mode: cdpfor 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 dependenciesis expected — peers come from the deployment. Restart the harness; the sixbrowser_*tools then appear in every preset.
Configuration (Settings → browser)
| Field | Default | Meaning |
|---|---|---|
mode |
playwright |
playwright = headless Chromium; cdp = connect to your Chrome |
cdpUrl |
http://localhost:9222 |
CDP endpoint for mode: cdp |
headless |
true |
Headless for mode: playwright |
timeoutMs |
30000 |
Default 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-playwrightcache; the pinned~1.61.0matches 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-*.pngand pair with the vision plugin'sanalyze_image. - Workflow guidance ships as
SKILL.md.
License
MIT
Links
More in this category
Tencent/BrowserSkill#dsh-plugin-browserskill★ 8142
BrowserSkill bridge for controlling visible Chrome and Edge Agent Windows from DeepSeek Harness, with native browser tools, accessibility and VOM observations, screenshots, owned multi-session control, and a live Web UI overlay.
omdsh-dev/dsh-browser#packages/browser/bridge-browser★ 763
Chrome sidebar extension that lets DSH operate your browser directly, no vision capabilities required.
liustack/modsearch★ 591
Web search bridge for text-only agents: ask the web or X, get structured JSON evidence (search, fetch, citations).
DDDMUC/dsh-free-search★ 313
Free, keyless web search for DSH: 7 engines (DuckDuckGo/Bing/SearXNG free + Exa/Perplexity/DeepSeek paid), auto-failover, settings-page UI with API key inputs and official links, web_fetch, and an engine test tool.
Tabbit-Browser/dsh-tabbit★ 101
Gives DeepSeek Harness control of the Tabbit Browser: auto-loads the tabbit-browser skill on install, detects official Tabbit and Tabbit Browser releases (>= 1.9.0), checks the tabbit-cli persistent runtime, diagnoses the per-platform DSH sandbox mode needed to call the CLI, and downloads the region-matched official installer via a background job when no qualifying version is present.
wqty123/dsh-browser★ 100
Shared real browser for DSH: a native Electron window the human can watch and take over, driven by the agent over CDP with 20 browser_* tools (open/snapshot/execute/fill/screenshot/download/auth), per-task session isolation, cookie persistence, CAPTCHA detection; self-hosts on plain dsh web without a desktop shell.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.