dsh-maestro-remote: DSH 远程访问与隧道管理插件

前言

在本地运行 DeepSeek Harness(DSH)会话时,通常面临无法从网络外部访问或接收外部触发请求的问题。dsh-maestro-remote 旨在解决这一痛点,它通过 Cloudflare Tunnel 建立通往外网的通道,并提供带 PIN 认证的远程代理,同时支持通过隧道入口接收 GitLab 等服务的 Webhook。

插件简介

这是一个为 DeepSeek Harness 提供远程访问能力的插件。它利用 Cloudflare Tunnel 将本地服务暴露到公网,并配合 PIN 认证机制保护代理入口。该插件属于 Maestro Harness 套件(dsh-maestro-*)的一部分。

核心功能

插件主要包含以下能力:

  1. 隧道生命周期管理
    - 支持启动、停止、查询隧道状态。
    - 支持快速隧道或命名隧道。
    - 系统启动时会自动恢复之前运行的命名隧道。

  2. 远程代理与认证
    - 提供远程代理服务,请求处理受 PIN 认证保护(使用常量时间比较算法)。
    - 支持配置重载。

  3. 流量分发
    - 默认将非 Webhook 路径的流量导向远程代理。
    - 支持 GitLab Webhook 请求通过隧道入口(ingress /hooks/*)分发。

  4. 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)的开发者。

参考资料

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

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

小夜