DeepSeek Harness (DSH) 的設計理念是“一切皆插件”。在 Web 環境下,開發者常需要將桌面端的認證會話同步到移動設備。傳統的做法往往涉及重新登錄或複雜的 Token 傳遞機制。dsh-qr-share 作爲一個 DSH Web 插件,直接在側邊欄底部提供了二維碼生成入口,旨在複用桌面端已完成的認證交換流程。
插件定位¶
該插件由用戶 xiaoguomeiyitian 維護,開源協議爲 MIT。它是一個 DSH Web 插件,核心作用是提供側邊欄底部的二維碼按鈕,支持手機掃描並複用桌面已完成的 ?token=… 交換,實現同會話登錄。
功能說明¶
- 側邊欄入口:登錄後,在側邊欄底部(設置按鈕旁)會出現二維碼圖標。
- 交互流程:點擊圖標彈出對話框,顯示二維碼和純文本 URL(掃碼失敗時的備用)。
- 自動適配:自動適配
window.location.origin,無需額外環境變量配置即可指向正確的 Host。 - 路由保護:路由
/_qr/share受connection.requestRejection保護,確保安全性。
安裝與啓用¶
推薦使用 DSH 插件 CLI 進行安裝:
dsh plugin --profile <name> add dsh-qr-share@latest
配置¶
安裝後,需要在 patch overlay 中添加配置。默認 enabled 爲 true,設置爲 false 可將路由短路至 404。
- insert:
- id: qr-share
name: 'dsh-qr-share'
config:
enabled: true
使用示例¶
- 在桌面端登錄並完成認證。
- 點擊側邊欄底部的二維碼圖標。
- 使用手機掃描二維碼或文本 URL。
- 服務器通過
BrowserAuth將 Token 交換爲 Cookie,重定向至/,手機端完成同會話登錄。
技術細節¶
- Token 生命週期:Token 僅在單次
dsh web激活中有效,首次交換後即失效。 - Cookie 安全策略:Cookie 綁定到特定 Authority,並設爲 HttpOnly + SameSite=Strict。
- 跨站防護:SameSite=Strict + 同源 fetch 確保路由無法從跨站框架訪問。
- 依賴要求:Node >= 20, DSH >= 0.1.0-rc.8, React ^18 || ^19。
適用場景與注意¶
該插件適合需要在桌面端開發並希望快速將認證狀態同步到移動端的場景。插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證。
結語¶
dsh-qr-share 通過複用 Token 交換機制,簡化了桌面到移動端的會話同步流程。更多細節可在社區目錄或GitHub 倉庫查閱。