dsh-lan-access:在 DSH Web 中增加局域網訪問開關

前言

DSH 的 Web GUI 默認只綁定迴環地址。DSH launcher 本身也會拒絕 --host 0.0.0.0,原因是綁定所有接口會把 DSH 暴露的工具帶入網絡。

如果只是想在同一局域網內,從另一臺機器打開 DSH Web GUI,dsh-lan-access 把這個切換做成 Settings → General 裏的一個開關:打開時綁定 0.0.0.0,關閉時回到 127.0.0.1。

這是什麼

dsh-lan-access 是一個 DSH web plugin。倉庫地址是 nonmean/dsh-lan-access,許可證爲 MIT,package.json 的 engines 要求 Node >=20,並已針對 DeepSeek Harness v0.1.1-rc.1 驗證可運行。

它的主要價值是:把“是否允許局域網訪問”從手工改綁定地址,變成 DSH 設置頁裏的一個明確開關,並且核心功能不需要對 harness 做改動。

核心功能

  • 在 DSH Settings → General 中增加“局域網訪問 / LAN access”行,帶原生 checkbox 開關、LAN URL、複製按鈕、中/英文文案,以及重啓期間可輪詢的狀態讀取。
  • 打開時,Web GUI 綁定 0.0.0.0,同網絡設備可以通過 http://<LAN-IP>:3080 打開。
  • 關閉時,Web GUI 綁定回 127.0.0.1,也就是隻允許本機迴環訪問。
  • 註冊 fenced 的 /lan-access JSON route:GET 讀取狀態,POST 設置狀態。
  • route fence 接受 loopback 或 trusted authorities,並拒絕 cross-site 請求。
  • 打開後更新 /api trust fence,使 LAN 瀏覽器可以使用 chat、tools 和 workspace。
  • 在 fenced 的 /lan-access/rpc route 上鏡像 settings/credentials domains,用於遠程 Settings、Models 和 Plugins 配置頁。
  • 爲 plain-HTTP LAN origins 安裝 crypto.randomUUID polyfill。
  • 暴露 GET /lan-access/diag 調試輔助。
  • 提供一個可選的 dsh-better-sidebar compatibility patch。

安裝與啓用

已覈實的安裝命令如下。README 中的地址使用 <owner>/<repo> 佔位符,安裝時按實際倉庫地址替換:

dsh plugin --profile web add git+https://github.com/<owner>/<repo>.git

安裝後重啓 GUI:

dsh web

典型用法

  1. 打開 DSH GUI,進入 Settings → General。
  2. 切換 局域網訪問 / LAN access。
    - 打開後,設置行會顯示可被其他設備打開的地址,通常是擁有默認路由的接口的 IPv4 地址,並附帶複製按鈕。
    - Web server 會重啓以重新綁定;設置行會等待重啓完成,再重新讀取狀態。
  3. 選擇會持久化到 ~/.dsh/settings.yaml,例如:
lan-access:
  enabled: true
  1. 需要重啓 GUI 時使用:
dsh web

如果使用可選的 dsh-better-sidebar compatibility patch,執行:

./scripts/install-patches.sh web

本地開發時,修改 src/ 後可以重新構建,然後重新安裝並重啓:

pnpm build

也可以使用:

npm run build

適用場景與注意

  • 默認是關閉的,也就是 loopback only。
  • 只建議在 trusted network 中打開。綁定 0.0.0.0 會把 DSH 暴露的工具帶入網絡。
  • 局域網訪問 / LAN access 開關只通過 fenced route 可達;如果從遠程機器上關閉它,那臺遠程機器會立即失去訪問。
  • 以下能力仍然保持 loopback-only,不能通過該插件從遠程補齊:host.pickDirectory、host.openPath、llm.discoverModels。
  • 插件會以當前 dsh 進程的權限運行。安裝前建議先檢查源碼與許可證。

鏈接

GitHub:

https://github.com/nonmean/dsh-lan-access

目錄頁地址(插件線索給出):

https://www.skillhub.cn/plugins/nonmean/dsh-lan-access
羽毛球分组比赛记分
小程序二维码

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

小夜