The browser is the judge

Agents say done.
The browser proves it.

The quality gate for agent-built web apps.
After installing, one command starts a real-browser check — no API key required.

dsh-verify runs real-browser acceptance checks and prints PASS/FAIL verdicts
$ npx dsh-verify init
Created zero-key starter. Run it locally; no API key needed.
Install dsh-verify first. Browser installation is a one-time setup.

Why this exists

An AI agent said "all requirements met." The dark-mode toggle did nothing — one CSS rule was never written.

demo/buggy — what the agents said

"No issues found"

Every agent self-test passed, because nothing was on the page for the agents to run. No one opened a real browser.

demo/fixed — what a real browser says

FAIL → PASS

Same page, same JS. One missing CSS rule. The agent's self-review passed; a real browser caught it.

Same task, same AI, two builds — only a real browser tells the difference
Same task. Same AI. Two builds. Only a real browser tells the difference.
Agents verify against what they believe they built — not against what a user actually experiences. A browser check can cover rendered behavior that existing checks may miss. dsh-verify re-grades the homework in a real browser.

Use it three ways

Works with any agent — DeepSeek Harness, Claude Code, Cursor, Copilot, Codex — and any CI.

CLI

⌘Terminal

Write what a human would check in a browser; run npx dsh-verify --spec spec.json. Verdict + screenshots in seconds.

MCP

⇄Agents

Connect the MCP server to Claude Code, Cursor or Copilot — agents can self-test against a real browser before saying done.

CI

▸GitHub Action

One step in any workflow. Installs dsh-verify and Chromium in isolation; your project stays untouched.


Receipts, not opinions

Each run produces an HTML report with per-step results and adjacent screenshot and diff images. Keep the images beside the report when sharing it.

dsh-verify HTML report with per-step PASS/FAIL and screenshots
HTML report with adjacent screenshot files — per-step results and pass/fail badges.

Star the repo

If Witness catches something for you — a star is how this project stays alive.

⭐ Star dsh-verify on GitHub See the Agent Arena →