dsh-remote-access:爲 DeepSeek Harness 提供多模式遠程訪問能力的插件

前言

DeepSeek Harness (DSH) 本地運行時,開發者常需要通過局域網或公網訪問控制台。直接暴露端口風險較高。dsh-remote-access 插件通過 Caddy 反向代理與 API Gateway,爲本地 DSH 提供了安全的局域網訪問、Tailscale 私有入口以及可選的 Cloudflare Tunnel 公網入口。

核心功能

該插件主要解決本地 DSH 的遠程接入問題,核心能力包括:

  • 多模式入口:提供局域網 (LAN)、Tailscale Serve/Funnel 和 Cloudflare Tunnel 三種訪問模式。
  • API 策略控制:針對不同入口配置獨立的 API 白名單(lan/serve/funnel/cloudflare),默認限制高風險接口。
  • 統一網關:使用 Caddy 作爲反向代理和 API Gateway,統一處理 Host、Origin、WebSocket 和 TLS。
  • 認證與安全:支持 Basic Auth 憑據管理,提供二維碼登錄入口(一次性票據),並具備邊緣診斷工具。
  • TLS 自動化:LAN 模式下支持 lanTlsMode: auto,能自動檢測 OpenSSL 或回退到 Caddy internal CA。

安裝與啓用

  1. 使用命令安裝:
    dsh plugin --profile web add @greenonion/dsh-remote-access
  1. 手動安裝:
    git clone <repo-url> dsh-remote-access
    cd dsh-remote-access
    node install.js
  1. 安裝完成後重啓 DSH,在「設置 → 遠程訪問」中操作 Caddy、LAN 策略和 API 策略。

典型用法

  • 配置 LAN TLS:
    默認 lanTlsMode 爲 auto。若找不到 OpenSSL,會自動回退到 Caddy internal。可在 cordis.patch.yml 中顯式指定爲 caddy-internal 以避免依賴系統 OpenSSL。
  • 配置 Cloudflare Tunnel:
    在設置頁開啓 Cloudflare,並配置 externalOrigins(如 https://dsh.example.com)。插件只控制 loopback 適配器,不管理 cloudflared 進程。
  • 運行診斷:
    使用自帶的診斷腳本檢查網絡狀態。
    node scripts/edge-diagnostics.mjs --tailscale --json

適用場景與注意

  • 適用場景:本地運行的 DSH 需要被局域網內其他設備或公網訪問。
  • 注意:
    • 新版 DSH 由 client-connection 認證瀏覽器頁面,舊版本可能回退。
    • Tunnel-only 模式不提供用戶身份認證,僅提供基礎 API。
    • API 方法白名單不是沙箱,獲得 session.prompt 的主體仍擁有完整控制權。
    • LAN 可通過 lanAllowedCidrs 限制來源網段。
    • 關閉端口會從 Caddyfile 中移除,由 Caddy --watch 熱應用。

結語

該插件通過統一網關和策略控制,解決了 DSH 本地運行時的遠程接入問題。如需查看完整文檔或反饋問題,可訪問 GitHub 倉庫。

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

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

小夜