dsh-shipcheck: 证据优先的前端发布检查器

前言

在 DeepSeek Harness (DSH) 的开发流程中,前端发布的质量往往依赖“看起来不错”的主观判断,或者难以复现的静态快照。dsh-shipcheck 是一个证据优先的前端发布检查插件。它利用真实浏览器执行确定性检查,生成截图、命名基线和可重现的 JSON 报告,从而为发布门禁提供事实依据。

核心功能

插件通过真实浏览器进行多项检查,涵盖可用性、结构与内容质量:
* 页面可用性、标题、可见正文和主要标题检查。
* 缺失图片替代文本和未命名控件/链接检查。
* 捕获视口内的水平溢出检查。
* 检查必需/禁止文本和必需 CSS 选择器。
* 检查相对于命名基线的结构回归。
* 检查浏览器运行时失败,包括控制台错误、未捕获异常和失败的 HTTP 4xx-5xx 请求。

安装与启用

安装插件使用以下命令:

dsh plugin --profile web add github:guo6x/dsh-shipcheck

安装后,插件即可在 DSH 环境中调用。

典型用法

插件提供以下工具:

  1. shipcheck_run:在真实浏览器中检查 URL,运行检查,比较基线,并保存截图和 JSON 报告。
  2. shipcheck_matrix:在单一发布门禁中检查 1-20 个 URL,保留路由级截图、报告和基线。
  3. shipcheck_flow:使用真实浏览器操作执行有界用户旅程,包括步骤截图、断言和脱敏证据。
  4. shipcheck_baseline:显式捕获已审查 URL 作为命名结构基线。
  5. shipcheck_history:列出最近的报告及其通过/失败摘要。

示例用法:
* 运行 shipcheck_run 检查 http://127.0.0.1:3000 作为项目 checkout,要求可见文本 Checkout,禁止 Something went wrong,并告诉是否可以继续人工审查。不修改文件。
* 使用 shipcheck_baseline 捕获当前结账页面作为项目 checkout 的基线。然后再次运行 shipcheck_run 并用证据路径解释任何结构回归。
* 为 http://127.0.0.1:3000/、http://127.0.0.1:3000/login 和 http://127.0.0.1:3000/checkout 运行 shipcheck_matrix 作为矩阵 checkout-release。在每个路由上要求 Checkout,禁止 Something went wrong,并报告哪个路由失败,包括其截图和 JSON 报告路径。
* 从 http://127.0.0.1:3000/login 作为 checkout-login 运行 shipcheck_flow。填写 Email 和 Password 字段,点击 #submit,等待 URL 包含 /dashboard,断言 Logged in 可见,并告诉旅程是否通过。不修改文件。

适用场景与注意

  • 定位:这是发布门禁,不是完整的视觉回归实验室。第一个基线比较稳定结构和文本漂移,而不是跨操作系统的像素级截图。
  • dsh-palate 集成:第一个版本不使用 dsh-palate 原则对页面进行评分;它存储了该集成所需证据的形状。
  • 运行时检查:运行时遥测使用浏览器的 CDP 事件。如果伴随浏览器未暴露该能力,Shipcheck 会报告明确的警告,而不是假装运行时是干净的。
  • 人工审查:通过的自动化运行仍需人工审查产品语义、内容质量和有意例外。

总结

dsh-shipcheck 为 DSH 提供了基于证据的前端发布门禁。它通过真实浏览器执行确定性检查,确保在手动审查前存在可重现的失败证据。

  • 目录页: https://www.skillhub.cn/plugins/guo6x/dsh-shipcheck
  • GitHub: https://github.com/guo6x/dsh-shipcheck
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