前言¶
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-accessJSON route:GET讀取狀態,POST設置狀態。 - route fence 接受 loopback 或 trusted authorities,並拒絕 cross-site 請求。
- 打開後更新
/apitrust fence,使 LAN 瀏覽器可以使用 chat、tools 和 workspace。 - 在 fenced 的
/lan-access/rpcroute 上鏡像 settings/credentials domains,用於遠程 Settings、Models 和 Plugins 配置頁。 - 爲 plain-HTTP LAN origins 安裝
crypto.randomUUIDpolyfill。 - 暴露
GET /lan-access/diag調試輔助。 - 提供一個可選的
dsh-better-sidebarcompatibility patch。
安裝與啓用¶
已覈實的安裝命令如下。README 中的地址使用 <owner>/<repo> 佔位符,安裝時按實際倉庫地址替換:
dsh plugin --profile web add git+https://github.com/<owner>/<repo>.git
安裝後重啓 GUI:
dsh web
典型用法¶
- 打開 DSH GUI,進入
Settings → General。 - 切換
局域網訪問 / LAN access。
- 打開後,設置行會顯示可被其他設備打開的地址,通常是擁有默認路由的接口的 IPv4 地址,並附帶複製按鈕。
- Web server 會重啓以重新綁定;設置行會等待重啓完成,再重新讀取狀態。 - 選擇會持久化到
~/.dsh/settings.yaml,例如:
lan-access:
enabled: true
- 需要重啓 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