dsh-net-access:控制 DeepSeek Harness Web 訪問範圍

前言

DeepSeek Harness (DSH) 提供了 Web GUI 用於管理智能體任務。默認情況下,Web 服務器的訪問控制通常較爲嚴格或需要修改底層配置。dsh-net-access 插件通過設置頁提供了一種集中式配置方案,支持將訪問範圍限定爲本機、Tailscale 網段、局域網,或者直接關閉。

核心功能

該插件通過一套配置項控制 Web GUI 的可達性,核心能力包括:

  • 四種訪問模式:支持“僅本機”、“僅 Tailscale”、“所有本地網絡”和“關閉”四種狀態。
  • 熱切換機制:除“關閉”模式外,其他三種模式支持在設置頁中直接切換,無需重啓進程。
  • 信任圍欄:通過 Host 頭驗證來攔截未授權請求,在應用層執行訪問控制。
  • 自動探測:自動探測 Tailscale 網卡名稱並解析 tailnet 地址,無需手動填寫 IP。
  • 擴展授權:支持通過 extraTrustedHosts 添加額外的授權 host[:port]。

安裝與啓用

插件安裝需要通過 DSH 的插件管理器添加。

  1. 執行安裝命令:
    dsh plugin --profile web add dsh-net-access
  1. 安裝後必須重啓 GUI 以加載新組合包:
    dsh --profile web
啓動時會打印可訪問的 URL,例如 `dsh web: http://127.0.0.1:3080/?token=...`。

配置與模式說明

配置位於 DSH 的設置 → 遠程訪問中,也可以寫入 cordis.patch.yml 的 config 塊。

字段 默認值 說明
mode local local、tailscale、all 或 off
address "" 固定 tailnet 地址;留空則自動探測
extraTrustedHosts [] 額外接受的 host[:port] 授權

模式差異與工作原理

DSH 在啓動時只綁定一次 HTTP 監聽端口,因此改變綁定地址(如關閉模式)必須重啓。其餘三種模式保持套接字在所有網卡上監聽,通過應用層的“信任圍欄”來過濾請求。

1. 僅本機(local)

默認模式。端口對所有網卡開放,但任何非迴環地址的請求都會被攔截(返回 403)。
* 特點:局域網端口掃描可見,TCP 握手可完成,但無法通過認證。
* 注意:文檔中關於該模式“能熱切換”與“已知限制中需重啓”存在描述矛盾,請以設置頁實際生效爲準。

2. 僅 Tailscale(tailscale)

僅允許來自 Tailscale tailnet 地址的請求。
* 特點:自動探測 tailnet 地址。如果探測失敗,插件會回退到“關閉”模式並記錄原因,不會靜默放寬爲局域網訪問。

3. 所有本地網絡(all)

允許局域網內所有 IPv4 設備訪問。
* 特點:地址按請求採樣,但綁定地址不會隨網絡切換而移動。

4. 關閉(off)

將監聽地址收回爲迴環(127.0.0.1)。
* 特點:端口對局域網不可見,需要重啓生效。

適用場景與注意事項

  • 適用場景:需要在手機上通過 Tailscale 訪問 GUI、開放給局域網內其他設備、或希望完全關閉遠程訪問。
  • 限制:插件僅支持 IPv4,不探測 IPv6 網段。GUI 本身使用 HTTP,不提供 TLS 加密,流量依賴 Tailscale 或局域網本身的安全機制。
  • 依賴:需要 Node.js 引擎版本 ^22.19.0 || >=24.0.0。

總結

dsh-net-access 通過應用層的信任圍欄機制,解決了 DSH 默認配置在靈活性和安全性之間的平衡問題。它允許在不重啓進程的情況下動態調整訪問策略(除關閉模式外),適合對 Web 訪問範圍有精細控制需求的 DSH 用戶。

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

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

小夜