Introduction¶
In the development workflow of DeepSeek Harness (DSH), frontend release quality often relies on subjective judgments such as “looking good,” or on difficult-to-reproduce static snapshots. dsh-shipcheck is an evidence-first frontend release check plugin. It uses real browsers to perform deterministic checks, generating screenshots, named baselines, and reproducible JSON reports to provide a factual basis for release gates.
Core Features¶
The plugin performs multiple checks through real browsers, covering availability, structure, and content quality:
* Checks for page availability, title, visible body text, and primary headings.
* Checks for missing image alternative text and unlabeled controls/links.
* Checks for horizontal overflow within the viewport.
* Checks for required/prohibited text and required CSS selectors.
* Checks for structural regressions relative to named baselines.
* Checks for browser runtime failures, including console errors, uncaught exceptions, and failed HTTP 4xx-5xx requests.
Installation and Activation¶
Install the plugin using the following command:
dsh plugin --profile web add github:guo6x/dsh-shipcheck
After installation, the plugin can be invoked in the DSH environment.
Typical Usage¶
The plugin provides the following tools:
shipcheck_run: Checks a URL in a real browser, runs checks, compares baselines, and saves screenshots and JSON reports.shipcheck_matrix: Checks 1-20 URLs within a single release gate, retaining route-level screenshots, reports, and baselines.shipcheck_flow: Executes bounded user journeys using real browser interactions, including step screenshots, assertions, and redacted evidence.shipcheck_baseline: Explicitly captures a reviewed URL as a named structural baseline.shipcheck_history: Lists recent reports and their pass/failure summaries.
Example Usage:
* Run shipcheck_run to check http://127.0.0.1:3000 as project checkout, require visible text Checkout, prohibit Something went wrong, and indicate whether manual review can proceed. No files are modified.
* Use shipcheck_baseline to capture the current checkout page as the baseline for project checkout. Then run shipcheck_run again and use evidence paths to explain any structural regressions.
* Run shipcheck_matrix for http://127.0.0.1:3000/, http://127.0.0.1:3000/login, and http://127.0.0.1:3000/checkout as matrix checkout-release. Require Checkout on each route, prohibit Something went wrong, and report which route failed, including its screenshot and JSON report paths.
* Run shipcheck_flow from http://127.0.0.1:3000/login as checkout-login. Fill in the Email and Password fields, click #submit, wait for the URL to include /dashboard, assert Logged in is visible, and report whether the journey passed. No files are modified.
Use Cases and Caveats¶
- Positioning: This is a release gate, not a full visual regression laboratory. The first baseline compares stable structure and text drift, rather than pixel-level screenshots across operating systems.
- dsh-palate Integration: The first version does not use
dsh-palateprinciples to score pages; it stores the shape of the evidence required for that integration. - Runtime Checks: Runtime telemetry uses the browser’s CDP events. If the connected browser does not expose this capability, Shipcheck reports an explicit warning instead of pretending the runtime is clean.
- Manual Review: Automated runs that pass still require manual review of product semantics, content quality, and intentional exceptions.
Summary¶
dsh-shipcheck provides DSH with an evidence-based frontend release gate. It performs deterministic checks through real browsers, ensuring that reproducible failure evidence is available before manual review.
- Catalog page: https://www.skillhub.cn/plugins/guo6x/dsh-shipcheck
- GitHub: https://github.com/guo6x/dsh-shipcheck