前言¶
DSH 插件生態遵循「一切皆插件」的思路。對於已經在使用 DSH 的人來說,如果希望在 iPhone 上繼續訪問同一套 DeepSeek Harness,就需要一個可供 iOS 客戶端連接、且帶設備鑑權的 WebSocket 入口。
dsh-plugin-mobile-gateway 面向這個場景:它安裝在 DSH Web 插件 profile 下,在 DSH WebUI 中提供“移動設備”入口,用於開啓網關、生成配對二維碼和管理可信設備。
這是什麼¶
dsh-plugin-mobile-gateway 由 Clarklevis1995 維護,許可證爲 MIT。它讓 iPhone 通過經過設備鑑權的 WebSocket 連接 DeepSeek Harness。
插件使用的 WebSocket 路徑爲:
/ws/mobile
當前 package.json 版本爲 0.6.5。Linux 服務器一鍵公網安裝從 v0.6.4 開始提供。
核心能力¶
下面介紹已覈實的主要能力:
- 在 DSH WebUI 左側邊欄提供“移動設備”入口
- 可開啓網關、生成配對二維碼和管理可信設備
- 支持局域網 WebSocket 接入:
ws://<局域網 IP>:3081/ws/mobile - 支持 Linux 服務器公網 WebSocket 接入:
wss://<公網 IP>/ws/mobile - 通過二維碼進行 iOS 設備配對
- 支持通過 Tailscale Serve 或 Cloudflare Quick Tunnel 遠程連接
3081端口 - Linux 服務器公網場景可安裝系統 Helper、Nginx、Certbot 和證書續期定時器
- 提供
status、remove、remove-helper等公網入口/Helper 管理命令
安裝與啓用¶
安裝前確認已安裝 dsh CLI 和 pnpm,並能正常啓動 dsh web。
執行以下命令安裝插件:
dsh plugin --profile web add dsh-plugin-mobile-gateway@latest
安裝後停止並重新啓動 WebUI:
dsh web
啓動後打開 WebUI,確認左側邊欄出現“移動設備”。
局域網配對¶
如果 iPhone 與運行 DSH 的電腦位於同一局域網,可以按下面的步驟配對。
1、打開 WebUI 的“移動設備”。
2、開啓“允許移動設備連接”。
3、保持“設備鑑權”開啓。
4、填寫設備名稱並點擊“生成配對二維碼”。
5、在 iOS 客戶端打開“設備認證”,掃描二維碼。
6、等待 WebUI 的可信設備顯示“在線”。
局域網接入地址爲:
ws://<局域網 IP>:3081/ws/mobile
注意:
- 配對二維碼只能使用一次,並會在 5 分鐘後過期。
- 如果系統防火牆攔截連接,只允許私有網絡訪問 TCP
3081。 - 不要把 TCP
3081開放到公網,也不要開放 DSH WebUI 端口。
Linux 服務器公網接入¶
Linux 服務器公網配對適用於帶固定公網 IPv4 的 Ubuntu/Debian 服務器,當前尚不支持 CentOS。
先執行初始化命令:
npx --yes dsh-plugin-mobile-gateway@latest init
該命令會請求一次 sudo 權限,用於安裝系統 Helper、Nginx、Certbot 和證書續期定時器。執行完成後啓動或重新啓動:
dsh web
進入 WebUI 的“移動設備”,在“公網接入”填寫公網 IPv4,並點擊“配置公網接入”或“更新公網配置”。
公網 WebSocket 地址爲:
wss://<公網 IP>/ws/mobile
配對步驟與局域網相同,但公網調試時必須保持“設備鑑權”開啓。
使用 Tailscale 或 Cloudflare Quick Tunnel¶
如果沒有直接的公網 IPv4 入口,可以使用 Tailscale Serve 或 Cloudflare Quick Tunnel 將 3081 端口轉發出來。使用前先啓動 dsh web,並在“移動設備”面板開啓“允許移動設備連接”和“設備鑑權”。
Tailscale Serve 可執行:
tailscale serve --bg 3081
然後將生成的地址改爲:
wss://<設備名>.<tailnet>.ts.net/ws/mobile
填入 WebUI,再生成二維碼配對。
Cloudflare Quick Tunnel 可執行:
cloudflared tunnel --url http://127.0.0.1:3081
命令行會顯示類似:
https://<隨機名稱>.trycloudflare.com
將地址改爲:
wss://<隨機名稱>.trycloudflare.com/ws/mobile
填入 WebUI,再生成二維碼配對。Cloudflare Quick Tunnel 僅用於臨時調試,地址每次可能變化且沒有可用性保證。
管理與卸載¶
查看公網入口狀態:
sudo env "PATH=$PATH" npx --yes dsh-plugin-mobile-gateway@latest status
插件還提供 remove 和 remove-helper 兩類管理命令,分別用於移除公網入口或系統 Helper。執行前請確認當前服務器用途。
卸載插件:
dsh plugin --profile web remove dsh-plugin-mobile-gateway
源碼開發¶
源碼開發時需要以 file: 路徑安裝插件,並重啓 dsh web。
適用場景與注意¶
- 適合需要在 iPhone 上通過 iOS 客戶端接入 DSH 的場景。
- 適合局域網、Linux 服務器公網 IPv4,或通過 Tailscale / Cloudflare Quick Tunnel 遠程連接的場景。
- 插件以當前
dsh進程權限運行,安裝前應檢查源碼與許可證。 - 不要把 DSH WebUI 端口或 TCP
3081開放到公網。 - 公網調試時必須保持設備鑑權開啓。
- 配對二維碼只能使用一次,並會在 5 分鐘後過期。
- Linux 服務器公網接入適用於 Ubuntu/Debian,當前不支持 CentOS。
鏈接¶
GitHub 倉庫:
https://github.com/Clarklevis1995/dsh-plugin-mobile-gateway