前言¶
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。
安裝與啓用¶
- 使用命令安裝:
dsh plugin --profile web add @greenonion/dsh-remote-access
- 手動安裝:
git clone <repo-url> dsh-remote-access
cd dsh-remote-access
node install.js
- 安裝完成後重啓 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 由
結語¶
該插件通過統一網關和策略控制,解決了 DSH 本地運行時的遠程接入問題。如需查看完整文檔或反饋問題,可訪問 GitHub 倉庫。