Back to DSH Plugins
Reviewed listingLocal fileweb profile

dsh-browser

dsh plugin: Chrome sidebar extension that lets DSH operate your browser directly—no vision capabilities required.

View source

Installation starting point

npx -y @deepseek-ai/dsh plugin --profile web add /absolute/path/to/dsh-browser

Replace the example absolute path with the checkout on your machine. Follow the README below if a build or additional configuration is required.

Saved documentation

README snapshot

Source branch: main

dsh Browser Control

English | 中文

<img width="1701" height="897" alt="dsh Browser Control" src="https://github.com/user-attachments/assets/3b1f3a25-f962-4e02-a9ef-d23e0d01fc8e" />

Connect DeepSeek Harness to the Chrome tab you are already using. The model can read page content, click controls, fill forms, scroll, and navigate while preserving your login state, session, and cookies. A side panel provides the conversation UI.

dsh is DeepSeek AI's open-source, plugin-based agent harness. This repository provides a companion browser bridge plugin and Chrome MV3 extension as one standalone pnpm workspace.

The integration is text-only: pages become structured text with a numbered inventory of interactive elements, and the model addresses those elements by number. Screenshots never enter the model-facing pipeline.

The workspace uses a pinned, publicly available @deepseek-ai/dsh release for reproducible installation. It requires neither a DeepSeek Harness source checkout nor npm credentials. DeepSeek Harness is currently a developer preview, so upgrades may require coordinated dependency and API updates.

Core capabilities

CapabilityToolNotes
Read pagebrowser_snapshotStructured text snapshot: title, URL, main text, numbered controls, and masked form fields; delta: true returns only changes
Click elementbrowser_clickClick links, buttons, checkboxes, and other controls by inventory number
Fill formsbrowser_typeReact/Vue-compatible input; replace clears the field first
Press keysbrowser_pressKeyboard events such as Enter, Tab, Escape, and arrow keys
Scrollbrowser_scrollViewport scrolling: up, down, top, and bottom
Navigatebrowser_navigate / browser_back / browser_forward / browser_reloadIn-tab navigation with login state preserved
Read regionbrowser_get_textLazy-loaded or partial page text
Wait for stabilitybrowser_waitPage-load and render-settle detection

Repository layout

packages/browser/bridge-browser/
extensions/dsh-browser/
examples/browser-bridge.cordis.yml
scripts/install.sh

Why this design

  • Your real browser, not a headless copy: the model works in the page you already have open, retaining logins, sessions, and cookies.
  • A text-first model interface: numbered controls, stable IDs across snapshots, delta updates, and masked sensitive values make pages operable without vision.
  • A narrow privacy boundary: passwords and payment-card values are always rendered as •••• and never leave the page.
  • A guarded bridge: authenticated handshakes protect remote connections, privileged gateway methods reject non-loopback callers, and the extension only operates the active tab.

Zero-configuration install and use

Prerequisites: Node.js ^22.19 or >=24, Corepack/pnpm, and Google Chrome. All required @deepseek-ai packages are available from the public npm registry; installation does not require an npm token.

Step 1 — install dependencies and the extension:

./scripts/install.sh

The script installs the pinned public npm dependencies from the lockfile, builds the bridge plugin, links it into dsh's local web profile, builds the extension, copies it to ~/.dsh/browser-extension, and opens chrome://extensions. Enable Developer mode and load that directory when prompted.

Step 2 — start dsh from this repository root:

pnpm start

Port 3080 is used by default. Run pnpm start -- --port <port> if it is occupied. When the DeepSeek whale icon appears in the toolbar, click it to open the side panel.

For subsequent use, the extension does not need to be installed again. Start dsh from this repository root with:

pnpm start

No configuration is required for local use: the extension discovers dsh through /ext/bridge-config, and loopback connections do not require a bridge token. This runtime security token is unrelated to npm authentication; an address and bridge token are only needed for remote deployment with --host 0.0.0.0.

Step 3 — use it: open any normal http:// or https:// page and click the DeepSeek whale icon. When the side panel reports "Connected", chat normally or click "Read page" first. A page that was already open before the extension was installed or reloaded is instrumented automatically on the first action; no page refresh is needed. Browser-internal and protected pages such as chrome:// and the Chrome Web Store cannot be read or operated.

After updating the code, run ./scripts/install.sh again, click Reload for "dsh Browser Assistant" in chrome://extensions, and reopen the side panel. Chrome should load ~/.dsh/browser-extension; do not load the source directory extensions/dsh-browser/.

Development

The bridge plugin and Chrome extension are both members of this repository's workspace. Run all commands from the repository root. For the first development installation, run pnpm install.

pnpm run build
pnpm run typecheck
pnpm run test

pnpm --filter @deepseek-ai/dsh-bridge-browser run build
pnpm --filter @deepseek-ai/dsh-bridge-browser run typecheck
pnpm --filter @deepseek-ai/dsh-bridge-browser run test

pnpm --filter dsh-browser-extension run build
pnpm --filter dsh-browser-extension run test

Notes:

  • The bridge plugin must have a built lib/ before startup because the loader consumes it; both scripts/install.sh and the root pnpm run build build the plugin before the extension.
  • The dependencies of @deepseek-ai/dsh and the bridge plugin are pinned to the same tested public release line. An upgrade must update the manifests and lockfile together and rerun the root checks.

Security

  • The bridge path sits outside the /api trust boundary and performs its own bearer-token authentication.
  • Privileged gateway methods such as settings.*, credentials.*, and host.open* reject non-loopback sources.
  • The model-facing pipeline is text-only; passwords and payment-card values never leave the page.
  • Only the active tab is operated; the extension never switches tabs silently.

The snapshot helps with discovery but can become outdated. The upstream repository is authoritative for current code, requirements, permissions, and installation steps.

Reviewed

dsh-annotation

DSH Web 选中批注插件:选文字→批注→回车随消息发送;气泡隐藏批注块(零闪烁);回复按 Annotation N 逐条对照(可悬浮芯片)。官方 bundle,零核心改动

npx -y @deepseek-ai/dsh plugin --profile web add @omdsh-dev/dsh-annotation
Package install · web profileView details
Verified for DSH Plugins 0
Reviewed

dsh-memory-evolve

为 DeepSeek Harness 带来「跨会话长期记忆 + 后台自我进化」能力的纯插件实现:五轨记忆 · git 分支感知 · 回合内自我审查 · 技能自我进化与技能管理器 · 四轨待办 · COI 调度 · 会话广播 · 会话搜索 · 提示词管理器 · 临时信息便签——零核心修改、零运行时依赖,随装随用、卸载即净。

npx -y @deepseek-ai/dsh plugin --profile web add /absolute/path/to/dsh-memory-evolve
Local checkout · web profileView details
Verified for DSH Plugins 0
Reviewed

argo

专门为 agent 打造的 agent 搜索工具,具备多语言搜索能力,覆盖中文/英文/学术/代码/购物/金融/新闻/百科。

npx -y @deepseek-ai/dsh plugin --profile web add argo-search
Package install · web profileView details
Verified for DSH Plugins 0