DSH 插件:ai-eks/dsh-auth-tunnel

前言

DSH 的理念是「一切皆插件」。插件目录是独立站点,与 DeepSeek / 幻方没有官方从属关系,不应理解为官方应用商店。

对智能体开发者来说,一个具体问题是:如何把本机的 DeepSeek Harness Web GUI 发布到公网,同时避免公网请求直接落到 Web server,并且不直接修改 deepseek-harness 源码。ai-eks/dsh-auth-tunnel 的做法是在 Web server 前加一个 loopback 密码门,再由 cloudflared 建立 Cloudflare Tunnel。下面介绍它的安装和用法。

这是什么

ai-eks/dsh-auth-tunnelai-eks 维护的 MIT 许可插件。它包含两个部分:

  • 一个 loopback password gate,提供登录页和 HMAC cookie;
  • 一个通过 cloudflared 启动的发布通道,支持 quick 或 named-tunnel 模式。

插件目标是在不修改 deepseek-harness 本身的情况下,把 DeepSeek Harness Web GUI 暴露到公网。

核心功能

公网暴露

  • 通过 Cloudflare Tunnel 暴露 DeepSeek Harness Web GUI。
  • 在 Web server 前添加 loopback 密码门,包含登录页和 HMAC cookie。
  • tunnel 就绪后打印公网 Cloudflare tunnel URL。

两种发布模式

  • Quick 模式。
  • Named/tunnel token 模式。

设置与维护

  • Web Settings → Plugins → Plugin configuration 下提供 Auth Tunnel 设置卡。
  • 支持 allowRemoteSettings,允许认证后的公网页面更新设置,并单独更新 write-only 的访问密码。
  • 支持 passwordRefsessionTtlHours 的原地更新。

安装与启用

前置条件

1、dsh CLI 和 pnpmPATH 中。

2、cloudflaredPATH 中,或在插件中配置为绝对可执行文件。

3、准备一个较长的随机共享密码,并保存为 DSH credential。

4、package.json 声明的 Node 要求是 ^22.19 || >=24

安装

从 npm 安装最新发布的 prerelease bundle:

dsh plugin --profile web add dsh-auth-tunnel@next

也可以从 Git 安装当前源码:

dsh plugin --profile web add github:ai-eks/dsh-auth-tunnel

当前分支面向 DeepSeek Harness 0.1.1-rc.2。如果使用 0.1.0-rc.8 或更早版本,需要固定一个兼容的 immutable tag 或 revision。

如果使用 pnpm 10 或更高版本,可能需要在 profile 的 pnpm-workspace.yaml 中允许构建。

保存访问密码

将访问密码保存为 DSH credential:

DSH_WEB_PASSWORD: 'replace-with-a-long-random-password'

保存位置:

$DSH_HOME/.credentials.yaml

启动 Web profile:

dsh web

典型用法

Quick 模式

启动并建立 tunnel 后,终端会打印:

cloudflare tunnel: https://<random>.trycloudflare.com

打开这个 URL,在登录页输入 DSH_WEB_PASSWORD

Named tunnel / token 模式

如果配置 publicHostname,使用 token 模式。示例中使用 DSH_TUNNEL_TOKEN,并在 cordis.patch.yml 中配置:

mode: token
tokenRef: DSH_TUNNEL_TOKEN
publicHostname: gui.example.com
gatePort: 7677

publicHostname 只填写 DNS hostname,不要包含 https://、端口或路径。

适用场景与注意

适合需要把本地 DeepSeek Harness Web GUI 暴露到公网,同时不希望直接修改 deepseek-harness 的使用者。

使用前注意:

  • DSH 插件会以当前 dsh 进程权限运行。安装前应检查源码和许可证;本插件许可证为 MIT。
  • allowRemoteSettings 默认启用。如果认证后的公网页面不应管理 tunnel 本身,应关闭它。
  • 访问密码和配置变更不会合并成一个事务提交;访问密码通过 write-only 按钮单独更新。
  • 远程页面不能保存会分配新的随机 Quick URL 的变更;这类变更需要在本地完成。
  • 对于认证后的公网页面,gate 会把 settings.*credentials.*llm.* 代理给 Host;针对 auth-tunnel namespace 的核心设置写入会被拒绝,需要走插件的 fenced endpoint

参考

  • 插件目录:https://www.skillhub.cn/plugins/ai-eks/dsh-auth-tunnel
  • GitHub:https://github.com/ai-eks/dsh-auth-tunnel
羽毛球分组比赛记分
小程序二维码

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

小夜