dsh-remote-trust:修復反向代理環境下的 DeepSeek Harness 設置界面

在使用 DeepSeek Harness (DSH) 時,通過域名或反向代理(如 nginx)訪問 Web 界面是常見需求。本機訪問一切正常,但一旦通過域名訪問,進入「設置 → 模型」頁面,通常會提示「settings are unavailable in this browser」。這並非服務端攔截,而是客戶端基於 isLoopback 的安全策略判定。

dsh-remote-trust 是 DeepSeek Harness 的一款插件,由 deepseekv41flash 維護。它通過在頁面加載時注入腳本,將當前頁面標記爲「可信本機」,從而繞過客戶端的 isLoopback 檢查,讓設置界面的鏡像持久化功能正常工作。

核心功能

  • 注入腳本:利用 ctx.webServer.tapIndex() 向 index.html 注入腳本。
  • 修改判定:設置 globalThis.__DSH_TRANSPORT__.ownsHost = true,讓客戶端認爲當前頁面是本機(loopback)。
  • 純淨實現:不修改 DSH 源碼,不覆蓋 server.emit。
  • 容錯處理:支持靜默降級,依賴缺失時不報錯。

安裝與啓用

通過命令行安裝該插件:

dsh plugin --profile web add dsh-remote-trust

安裝後需要重啓 DSH 服務才能生效。

驗證方法

  1. 安裝並重啓後,打開瀏覽器控制台。
  2. 檢查 globalThis.__DSH_TRANSPORT__ 是否包含 { ownsHost: true }。
  3. 進入「設置 → 模型」,檢查提供商目錄是否正常加載。

適用場景與注意

  • 放寬門控:該插件有意放寬了一道設計門控。聲明 ownsHost 會將頁面視爲「可信本機」,從而同時放開其他依賴 isLoopback 條件的客戶端表面(例如打開配置文件、原生目錄選擇等)。
  • 安全依賴:頁面必須繼續由 dsh 的 token 或瀏覽器會話 cookie 保護。公網部署建議增加額外認證(如 nginx Basic Auth)。
  • 服務端配置:不改變服務端信任護欄,部署時仍需使用 --trusted-host <域名> 啓動 dsh web。
  • 適用範圍:僅適用於你自己可達且已用其他手段保護的部署。

該插件僅解決客戶端判定問題,不改變服務端權限邏輯。如需瞭解更多細節或查看源碼,請訪問 GitHub。

羽毛球分组比赛记分
小程序二维码

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

小夜