DSH Plugins Marketplace

DSH Plugins

Plugins

/

Tools & Capabilities

/

dsh-preview

d

dsh-preview

Manifest valid

Headless-browser verification tools so the agent opens the page it just built, reads the rendered DOM and computed styles, checks the console, and screenshots the result; ships a frontend-verify skill

hasBundlePatch

dsh-preview

English | 中文

A verification loop the agent runs on itself, not just browser tools.

Reading a page without a vision model is ordinary now — several plugins here do it, and do it well. What this ships is the discipline around it: a bundled frontend-verify skill that makes the agent open what it just built, check the console, assert layout facts from computed styles, exercise the UI, fix what it finds, and re-verify — before claiming the work is done. The six tools exist to serve that loop.

The distinction matters because the failure this addresses is not "the agent cannot see the page". It is that the agent never thinks to look, reports work as finished from re-reading its own source, and leaves you to open the browser and describe what broke.

What it looks like

The voxel world the agent verified

Screenshot taken by the agent itself, mid-verification.

A real, unedited run: a dsh agent (DeepSeek-V4-Pro) was asked to verify a Three.js voxel game it had built earlier. With dsh-preview installed it did all of this autonomously:

  1. browser_open http://localhost:8091 — page loaded, no console errors during load.
  2. browser_console — one 404 (/favicon.ico), correctly triaged as harmless; all 7 local resources returned 200.
  3. browser_read — confirmed the start screen copy, control help, and HUD text.
  4. browser_interact (click the start button) — overlay closed, HUD appeared, it watched the coordinates fall from 41.0 to 39.0 and FPS settle at 120, and concluded the physics and render loops were alive. No new errors.
  5. browser_screenshot — before/after PNGs saved into the workspace for the human.
  6. Reported exactly what it verified — and what it couldn't (GPU rendering fidelity, real pointer-lock feel).

No human relayed a single screenshot.

Install

dsh plugin --profile web add dsh-preview

Works with any Chromium on your machine — Google Chrome and Microsoft Edge are picked up automatically; otherwise run npx playwright install chromium once and set browserChannels to [chromium].

Requires Node ^22.19 || >=24 (same as dsh itself).

Tools

ToolWhat it does
browser_openOpen an http(s) URL or a local file/directory (served automatically over 127.0.0.1). Returns a pageId and any console errors raised during load.
browser_consoleConsole messages + failed network requests captured since load.
browser_readDeterministic no-vision reading: rendered text, outer html, or styles (bounding box + key computed styles of a selector).
browser_interactClick / type / press / scroll-to on a selector; reports console errors the interaction caused.
browser_screenshotViewport, full-page, or single-element PNG saved into the workspace.
browser_closeClose a page when verification is done.

browser_read is the heart of the design: a text-only model verifies layout facts (box sizes, colors, display values, rendered copy) deterministically, instead of hallucinating over pixels. Screenshots are for the human in the loop.

The bundled skill — the actual product

frontend-verify teaches the loop: open → console → read → interact → screenshot → fix → re-verify, report what passed verbatim, and name what could not be verified rather than implying full coverage. That last rule is why the demo above ends with the agent volunteering that it could not judge GPU rendering or pointer-lock feel.

Disable it with registerSkill: false if you run your own playbook — but then you have bought browser tools, of which this ecosystem has many.

Configuration

All tunables are plugin config — set them in your profile's cordis.patch.yml:

- id: preview
  name: dsh-preview
  config:
    headless: true
    browserChannels: [chrome, msedge, chromium]
    viewportWidth: 1280
    viewportHeight: 800
    navigationTimeoutMs: 15000
    actionTimeoutMs: 5000
    screenshotDir: .dsh-preview
    maxReadChars: 20000
    maxConsoleMessages: 100
    allowedHosts: []          # extra hostnames browser_open may visit
    registerSkill: true

Security model

  • localhost / 127.0.0.1 / ::1 are always allowed — that is what frontend verification needs.
  • Any other host is refused by default. Grant specific hosts via allowedHosts; the error message tells the model to ask you rather than work around it.
  • Local paths are served read-only from their own directory on an ephemeral 127.0.0.1 port, with path containment.
  • The plugin never types credentials and the skill forbids screenshotting pages with secrets.

