DSH Web 设置页默认只认本机地址。通过局域网 IP 或公网域名访问时,页面会提示设置不可用。dsh-loopback-bridge 插件通过在客户端注入逻辑,欺骗浏览器认为当前访问地址是回环地址,从而解锁设置页的读写权限。
核心功能¶
- 远程能改设置:在局域网 IP、NAS 域名或公网域名下打开 DSH,设置页内的模型和 API Key 可以正常修改。
- 不改官方包:插件是独立安装的,不影响 DSH 官方包的升级与维护。
- 装完即生效:安装后重启 Web 服务即可使用,无需修改 Nginx 等反代配置。
- 0.1.2 友好:针对 DSH 0.1.2 版本进行了适配,避免了旧版本中因 Host 绑定导致的 Cookie 校验问题。
安装与启用¶
-
确认服务端信任访问地址
启动
dsh web时,必须使用--trusted-host参数覆盖实际访问的 hostname 或 IP。
dsh web --host 127.0.0.1 --port 3080 \
--trusted-host 192.168.31.229 \
--trusted-host dsh.example.com
-
安装插件
使用官方插件安装命令,将插件添加到
webprofile。
dsh plugin --profile web add github:johnhom1024/dsh-loopback-bridge
-
重启服务
安装完成后需要重启
dsh web。如果使用 Docker 部署,建议对整个 DSH 栈进行重建,而不是仅重启单个容器。安装并重启后,刷新页面,远程打开设置页,模型 tab 不再报错,即可正常保存 API Key。
版本要求与注意事项¶
- 版本兼容性:
- DSH 0.1.2-rc.1 验证通过。
- DSH 0.1.5 及以上版本必须使用插件的 1.0.1 版本。
- 更早版本服务端需要手动修改 Host,不推荐使用。
--trusted-host参数:这是开启远程访问的前提,必须与你在浏览器地址栏输入的实际地址一致。- 反代 Host 配置:不要将特权 API 的 Host 改写成
127.0.0.1(在 0.1.2 版本中,Cookie 会绑定 Host,修改后会导致 401 认证失败)。 - 鉴权策略:
- 局域网信任模型可以“裸奔”,即不额外加鉴权。
- 挂载公网时,必须在前面加
authentik、oauth2-proxy等鉴权层。
安全模型¶
该插件仅修改客户端逻辑。这意味着,谁能打开 DSH 的页面,谁就能修改设置、调用 credentials.set。这种行为在自家反向代理(Reverse Proxy)后面是符合预期的;但在公网环境下,必须配合鉴权组件使用。
总结¶
dsh-loopback-bridge 解决了 DSH Web UI 在非本机访问场景下功能受限的问题。它通过客户端桥接技术,让开发者可以在任何能访问 Web UI 的地址上管理模型与凭据。如果 DSH 官方在服务端层面支持了 isLoopback 检测的关闭,该插件将失去作用,届时卸载即可。
- GitHub: https://github.com/johnhom1024/dsh-loopback-bridge
- 插件目录: https://www.skillhub.cn/plugins/johnhom1024/dsh-loopback-bridge