dsh-mobile-access: 將 DeepSeek Harness Web 界面通過隧道投遞到移動端

前言

DeepSeek Harness (DSH) 的 Web 界面通常運行在本地,移動端直接訪問往往受限於網絡環境或域名解析。dsh-mobile-access 插件通過建立 SSH 反向隧道,將 Web 界面映射到用戶自己的域名上,使手機能夠通過 HTTPS 安全訪問本地 Agent。

什麼是 dsh-mobile-access

這是一個 DSH 插件包,旨在解決移動端訪問本地 Web 界面的問題。它通過自定義域名、本地令牌網關以及受監督的 SSH 反向隧道,將 DeepSeek Harness 的 Web GUI 投遞到手機上。

  • 維護者: kk99668
  • 類別: 客戶端
  • 許可證: MIT

核心功能

該插件提供以下能力:

  1. 自定義域名訪問: 通過用戶指定的域名在手機上訪問 Web 界面。
  2. 本地令牌網關: 在 Web 服務器前端實現請求認證,作爲唯一的安全邊界。
  3. 受監督的 SSH 反向隧道: 支持自動重連和指數退避策略,保證連接穩定。
  4. 弱網優化: 支持消息壓縮,並具備連接控制器以應對信號波動。
  5. 移動端上下文集成: 在 surfaceContext 模式下注入 DSH_WEB_PUBLIC_URL 環境變量。
  6. 終端二維碼: 在隧道建立後生成二維碼,方便手機掃描配置。

安裝與啓用

該插件爲可選組件,需在已安裝的 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 用戶,並設置防火牆規則。

注意事項

部署和使用時需注意以下事實:

  1. SSH 客戶端依賴: 運行 DSH 的機器上必須存在 ssh 客戶端程序。
  2. 設備登錄: 每個設備需要單獨的瀏覽器登錄,沒有持久化設備註冊表。
  3. Windows 自動啓動: Windows 下的自動啓動由用戶自行處理,插件進程不會自動加入啓動項。
  4. 安全邊界: 令牌網關是唯一的安全邊界,任何知曉令牌的人均可控制該 Agent,請將其視爲憑證妥善保管。
  5. Cookie 機制: 登錄 Cookie 不包含 Max-Age,這意味着每個瀏覽器配置文件都需要重新登錄。
  6. 端口綁定: SSH 隧道在中繼服務器上僅綁定到 127.0.0.1,手機無法直接連接該端口,必須通過 Caddy。

結語

dsh-mobile-access 提供了一套從本地到移動端的可靠橋接方案。通過 SSH 隧道與令牌網關的結合,它在不改變 DSH 核心架構的前提下,實現了對 Web 界面的遠程安全訪問。適合需要在移動網絡下穩定使用 DSH 的開發者。

羽毛球分组比赛记分
小程序二维码

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

小夜