dsh-lan-access:在 DSH Web 中增加局域网访问开关

前言

DSH 的 Web GUI 默认只绑定回环地址。DSH launcher 本身也会拒绝 --host 0.0.0.0,原因是绑定所有接口会把 DSH 暴露的工具带入网络。

如果只是想在同一局域网内,从另一台机器打开 DSH Web GUI,dsh-lan-access 把这个切换做成 Settings → General 里的一个开关:打开时绑定 0.0.0.0,关闭时回到 127.0.0.1

这是什么

dsh-lan-access 是一个 DSH web plugin。仓库地址是 nonmean/dsh-lan-access,许可证为 MITpackage.jsonengines 要求 Node >=20,并已针对 DeepSeek Harness v0.1.1-rc.1 验证可运行。

它的主要价值是:把“是否允许局域网访问”从手工改绑定地址,变成 DSH 设置页里的一个明确开关,并且核心功能不需要对 harness 做改动。

核心功能

  • 在 DSH Settings → General 中增加“局域网访问 / LAN access”行,带原生 checkbox 开关、LAN URL、复制按钮、中/英文文案,以及重启期间可轮询的状态读取。
  • 打开时,Web GUI 绑定 0.0.0.0,同网络设备可以通过 http://<LAN-IP>:3080 打开。
  • 关闭时,Web GUI 绑定回 127.0.0.1,也就是只允许本机回环访问。
  • 注册 fenced 的 /lan-access JSON route:GET 读取状态,POST 设置状态。
  • route fence 接受 loopback 或 trusted authorities,并拒绝 cross-site 请求。
  • 打开后更新 /api trust fence,使 LAN 浏览器可以使用 chat、tools 和 workspace。
  • 在 fenced 的 /lan-access/rpc route 上镜像 settings/credentials domains,用于远程 Settings、Models 和 Plugins 配置页。
  • 为 plain-HTTP LAN origins 安装 crypto.randomUUID polyfill。
  • 暴露 GET /lan-access/diag 调试辅助。
  • 提供一个可选的 dsh-better-sidebar compatibility patch。

安装与启用

已核实的安装命令如下。README 中的地址使用 <owner>/<repo> 占位符,安装时按实际仓库地址替换:

dsh plugin --profile web add git+https://github.com/<owner>/<repo>.git

安装后重启 GUI:

dsh web

典型用法

  1. 打开 DSH GUI,进入 Settings → General
  2. 切换 局域网访问 / LAN access
    - 打开后,设置行会显示可被其他设备打开的地址,通常是拥有默认路由的接口的 IPv4 地址,并附带复制按钮。
    - Web server 会重启以重新绑定;设置行会等待重启完成,再重新读取状态。
  3. 选择会持久化到 ~/.dsh/settings.yaml,例如:
lan-access:
  enabled: true
  1. 需要重启 GUI 时使用:
dsh web

如果使用可选的 dsh-better-sidebar compatibility patch,执行:

./scripts/install-patches.sh web

本地开发时,修改 src/ 后可以重新构建,然后重新安装并重启:

pnpm build

也可以使用:

npm run build

适用场景与注意

  • 默认是关闭的,也就是 loopback only。
  • 只建议在 trusted network 中打开。绑定 0.0.0.0 会把 DSH 暴露的工具带入网络。
  • 局域网访问 / LAN access 开关只通过 fenced route 可达;如果从远程机器上关闭它,那台远程机器会立即失去访问。
  • 以下能力仍然保持 loopback-only,不能通过该插件从远程补齐:host.pickDirectoryhost.openPathllm.discoverModels
  • 插件会以当前 dsh 进程的权限运行。安装前建议先检查源码与许可证。

链接

GitHub:

https://github.com/nonmean/dsh-lan-access

目录页地址(插件线索给出):

https://www.skillhub.cn/plugins/nonmean/dsh-lan-access
羽毛球分组比赛记分
小程序二维码

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

Xiaoye