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