前言¶
站点要上线,最后卡住人的往往不是功能,而是几个很基础的问题:某个内部链接返回 404、图片没有压缩直接丢上去、页面忘了写 title、https 页面里混着 http 的图片、某个跳转要绕三跳才到终点。人工点一遍要半小时,而且漏看是常态;等到用户先踩到才去改,代价比上线前查一次大得多。
dsh-site-audit 就是为这件事做的插件。它挂在 DSH(DeepSeek Harness)的站点插件体系里,核心思路不是再写一套爬虫,而是用只读的方式把站点的常见问题一次性扫出来,按「阻断 / 警告 / 通过」三档给出结论。
这是什么¶
dsh-site-audit(站点体检)是一个 DSH 插件,仓库地址是 https://github.com/feely0208/dsh-site-audit,维护者是 feely0208,对应的 npm 包名是 @deepwhale-cn/dsh-site-audit。它解决的是「站点生成之后、上线之前」那一轮检查:内部链接是否可达、图片是否过大、基础 SEO 有没有缺件、robots 与 sitemap 是否存在、是否存在混合内容、重定向链是否过长。
插件是只读的,不会对目标站点发 POST,也不提交表单、不登录,不往外部传数据。
安装¶
用官方给的命令装:
dsh plugin --profile web add @deepwhale-cn/dsh-site-audit
--profile web 说明它是跑在 web 端(客户端)的插件。装完之后侧栏会出现「站点体检」入口,输入网址即可。
CLI 单独跑¶
插件自带 CLI,不装 DSH 也能单独用,前提是本机 Node ≥ 18。
node bin/cli.mjs --base https://example.com
这条命令从起始页开始抓取,默认上限 50 页,检查内部链接、图片体积、SEO、robots/sitemap、混合内容、重定向链。
要换抓取范围或关掉外链探测:
node bin/cli.mjs --base https://example.com --max-pages 100 --offline
--max-pages 调整内部链接的抓取上限,--offline 把外链探测整体关掉。
如果站点是本地构建产物,直接扫目录,不发任何网络请求:
node bin/cli.mjs --dir ./dist --json --out report.md
--dir 指定目录,--json 输出 JSON,--out report.md 把报告写到指定文件。--dir 模式只读本地文件,断网也能跑。
面板使用¶
DSH 侧栏的「站点体检」入口,输入网址后会给出三档统计和最严重的 5 条问题。对于只想快速看一眼站点有没有硬伤的场景,队面板就够了;要全量报告或接入脚本,用上面的 CLI。
检查规则¶
下面这些规则来自 README,是插件实际会报的内容。
- 内部链接:抓起始页加上同源直接链接,默认上限 50 页,可用
--max-pages调整;4xx、5xx、超时一次全列出来,带完整 URL。 - 图片体积:单图超过 300KB 记警告,超过 1MB 阻断;按体积倒序列出文件名,方便先处理最大的几个。
- 基础 SEO:逐页检查 title 是否缺失或重复、description 是否缺失、h1 数量是否不等于 1。
- robots.txt / sitemap.xml:在线模式下看 HTTP 是否存在,本地模式下只做文件检查;robots 禁止全站时会单独提示。
- 混合内容:https 页面里出现
http://资源记阻断。本地模式下没有真实 HTTP 响应,会报「上线后会成混合内容」。 - 重定向链:超过 2 跳给警告,同时写出最终跳到哪一站。
- 外链:用 HEAD 探测,8 秒超时,失败只警告不阻断;
--offline可整体关掉。
输出与退出码是配套的:文本报告分三档(阻断 / 警告 / 通过),支持 --json 和 --out report.md;退出码 0 表示无阻断、1 表示有阻断、2 表示参数或解析失败。可以直接挂在部署脚本前面做门禁。
边界¶
插件明确只做几件事,安装前值得知道:
- 只发 GET 和 HEAD,不发 POST、不提交表单、不登录、不外传数据。
- 内部链接只在同一站点内递归,跨域链接只做一次 HEAD 探测,不递归进对方的站点。
- 单个请求默认 8 秒超时,并发默认 4,不会因为一个慢页面就把整个检查挂住;同一个 URL 的结果缓存 60 秒。
适用场景与注意事项¶
适合在发布流程里用:生成站点之后扫一遍 ./dist,把阻断项在发布前清掉;也可以用 --base 对线上地址做一遍只读体检,前提是目标站点允许这种扫描。
有一点要在用之前想清楚:这个插件是在当前 DSH 进程里跑的,权限跟着 DSH 进程走。安装到 DSH 上等于给这个进程增加了一项能力,建议先看一遍源码,确认它发起的请求符合预期。许可证是 MIT,作者署名是温州深鲸智能科技有限公司(contact@deepwhale.org.cn)。
另外,DSH 生态社区(如 skillhub.cn)是独立站点,与 DeepSeek / 幻方没有官方从属关系,不要当作官方应用商店来理解;这个插件是社区侧提供的工具,之上没有更多官方背书信息。
相关链接¶
- GitHub 仓库:https://github.com/feely0208/dsh-site-audit
- skillhub.cn 目录页:https://www.skillhub.cn/plugins/feely0208/dsh-site-audit