DeepSeek Harness 手机配对悬浮按钮插件 (DSH-QrPairing)

前言

在 DeepSeek Harness (DSH) 的开发流程中,远程设备配对通常需要打开一个新的浏览器标签页,或者手动访问特定的本地端口地址。这种方式会打断当前的工作流,增加操作步骤。

DSH-QrPairing 插件通过在 WebUI 右下角添加一个悬浮入口,将配对流程集成在应用界面内部。它作为 dsh-remote-link 网关的配套 UI,提供更连贯的操作体验。

插件简介

这是由 huaxiren6 维护的一个客户端 UI 插件。它不直接处理配对逻辑,而是负责将配对入口注入到桌面端 WebUI 中。通过点击悬浮按钮,用户可以在应用内弹出一个浮层,直接查看配对二维码。

核心功能

  1. 悬浮入口:在 DSH WebUI 右下角显示悬浮按钮。
  2. 内嵌浮层:点击按钮后,在当前页面弹出浮层展示配对二维码,无需切换标签页。
  3. 环境限制:按钮仅在通过 127.0.0.1 或 localhost 访问时显示。
  4. 容错处理:如果系统未检测到 dsh-remote-link 网关,浮层会显示“未检测到网关”的提示,而不是报错或空白。
  5. 实时数据:浮层内的二维码和短码通过同源代理实时获取。

安装与启用

在安装本插件之前,必须确保已安装 dsh-remote-link 网关插件。

执行以下命令安装:

dsh plugin --profile web add github:BotonJ/dsh-remote-link
dsh plugin --profile web add dsh-remote-qr-button

典型用法

  1. 确保以本地模式启动 DSH WebUI。
  2. 在浏览器右下角找到悬浮按钮并点击。
  3. 等待浮层内的倒计时,使用手机扫描二维码完成配对。

工作原理

该插件在 Host 端和 Client 端分别进行了处理:

  • Host 端(配置与代理):
    插件会在当前服务中注册同源路由。通过 GET /dsh-remote-qr-button/config 探针实时读取 dsh-remote-link 的端口、短码与 TTL 配置,通过 GET /dsh-remote-qr-button/qr.png 代理获取实时的配对二维码图片。

  • Client 端(渲染与交互):
    点击悬浮按钮后,前端会请求探针接口。页面会通过同源 <img> 标签渲染二维码,并显示 6 位短码和倒计时。倒计时期间会每 5 秒进行一次轮询。

  • Electron 兼容性:
    插件使用 <img> 而非 <iframe> 渲染二维码。这是为了解决 Electron 桌面应用拦截跨源子框架导航的问题。如果使用 iframe,指向 http://127.0.0.1:<port>/qr 的内容在 Electron 中会被渲染为空白。同源代理确保了浏览器和 Electron 桌面端都能正常显示。

注意事项

  • 前置依赖:必须先安装 dsh-remote-link 网关才能使用本插件。
  • 访问限制:仅支持从 127.0.0.1 或 localhost 访问时显示按钮。
  • ID 冲突:本插件的按钮 ID 与 dsh-remote-link 注入的 ID 互斥。如果两者同时挂载,先挂载者生效,另一个会跳过。
  • 运行权限:插件以当前 DSH 进程的权限运行,建议在安装前检查源码与许可证。

总结

DSH-QrPairing 通过同源代理和悬浮按钮设计,解决了远程配对时频繁切换标签页的问题,特别是在 Electron 桌面端通过 <img> 渲染保证了兼容性。

  • GitHub: https://github.com/huaxiren6/DSH-QrPairing
  • 社区目录: https://www.skillhub.cn/plugins/huaxiren6/DSH-QrPairing
羽毛球分组比赛记分
小程序二维码

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

小夜