在使用 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 服務才能生效。
驗證方法¶
- 安裝並重啓後,打開瀏覽器控制台。
- 檢查
globalThis.__DSH_TRANSPORT__是否包含{ ownsHost: true }。 - 進入「設置 → 模型」,檢查提供商目錄是否正常加載。
適用場景與注意¶
- 放寬門控:該插件有意放寬了一道設計門控。聲明
ownsHost會將頁面視爲「可信本機」,從而同時放開其他依賴isLoopback條件的客戶端表面(例如打開配置文件、原生目錄選擇等)。 - 安全依賴:頁面必須繼續由 dsh 的 token 或瀏覽器會話 cookie 保護。公網部署建議增加額外認證(如 nginx Basic Auth)。
- 服務端配置:不改變服務端信任護欄,部署時仍需使用
--trusted-host <域名>啓動 dsh web。 - 適用範圍:僅適用於你自己可達且已用其他手段保護的部署。
該插件僅解決客戶端判定問題,不改變服務端權限邏輯。如需瞭解更多細節或查看源碼,請訪問 GitHub。