DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

ArtificialAngels /

ArtificialAngels/dsh-public-edge

Verified

DSH 公网访问插件:设置页一键启停 Cloudflare 隧道、复制带 token 的公网链接与二维码,内置局域网桥(Host 改写/剥 Origin/WebSocket 透传),cloudflared 自动下载。

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@22fd7fcf

dsh-public-edge · 公网访问

给 DeepSeek Harness(DSH) 的「公网访问」标准插件:在设置里一键启停 Cloudflare 隧道,拿到带 token 的公网链接和二维码;内置局域网桥,手机/别的电脑也能连。支持 Windows / macOS / Linux,cloudflared 缺失时自动下载。

设置面板

功能

  • 一键启停:设置 → 公网访问 → 启动/停止 Cloudflare quick tunnel(免账号、免域名、真 HTTPS)。
  • 复制链接:面板显示 https://<随机>.trycloudflare.com/?token=…,一键复制;手机浏览器打开即可(首次后 cookie 有效 30 天)。
  • 二维码:面板内展示,或本机打开 http://127.0.0.1:8788/pair(只允许本机)。
  • 换地址:隧道重连拿到新域名,点一下即可刷新。
  • 局域网桥:监听 0.0.0.0:8787(可配置)→ DSH 本机 Web 端口,自动改写 Host、剥掉 Origin / Sec-Fetch-*、透传 WebSocket,所以手机连的是同一个地址,局域网/公网都走它。
  • 零依赖工具链:cloudflared 不在时自动下载到 ~/.dsh/dsh-public-edge/,GitHub 直连不通会自动走镜像。
  • 安全加固:桥上的 /pair 一律 404(token 页只在本机回环端口);经隧道的响应自动补 Secure cookie 和 HSTS;控制接口走 DSH 已鉴权的 /api 通道,只有本机 owner 能调。

安装

本插件没有发布到 npm,插件市场里搜不到;直接复制下面的 GitHub 仓库地址 安装即可。

仓库地址(复制这一条):

https://github.com/ArtificialAngels/dsh-public-edge

方式 A:在 DSH 插件页粘贴仓库地址(推荐,零命令行)

  1. 打开 DSH → 左侧 插件 页 → 右上 添加插件;
  2. 把上面的仓库地址粘进输入框(该输入框支持「包名、GitHub 仓库地址或本地目录路径」);
  3. 点 安装;
  4. 完全退出 DSH 再打开(host 插件在启动时加载)。

方式 B:命令行(dsh plugin,等价于 A)

dsh plugin 会把参数原样转发给 profile 里的 pnpm,支持 pnpm 的全部安装语法。

# Windows / DSH-Portable
E:\DSH-Portable\dsh.exe plugin --profile web add https://github.com/ArtificialAngels/dsh-public-edge

# 固定版本(推荐,避免跟着 main 走)
E:\DSH-Portable\dsh.exe plugin --profile web add github:ArtificialAngels/dsh-public-edge#v0.2.1

非 Portable 安装:把可执行文件换成你的 dsh,profile 名按实际使用(默认 web)。

方式 C:本地 tgz / 本地目录(连不上 GitHub 时用)

下载 Release 附件 dsh-public-edge-0.2.1.tgz(https://github.com/ArtificialAngels/dsh-public-edge/releases/tag/v0.2.1),然后:

  • 插件页「添加插件」里粘贴本地文件路径或目录路径;或
  • 命令行:E:\DSH-Portable\dsh.exe plugin --profile web add file:E:/path/to/dsh-public-edge-0.2.1.tgz

方式 D:手动写 profile(dsh plugin 不可用时)

cd <DSH_HOME>\profiles\web          # 例如 E:\DSH-Portable\data\dsh-home\profiles\web
pnpm add https://github.com/ArtificialAngels/dsh-public-edge

再把 "dsh-public-edge" 加进同目录 package.json 的 dsh.profile.bundles 数组,重启 DSH。

装完重启 DSH,在 头像菜单 → 设置 → 公网访问 里点「启动」。第一次启动会自动下载 cloudflared(约 55 MB,视网络 1–5 分钟),面板会显示进度/错误;GitHub 直连失败会自动尝试镜像。

验证

# 已安装版本
Get-Content E:\DSH-Portable\data\dsh-home\profiles\web\node_modules\dsh-public-edge\package.json

# 启动日志里应有
# [public-edge] tunnel url: https://xxxx.trycloudflare.com
Get-Content E:\DSH-Portable\data\logs\dsh.stdout.log | Select-String "public-edge"

使用

  1. 打开 DSH,点左下角头像(账号菜单)→ 设置 → 公网访问 → 启动:状态变成「运行中」,出现隧道地址和带 token 的链接。
  2. 点 复制链接,手机浏览器打开;或本机开 http://127.0.0.1:8788/pair 扫码。
  3. 首次带 token 打开后,浏览器会拿到 cookie(30 天),之后直接开裸地址也能进。
  4. 不用时点 停止;域名变了点 换地址。

手机端「Helm·DSH」一类 App 目前只认 主机:端口 的局域网地址,公网请用浏览器。

配置

默认配置一般不用改。要改端口/关闭自动启动等,在 profile 的 cordis.patch.yml 里按 id 覆盖:

- id: public-edge
  config:
    port: 8787                # 桥端口(局域网访问端口 = 它)
    autoStart: true           # DSH 启动时自动开隧道
    cloudflaredPath: ""       # 留空 = 自动;也可指定已有的 cloudflared 可执行文件
    downloadMirrors:          # cloudflared 下载镜像前缀,按顺序尝试("" = GitHub 直连)
      - ""
      - "https://gh-proxy.com/"
      - "https://ghfast.top/"
字段 默认 说明
port 8787 局域网桥端口;被占用会启动失败(面板显示错误),改一个空闲端口即可
autoStart true DSH 启动后自动拉起隧道
cloudflaredPath "" 留空自动下载到 ~/.dsh/dsh-public-edge/cloudflared[.exe]
downloadMirrors 见上 国内网络 GitHub 直连失败时用的镜像,可自行增删

安全须知

  • 链接里的 token 是 DSH 进程令牌,等同这台电脑的控制权(终端/文件/插件都在里面),别外传。
  • Cloudflare 是 TLS 终点:手机↔Cloudflare 是 HTTPS,但 Cloudflare 能看到明文;quick tunnel 没有 SLA、地址随机。
  • 公网入口的认证完全依赖 token(没有密码/二次验证)。建议:不用时点「停止」;泄露后重启 DSH(token 换新)+ 点「换地址」。
  • 需要固定域名/额外登录层:用 Cloudflare 账号做 named tunnel + Access,本插件不含这部分。
  • 局域网桥监听 0.0.0.0,Windows 首次可能弹防火墙提示,只放行「专用网络」即可;也可只在需要时启动。

卸载

E:\DSH-Portable\dsh.exe plugin --profile web remove dsh-public-edge

重启 DSH。可选:删除 ~/.dsh/dsh-public-edge/(下载的 cloudflared)。

开发

lib/index.js          host 插件:桥 + 隧道 + 控制接口(/api/dsh-public-edge/state|control)
lib/client.js         设置页「公网访问」面板(slots: settings.section)
cordis.patch.yml      bundle 插入片段
test/smoke.mjs        mock ctx 冒烟测试(桥、/pair、state/control、cookie 加固、启停)
node test/smoke.mjs   # 需要本机 DSH Web 在 127.0.0.1:3080 提供登录 401;测试会占用 8877/8878 端口

License

MIT © ArtificialAngels

—/ 5

No ratings yet

Verified DSH bundle

Commit 22fd7fcfeb19

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout