DSH Hub
dsh-preview cover

Viger1/dsh-preview

dsh-preview

BundleWorkflow0 GitHub starsΒ· updated 2026-08-17

πŸ‘ Eyes for your DeepSeek Harness agent β€” it opens, sees, and fixes what it builds. Headless-browser verification tools + a bundled self-check skill.

Install

npx @deepseek-ai/dsh plugin --profile web add dsh-preview

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-preview DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-preview.svg)](https://dshhub.dev/plugins/dsh-preview)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from Viger1/dsh-preview, cleaned of badges and images.

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

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.

…

Related plugins