前言¶
在 DSH 的插件思路下,一些手機瀏覽器訪問網頁 UI 的問題可以通過小插件解決。dsh-lan-bridge 針對的是手機瀏覽器訪問 DeepSeek Harness 網頁 UI 時的一個具體報錯:
crypto.randomUUID is not a function.
它通過在頁面中注入 polyfill,讓 DSH 網頁 UI 在純 HTTP 下可用,不要求證書、不要求警告處理、也不要求公網隧道。
這是什麼¶
dsh-lan-bridge 是 Def1ce 維護的 DSH 插件與 LAN bridge,包名爲 dsh-lan-bridge,已覈實資料給出的版本爲 0.2.1,許可證爲 MIT,README 說明零依賴。
它解決的問題可以概括爲:讓手機通過 http:// 訪問 DSH 網頁時,不再因爲 crypto.randomUUID 缺失而無法使用。
核心功能¶
- 作爲 DSH 插件安裝:插件會把
crypto.randomUUIDpolyfill 注入 dsh 返回的index.html,手機可以直接訪問 dsh 自身端口,不需要額外進程。 - 用更通用的 API 實現補全:基於
crypto.getRandomValues實現randomUUID,使純 HTTP 場景可用。 - 降低局域網訪問配置成本:0.2.1 起會把 dsh webserver 自動綁定到
0.0.0.0,並將局域網 IP 加入/api信任名單。 - 提供獨立 CLI 代理:
bin/dsh-bridge.cjs可以代理本地 Web 應用,並自動轉發 WebSocket 即時通道。 - 面向老 iOS 場景:README 說明可在老 iOS 上使用,適合沒有
randomUUID或純 HTTP 下不可用的瀏覽器環境。
安裝與啓用¶
插件方式推薦先使用帶版本號的安裝命令,因爲資料說明剛發佈版本有 pnpm 24 小時閘門:
dsh plugin --profile web add dsh-lan-bridge@0.2.1
如果版本發佈超過 24 小時,也可以使用不帶版本號的命令:
dsh plugin --profile web add dsh-lan-bridge
安裝後重啓 dsh,讓插件進入 dsh 的頁面鏈路。手機連到同一 WiFi 後,打開 DSH 的本地端口:
http://<電腦局域網IP>:3080
典型用法¶
插件方式¶
先安裝插件,再重啓 DSH,最後從手機瀏覽器訪問 DSH 的 3080 端口。這個方式不需要額外進程,適合只想讓 DSH 網頁在手機瀏覽器上正常打開的場景。
獨立 CLI 代理¶
如果你希望代理本地 Web 應用,而不僅是 DSH,可以直接運行項目中的 CLI:
node bin/dsh-bridge.cjs
也可以安裝爲全局命令:
npm install -g dsh-lan-bridge && dsh-lan-bridge
需要自定義後端或端口時,可以顯式指定參數:
dsh-lan-bridge --backend http://127.0.0.1:3080 --http-port 8088
啓動後,手機連同一 WiFi,打開:
http://<電腦局域網IP>:8088
在 Windows 下,資料提到可以雙擊 start.bat 啓動 CLI 方式;此時 dsh 需要先在 3080 端口運行。
適用場景與注意¶
這個插件比較適合在可信局域網內使用:手機、平板和電腦在同一 WiFi 下訪問 DSH 網頁 UI,尤其是老 iOS 或純 HTTP 環境。
使用插件方式時,polyfill 注入發生在 dsh 返回頁面的鏈路中;由於 dsh 網頁沒有登錄認證,安裝前應檢查源碼與許可證,並不要把局域網端口直接暴露到公網。
項目資料中說明 package.json 聲明 node >= 18。社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係,可按獨立插件來源理解。
結尾¶
dsh-lan-bridge 的價值比較集中:用一個小的 crypto.randomUUID polyfill,解決 DSH 手機網頁在純 HTTP 下不可用的問題。
GitHub 倉庫:
https://github.com/Def1ce/dsh-lan-bridge
已覈實資料未提供具體目錄頁 URL;如需在 DSH 社區目錄查找,可按插件名 dsh-lan-bridge 搜索。