前言¶
在 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 同一套抽屉,减少切工具和猜环境的成本。目录与源码: