前言¶
DSH 的插件機制強調「一切皆插件」,可以把 Web 側能力拆成獨立插件加載。對於 DSH Web 來說,一個常見需求是把本機頁面臨時開放到公網,讓手機或其他設備通過瀏覽器訪問;已有做法通常需要註冊第三方賬號、配置域名,或手動運行隧道程序。
下面介紹 13323232dong/dsh-tunnel-qr-plugin。它是爲 DeepSeek Harness Web 提供公網訪問的一體化插件,通過 Cloudflare Quick Tunnel 和本機認證代理生成二維碼,手機掃描後即可登錄訪問,不需要輸入賬號或密碼,也不需要註冊第三方賬號或配置域名。
這是什麼¶
dsh-tunnel-qr-plugin 由 13323232dong 維護,許可證爲 MIT,當前版本爲 0.1.0-rc.5。
它做的事情比較集中:
- 自動下載並校驗
cloudflared。 - 啓動 Cloudflare Quick Tunnel。
- 在 DSH 右下角提供二維碼入口。
- 通過一次性安全密鑰讓手機掃碼後自動登錄。
這個插件不安裝 LaunchAgent、Windows Service 或 systemd 服務,不需要管理員權限,只隨 DSH 進程運行。
核心功能¶
已覈實的能力如下:
- 自動下載並校驗
cloudflared。 - 啓動 Cloudflare Quick Tunnel。
- 在 DSH 右下角提供二維碼入口。
- 二維碼攜帶一次性安全密鑰。
- 手機掃描後自動完成登錄,不需要輸入賬號或密碼。
- 二維碼彈窗打開期間每 15 秒自動刷新一次,也可以手動刷新。
- 每個安全密鑰僅能使用一次,默認 5 分鐘後過期。
- 登錄成功後使用
HttpOnly、Secure、SameSite=StrictCookie 訪問 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,再讓插件建立隧道:
- 隧道可用後會自動彈出二維碼。
- 也可以隨時點擊右下角「二維碼」按鈕再次查看。
- 手機掃描二維碼後會自動完成登錄。
- 二維碼彈窗打開期間每 15 秒自動刷新一次,也可以手動刷新。
- 登錄成功後,瀏覽器使用
HttpOnly、Secure、SameSite=StrictCookie 訪問 HTTP 和 WebSocket。 - 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