前言¶
在本地运行 DeepSeek Harness(DSH)会话时,通常面临无法从网络外部访问或接收外部触发请求的问题。dsh-maestro-remote 旨在解决这一痛点,它通过 Cloudflare Tunnel 建立通往外网的通道,并提供带 PIN 认证的远程代理,同时支持通过隧道入口接收 GitLab 等服务的 Webhook。
插件简介¶
这是一个为 DeepSeek Harness 提供远程访问能力的插件。它利用 Cloudflare Tunnel 将本地服务暴露到公网,并配合 PIN 认证机制保护代理入口。该插件属于 Maestro Harness 套件(dsh-maestro-*)的一部分。
核心功能¶
插件主要包含以下能力:
-
隧道生命周期管理
- 支持启动、停止、查询隧道状态。
- 支持快速隧道或命名隧道。
- 系统启动时会自动恢复之前运行的命名隧道。 -
远程代理与认证
- 提供远程代理服务,请求处理受 PIN 认证保护(使用常量时间比较算法)。
- 支持配置重载。 -
流量分发
- 默认将非 Webhook 路径的流量导向远程代理。
- 支持 GitLab Webhook 请求通过隧道入口(ingress/hooks/*)分发。 -
Cloudflared 管理
- 自动解析 PATH 中的 cloudflared 二进制文件,若不存在则自动下载到缓存目录。
配置与依赖¶
插件依赖 Node.js 环境,版本需满足 ^22.19.0 || >=24.0.0。
配置数据持久化存储在共享命名空间设置中(~/.dsh/maestro/settings.json),而机器运行时状态(如 lastTunnelRunning)则存储在插件自身的 Sidecar 目录(~/.dsh/dsh-maestro-remote/runtime.json)中。这种分离设计是为了防止在编辑配置时意外改变隧道的运行状态。
安装与启用¶
通过以下命令安装插件:
dsh plugin --profile web add @ddtcorex/dsh-maestro-remote
安装前请确认源码符合您的要求,且许可证(MIT)允许您的使用场景。
使用说明¶
配置通过共享命名空间设置进行,无需单独创建配置文件。
需要注意,隧道配置的变更(如修改隧道名称或入口规则)必须经过实时的启动/停止验证,以确保配置生效,详见 AGENTS.md。
适用场景与注意¶
此插件适合需要在远程网络环境下访问 DSH 会话,或通过公网隧道触发本地智能体任务(如接收 GitLab Webhook)的开发者。