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 仓库。

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

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

小夜