Known limitations

  • Headless rendering differs from a real desktop browser: pointer lock, some GPU codepaths, and OS dialogs may behave differently. The bundled skill instructs the agent to say so when it matters.
  • No vision description yet: screenshots are for humans; machine verification goes through browser_read/browser_console. Automatic screenshot→text description through your existing dsh model routes is on the roadmap.
  • One shared browser process per dsh process; pages are cheap, but parallel agents share it.

Development

git clone https://github.com/Viger1/dsh-preview.git && cd dsh-preview
corepack pnpm install
corepack pnpm run build
dsh plugin --profile web add /absolute/path/to/dsh-preview   # link the local checkout

corepack pnpm run watch + a config touch gives a fast edit-reload loop.

Family

PluginWhat it gives your agent
dsh-preview (this repo)👁 Eyes — verify what it builds: open, read, screenshot, self-check
dsh-pilot✋ Hands — operate any page by accessibility refs, with a network-layer origin fence
dsh-review🔍 Judgement — find defects, then try to refute each one before reporting it
dsh-design🎨 Taste — constrain the choices, then measure whether the result kept them

Each installs independently and they coexist (distinct tool prefixes, shared engineering discipline).

License

MIT

Compatibility

DSH 0.1.7-rc.1: failedDSH 0.1.7-rc.2: failedDSH 0.2.0-rc.1: failed

Versions

Latest versionPublishedSize
0.1.0——
0.1.1——

Comments

Loading…

Similar plugins

dsh-browser

by ZSeven-W

DeepSeek Harness plugin for browser automation, headless first. Every agent gets its own throwaway Chrome/Edge/Chromium profile, short-lived semantic references instead of CSS selectors, scoped subtre

Development & InfrastructureManifest valid

★ 1

MIT

JavaScript

Sep 24, 2026

dsh plugin --profile web add @zseven-w/dsh-browser

DSH 的浏览器:登录一次,它就用你的账号替你办事(查后台/填表/抓列表/多标签);要登录、验证码、弹框会停下来等你,绝不替你点「确定」;你最小化它就不吵你,AI 在哪动手你随时看得见

Tools & CapabilitiesManifest valid

★ 2

MIT

TypeScript

dsh plugin --profile web add dsh-browser-playwright-codex

by antibrow

DeepSeek Harness plugin: give your agent a browser with a persistent identity - engine-level fingerprint spoofing, unlimited free local profiles, Android device emulation, passkeys that survive, and r

Tools & CapabilitiesManifest valid

★ 12

MIT

JavaScript

Sep 12, 2026

dsh plugin --profile web add dsh-antibrow

by flymysql

DSH host-side bridge for the DSH Browser Client extension: a token-authenticated /ext-api RPC proxy + /ext-events.mux WebSocket event stream + bidirectional /ext-api-control channel, so a browser extension page (which cannot pass the same-origin /api trust fence) can drive the harness from a floating panel and operate the current page via page_* tools.

Tools & CapabilitiesManifest valid

★ 0

MIT

JavaScript

Sep 21, 2026

dsh plugin --profile web add dsh-browser-host

by LeslieWylie

Render Markdown to a standalone, self-contained HTML page: an `md_html_render` tool that works in a headless profile, plus a web drawer to browse, preview, edit and export local `.md` files; both shar

Tools & CapabilitiesDevelopment & InfrastructureManifest valid

★ 1

MIT

JavaScript

Aug 18, 2026

dsh plugin --profile web add dsh-md-html-render

by Nono-neko

An AI-native browser workspace for DeepSeek Harness (DSH), combining multi-tab browsing, live page annotations, lightweight code editing, workspace previews, and Agent-assisted iteration across Web an

UI & ExperienceManifest valid

★ 13

↓ 254/wk

Apache-2.0

TypeScript

Oct 2, 2026

dsh plugin --profile web add @nono-neko/dsh-browser