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
羽毛球分组比赛记分
小程序二维码

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

小夜