The browser is the judge

Agents say done.
The browser proves it.

The quality gate for agent-built web apps.
One command: a real browser clicks, types, and returns PASS/FAIL with receipts.

dsh-verify runs real-browser acceptance checks and prints PASS/FAIL verdicts
$ npx dsh-verify --spec demo/fixed.json
dsh-verify: PASS (6/6) — real Chromium · 2.1s · report → report.html

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. Unit tests and static checks can't catch a missing CSS rule. 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

Every run produces a self-contained HTML report with per-step results, screenshots and visual diffs.

dsh-verify HTML report with per-step PASS/FAIL and screenshots
Self-contained HTML report — per-step results, screenshots, 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 →