DSH Tunnel QR Plugin 插件介绍:为 DSH Web 提供 Quick Tunnel 二维码访问

前言

DSH 的插件机制强调「一切皆插件」,可以把 Web 侧能力拆成独立插件加载。对于 DSH Web 来说,一个常见需求是把本机页面临时开放到公网,让手机或其他设备通过浏览器访问;已有做法通常需要注册第三方账号、配置域名,或手动运行隧道程序。

下面介绍 13323232dong/dsh-tunnel-qr-plugin。它是为 DeepSeek Harness Web 提供公网访问的一体化插件,通过 Cloudflare Quick Tunnel 和本机认证代理生成二维码,手机扫描后即可登录访问,不需要输入账号或密码,也不需要注册第三方账号或配置域名。

这是什么

dsh-tunnel-qr-plugin13323232dong 维护,许可证为 MIT,当前版本为 0.1.0-rc.5

它做的事情比较集中:

  1. 自动下载并校验 cloudflared
  2. 启动 Cloudflare Quick Tunnel。
  3. 在 DSH 右下角提供二维码入口。
  4. 通过一次性安全密钥让手机扫码后自动登录。

这个插件不安装 LaunchAgent、Windows Service 或 systemd 服务,不需要管理员权限,只随 DSH 进程运行。

核心功能

已核实的能力如下:

  • 自动下载并校验 cloudflared
  • 启动 Cloudflare Quick Tunnel。
  • 在 DSH 右下角提供二维码入口。
  • 二维码携带一次性安全密钥。
  • 手机扫描后自动完成登录,不需要输入账号或密码。
  • 二维码弹窗打开期间每 15 秒自动刷新一次,也可以手动刷新。
  • 每个安全密钥仅能使用一次,默认 5 分钟后过期。
  • 登录成功后使用 HttpOnlySecureSameSite=Strict Cookie 访问 HTTP 和 WebSocket。
  • 不需要注册第三方账号或配置域名。
  • 公网入口只连接回环地址上的认证代理,不会直接暴露 DSH 本地端口。
  • 插件不会把二维码令牌、会话 Cookie 或临时公网地址写入仓库。
  • 所有状态和二维码接口都使用 Cache-Control: no-store

安装与启用

先确认本机 Node.js 版本不低于 22.19

然后使用 DSH 官方 profile 插件命令安装固定提交:

npx -p @deepseek-ai/dsh dsh plugin --profile web add "github:13323232dong/dsh-tunnel-qr-plugin#88d36735b54cfe28bb16d4f72058f96bf43df53d"

安装完成后,重启 Web profile。

首次启动时,插件会从 Cloudflare 官方 GitHub Release 下载对应平台的固定版本,校验 SHA-256 后缓存到 DSH 插件数据目录。下载和隧道启动完成后,可以查看右下角二维码按钮。

典型用法

经过上面的步骤后,典型流程是先启动 DSH Web,再让插件建立隧道:

  1. 隧道可用后会自动弹出二维码。
  2. 也可以随时点击右下角「二维码」按钮再次查看。
  3. 手机扫描二维码后会自动完成登录。
  4. 二维码弹窗打开期间每 15 秒自动刷新一次,也可以手动刷新。
  5. 登录成功后,浏览器使用 HttpOnlySecureSameSite=Strict Cookie 访问 HTTP 和 WebSocket。
  6. Quick Tunnel 地址可能在 DSH 或隧道重启后变化;旧地址、旧二维码和旧会话会失效。

开发验证可以在插件仓库里执行:

pnpm install --frozen-lockfile
pnpm verify

verify 会运行 Host/Client 类型检查、无网络单元与集成测试、Host/Client 构建和 Git 产物漂移检查。

支持平台

系统 架构 运行方式
macOS x64、ARM64 Cloudflare 官方原生程序
Linux x64、ARM64 Cloudflare 官方原生程序
Windows x64 Cloudflare 官方 AMD64 程序
Windows ARM64 ARM64 通过 Windows x64 emulation 运行官方 AMD64 程序,不是原生 ARM64 支持

如果当前系统或架构没有明确映射的 Cloudflare 发布物,插件会表现为平台不支持,不会尝试运行其他架构文件。

状态与排查

常见状态可以按下面处理:

  • 正在启动:正在校验或下载程序并建立隧道。
  • 正在重连:临时连接中断,插件正在有限次数重试。
  • 启动失败:可刷新二维码重新读取状态;若仍失败,检查 GitHub 下载网络和本机防火墙。
  • 平台不支持:当前系统或架构没有明确映射的 Cloudflare 发布物,插件不会尝试运行其他架构文件。

依赖与运行边界

插件的 peer 依赖如下:

@deepseek-ai/cordis >=4.0.1 <5
@deepseek-ai/dsh-client-runtime ^0.1.0-rc.5
@deepseek-ai/dsh-host-webserver ^0.1.0-rc.5

运行时需要注意:

  • 插件只随 DSH 进程运行,不安装系统服务。
  • 不需要管理员权限。
  • 公网入口连接的是回环地址上的认证代理,不会直接暴露 DSH 本地端口。
  • 二维码令牌、会话 Cookie 或临时公网地址不会写入仓库。
  • Quick Tunnel 地址、二维码和会话会随 DSH 或隧道重启而变化。

适用场景与注意

这个插件适合需要临时把 DSH Web 开放给手机、笔记本或其他网络设备的场景,尤其是希望避免手工配置域名、第三方账号或隧道服务的本地开发环境。

安装前建议先查看源码和许可证。插件以当前 DSH 进程权限运行,因此你应确保对 DSH 运行环境本身有信任。若本机网络无法访问 GitHub、Cloudflare Release 或 Quick Tunnel 地址,插件可能无法完成下载、启动或访问。

参考链接

目录页可作为插件线索,具体信息以平台目录为准:

https://www.skillhub.cn/plugins/13323232dong/dsh-tunnel-qr-plugin

GitHub 仓库:

https://github.com/13323232dong/dsh-tunnel-qr-plugin
羽毛球分组比赛记分
小程序二维码

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

小夜