前言¶
DeepSeek Harness (DSH) 的 Web 界面通常運行在本地,移動端直接訪問往往受限於網絡環境或域名解析。dsh-mobile-access 插件通過建立 SSH 反向隧道,將 Web 界面映射到用戶自己的域名上,使手機能夠通過 HTTPS 安全訪問本地 Agent。
什麼是 dsh-mobile-access¶
這是一個 DSH 插件包,旨在解決移動端訪問本地 Web 界面的問題。它通過自定義域名、本地令牌網關以及受監督的 SSH 反向隧道,將 DeepSeek Harness 的 Web GUI 投遞到手機上。
- 維護者: kk99668
- 類別: 客戶端
- 許可證: MIT
核心功能¶
該插件提供以下能力:
- 自定義域名訪問: 通過用戶指定的域名在手機上訪問 Web 界面。
- 本地令牌網關: 在 Web 服務器前端實現請求認證,作爲唯一的安全邊界。
- 受監督的 SSH 反向隧道: 支持自動重連和指數退避策略,保證連接穩定。
- 弱網優化: 支持消息壓縮,並具備連接控制器以應對信號波動。
- 移動端上下文集成: 在
surfaceContext模式下注入DSH_WEB_PUBLIC_URL環境變量。 - 終端二維碼: 在隧道建立後生成二維碼,方便手機掃描配置。
安裝與啓用¶
該插件爲可選組件,需在已安裝的 web 配置文件上啓用。
dsh plugin --profile web add github:kk99668/dsh-mobile-access
配置與部署¶
啓用後,需要在啓動 DSH 的環境中配置環境變量,或覆蓋默認配置。
環境變量配置¶
插件讀取環境變量進行初始化,以下變量爲必填:
DSH_MOBILE_PUBLIC_HOST: 公網訪問地址(如dsh.example.com)。DSH_MOBILE_RELAY_HOST: 中繼服務器地址。DSH_MOBILE_RELAY_USER: 中繼服務器上的 SSH 登錄用戶。DSH_MOBILE_TOKEN: 令牌網關密鑰(至少 8 位字符)。
配置覆蓋¶
若需修改默認端口、SSH 密鑰等參數,可在 cordis.patch.yml 中覆蓋配置:
- id: mobile-access
config:
publicHost: dsh.example.com
relayHost: vps.example.com
relayUser: dsh-relay
token: a-long-random-secret
remoteBindPort: 8443
identityFile: C:\Users\you\.ssh\id_ed25519
服務器端部署¶
在中繼服務器(Relay Server)上執行一次腳本以安裝 Caddy 並配置反向代理:
sudo ./scripts/setup-server.sh dsh.example.com 3080 ~/dsh-relay.pub
該腳本會配置 Caddy 處理 HTTPS,創建專用 SSH 用戶,並設置防火牆規則。
注意事項¶
部署和使用時需注意以下事實:
- SSH 客戶端依賴: 運行 DSH 的機器上必須存在
ssh客戶端程序。 - 設備登錄: 每個設備需要單獨的瀏覽器登錄,沒有持久化設備註冊表。
- Windows 自動啓動: Windows 下的自動啓動由用戶自行處理,插件進程不會自動加入啓動項。
- 安全邊界: 令牌網關是唯一的安全邊界,任何知曉令牌的人均可控制該 Agent,請將其視爲憑證妥善保管。
- Cookie 機制: 登錄 Cookie 不包含
Max-Age,這意味着每個瀏覽器配置文件都需要重新登錄。 - 端口綁定: SSH 隧道在中繼服務器上僅綁定到
127.0.0.1,手機無法直接連接該端口,必須通過 Caddy。
結語¶
dsh-mobile-access 提供了一套從本地到移動端的可靠橋接方案。通過 SSH 隧道與令牌網關的結合,它在不改變 DSH 核心架構的前提下,實現了對 Web 界面的遠程安全訪問。適合需要在移動網絡下穩定使用 DSH 的開發者。