dsh-remote-gateway:讓 DeepSeek Harness 遠程訪問的安全反向代理

前言

DeepSeek Harness (DSH) 默認僅監聽本地迴環地址,這使得開發者無法直接從其他設備訪問。直接暴露 DSH 的 Web 端口存在安全風險。dsh-remote-gateway 插件提供了一個安全的反向代理方案:DSH 進程本身始終只監聽 127.0.0.1,由網關負責接收遠程請求並進行認證轉發。

插件簡介

該插件由 RyensX 維護,旨在解決 DSH 的遠程訪問需求。它通過網關模式,將外部請求安全地轉發到本地,並支持認證、IP 白名單、HTTPS 配置等功能。

核心功能

  • 安全轉發:DSH 本身始終只監聽 127.0.0.1,由插件提供的網關進行轉發。
  • 認證機制:支持密碼認證和 IP 白名單。來源 IP 只讀取 TCP socket,不信任代理請求頭。
  • 實時配置:設置頁的所有配置(如監聽地址、端口、白名單、密碼)在點擊“保存”後實時生效,無需重啓 DSH。
  • HTTPS 支持:支持使用宿主機上的 PEM 文件配置 HTTPS 證書。
  • 交互優化:通過網關地址添加工作區時,會在當前瀏覽器內打開宿主機文件夾選擇器,而非在遠程主機彈窗。

安裝與啓用

使用官方命令安裝插件:

dsh plugin --profile web add github:RyensX/dsh-remote-gateway

安裝後,在 DSH 的設置頁中找到該插件配置。首次使用時,必須通過本地 127.0.0.1 訪問設置頁並配置密碼。

典型用法

基礎訪問流程

瀏覽器通過網關訪問本地 DSH 的流程如下:

瀏覽器
  → dsh-remote-gateway(白名單 + 密碼認證)
  → http://127.0.0.1:<DSH Web 端口>

局域網訪問配置

如果需要在局域網內訪問,需在網關配置中將“監聽地址”從默認的 127.0.0.1 改爲 0.0.0.0 或指定的網卡地址。

HTTPS 配置

HTTPS 使用宿主機上的 PEM 文件,配置方式如下:

dsh-remote-gateway:
  tls:
    enabled: true
    certPath: /absolute/path/to/cert.pem
    keyPath: /absolute/path/to/key.pem

注意事項:
* 證書和私鑰路徑必須是絕對路徑,且文件大小不超過 1 MiB。
* 僅覆蓋同一路徑下的證書文件不會觸發自動加載,需重啓 DSH。
* 證書讀取失敗時不會降級到 HTTP,原監聽器繼續服務。

IP 白名單與 Host 控制

  • IP 白名單:建議在需要特定設備訪問時開啓。支持精確 IPv4、IPv6 和 CIDR 格式。留空表示不限制來源 IP。命中白名單後仍需輸入密碼。
  • Host 白名單:網關默認只接受本機 IP 和 localhost。如需使用局域網域名或 NAT 後的外部 IP,必須在“額外允許的 Host”中顯式添加精確域名或 IP(不包含協議和端口)。

適用場景與注意事項

適用場景

  • 需要在多臺設備間同步使用 DSH 的開發者。
  • 在局域網內搭建 AI 開發環境的場景。
  • 需要通過 VPN 或內網穿透工具(如 Tailscale、ZeroTier、Cloudflare Tunnel)訪問本地服務的場景。

注意事項

  • 遠程工具依賴:插件本身不直接提供遠程訪問服務,必須搭配 Tailscale、ZeroTier 等工具使用。
  • 安全建議:HTTP 模式僅適合臨時使用的可信局域網,長期使用或監聽非迴環地址應配置 HTTPS,並設置 IP 白名單和主機防火牆規則。
  • 會話管理:會話按令牌獨立滑動過期(默認 180 分鐘),最長絕對生命週期爲 7 天。服務端推送和心跳不會續期。
  • 系統編輯器:通過網關打開配置文件時,會調用 DSH 原有的系統文本編輯器。

結語

dsh-remote-gateway 通過網關模式解決了 DSH 本地運行帶來的遠程訪問痛點,同時保持了安全性。對於需要在多終端或遠程環境使用 DeepSeek Harness 的用戶,這是一個可靠的解決方案。

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

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

小夜