前言¶
在 DSH 的 Web GUI 裏排查「頁面卡、測速不準、到底是局域網還是 Tailscale」時,常見做法是開終端 ping、另開瀏覽器測速站,或反覆看連接信息。這些步驟和聊天主界面是分開的。dsh-toolbox 由 Hao0311 維護,歸類爲客戶端插件:在 DSH Web GUI 左側導航增加「工具箱」入口,打開後在右側抽屜(手機端全屏)集中做連接狀態、體檢、測速、質量監控、歷史與自動巡檢,並提供可複製的報告摘要。宿主側註冊 /api/toolbox 相關路由並向頁面內聯腳本與樣式,無需單獨前端構建。
這是什麼¶
- 名稱與來源:
dsh-toolbox(GitHub:Hao0311/dsh-toolbox) - 定位:僅面向帶
connection服務的 Web 配置;無 connection 時插件保持不活躍 - 界面行爲:桌面端打開抽屜時主內容自動左移讓位(面板寬約 424px~340px 自適應);窗口較窄時可能收起左側導航爲圖標軌,關面板後恢復。關掉抽屜後測速、監控等任務可在後臺繼續,入口圓點與頂部進度線提示狀態
核心功能¶
下面按 README 中的功能區說明(均已對照倉庫文檔)。
| 功能區 | 作用 |
|---|---|
| 連接狀態 | 打開面板自動刷新:局域網 / 本機迴環 / Tailscale / 外網、客戶端 IP、本機地址、公網出口、Wi-Fi 頻段·信道·速率·信號 |
| 一鍵體檢 | 打開面板自動跑輕量檢查(約 1~2 秒);可點按鈕跑完整體檢(含網關 ping、DNS、公網出口),給出「良好 / 一般 / 較差」及建議 |
| 測速 | 快速 20MB / 標準 100MB / 極限 500MB / 持續 30 秒 / 自定義(下載、上傳、時長);服務端計時、4 併發流、實時曲線 |
| 質量監控 | 30 秒 / 1 分鐘 / 3 分鐘低流量採樣(約每 0.3 秒小請求),輸出延遲曲線、丟包與卡頓尖峯,側重「卡」而非帶寬 |
| 歷史記錄 | 體檢 / 測速 / 監控寫入瀏覽器 localStorage(最近 40 條),測速可與上一次對比 |
| 自動巡檢 | 頁面開着時每 3/5/10 分鐘輕探測;網絡變差時導航紅點與面板提示 |
| 分享 / 報告 | 生成中文總結(連接方式、體檢、測速、監控、建議),一鍵複製 |
測速與採樣依賴宿主註冊的 API,例如下載爲 GET /api/toolbox/net/download?mb=N,上傳爲 POST /api/toolbox/net/upload,延遲相關探測走 GET /api/toolbox/net/info。路由掛在 /api 下,走 connection 層統一的 Host/Origin 與 cookie 校驗。在本機迴環訪問時速度可能虛高,面板會標註「本機迴環」。
安裝與啓用¶
在 web profile 下從 GitHub 安裝(勿用裸包名 dsh plugin add dsh-toolbox,npm 上另有同名無關包):
dsh plugin --profile web add github:Hao0311/dsh-toolbox
package.json 標明引擎要求 dsh >= 0.2.1-0,許可證 MIT,當前文檔對應版本 0.5.1。插件以當前 DSH 進程權限運行;安裝前建議瀏覽倉庫源碼與許可證。
安裝後通過 Web GUI 左側「工具箱」進入面板即可使用各項功能。
典型用法與擴展¶
日常使用:打開工具箱 → 查看連接狀態 → 按需輕量或完整體檢 → 選擇測速檔位或質量監控時長 → 在歷史裏對比結果 → 用「分享 / 報告」複製結論發給同事。
自檢(維護者文檔中的做法):
- 頁面源碼搜索
__DSH_TOOLBOX__,覈對注入與路由狀態 - 請求
/api/toolbox/net/info,應返回{ ok: true, ip, host, ... }等形式 JSON
爲面板增加自定義工具:在客戶端環境調用註冊 API,id 唯一,render(container) 內自行繪製 DOM;順序決定「更多工具」列表排列:
window.DSHToolbox.register({
id: 'my-tool',
title: '我的工具',
hint: '一句話說明',
render(container) {
container.textContent = 'hello';
},
});
適用場景與注意¶
適合在 DSH Web GUI 上長期開着頁面、需要快速判斷網絡路徑與體驗質量、又不想離開主界面的用戶。不適用場景:無 Web connection 的配置、或期望獨立命令行測速工具的場景。
注意:
- 歷史僅存本機瀏覽器,清緩存或換設備不共享
- 本機迴環測速數值不代表真實廣域網帶寬
- 修改宿主
index.js後需重啓 DSH;僅改client.js/client.css時刷新頁面即可(開發同步流程見 README,面向 Windows 開發者的 PowerShell 腳本)
結尾¶
dsh-toolbox 把連接信息、診斷、測速與質量監控收進 DSH Web GUI 同一套抽屜,減少切工具和猜環境的成本。目錄與源碼: