dsh-toolbox:DSH Web GUI 侧栏网络工具箱

前言

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

羽毛球分组比赛记分
小程序二维码

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

小夜