dsh-browser
Browser-enabled DeepSeek Harness distribution with Playwright automation
- Stars
- 0
- Language
- TypeScript
- Created
- Aug 19, 2026
- Updated
- Aug 19, 2026
Introduction
dsh-browser
English | 中文
dsh-browser is a browser-enabled source distribution of DeepSeek Harness. It adds a Playwright-backed, session-scoped browser capability to the DSH Web UI: the agent can open pages, inspect snapshots, interact with elements, and retain cookies within its own session.
This repository is an independent community distribution, not an official DeepSeek release. It contains only committed open-source source files; browser profiles, downloads, screenshots, credentials, and local configuration are excluded.
Browser demo
The video below demonstrates a DSH agent using this harness to search public web pages, inspect browser snapshots, and interact with the rendered page.
▶️ Watch the browser demo (MP4)
Run
Run from source
The browser packages are not yet published independently on npm, so install this repository from source.
git clone https://github.com/ROOKIE02314/dsh-browser.git
cd dsh-browser
pnpm install --frozen-lockfile
pnpm --filter @deepseek-ai/dsh-browser-playwright exec playwright-cli install-browser
pnpm run build
pnpm dsh web --patch examples/browser/cordis.yml
Requirements: Node.js ^22.19.0 || >=24, pnpm 11.7.0, and either the browser installed by the command above or a supported local Google Chrome. Open the URL printed by dsh web, create a session, then ask the agent to run browser open https://example.com, browser snapshot, and browser click e21.
examples/browser/cordis.yml enables the browser, browser-playwright, and tool-browser rows. They stay disabled in the ordinary Web profile, so browser automation is an explicit opt-in.
Security
The Playwright browser is a Host process and does not run inside DSH's shell sandbox. It can reach sites visible to the Host and, after sign-in, act with that account's authority. Enable it only for agents you trust.
- Keep
persistent: falseunless retaining browser login state after a restart is intentional. - The dashboard binds to loopback by default; do not expose it through a public proxy.
- Do not put browser profiles, screenshots, downloads, cookies, API keys, or
.envfiles in Git. The repository ignores the standard local browser directories, but reviewgit statusbefore every commit.
See the browser example for the Web UI flow, the browser subsystem reference for the capability design, and the Playwright provider README for configuration.
Community contributions
The code is organized as a DSH capability seam:
packages/browser/browserdefinesctx.browserand provider selection.packages/browser/browser-playwrightprovides the pinned Playwright CLI backend.packages/browser/tool-browseradds model-facingbrowserandbrowser_helptools.packages/client/ui-browserrenders the replayable action feed and live dashboard.
Additional browser providers are welcome. Keep provider processes and session state in the provider package; keep the model-facing tool schema provider-neutral. Read the architecture guide before changing packages.
License and provenance
The source is distributed under the MIT License. It is derived from DeepSeek Harness at source commit 5bb9087465203c46704a9a7ccfa0588d6db7bcb4; THIRD_PARTY_NOTICES.md records dependency licenses.