前言¶
站點要上線,最後卡住人的往往不是功能,而是幾個很基礎的問題:某個內部鏈接返回 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