dsh-lan-uuid-fix:爲 DeepSeek Harness Web UI 提供 HTTP LAN 環境下的 crypto.randomUUID 兼容層

前言

DeepSeek Harness 的 Web UI 在調用 mintRpcId() 時依賴 crypto.randomUUID()。瀏覽器僅在該 API 在安全上下文(HTTPS 或 loopback)中時才暴露它。像 http://192.168.1.66:3080 這樣的純 HTTP 局域網地址不屬於安全上下文,導致 crypto.randomUUID 爲 undefined。一旦缺失,每次單次 RPC 調用(如 host.describe、workspace.list)都會拋出 TypeError: crypto.randomUUID is not a function,連接生成中止,WebSocket 握手中斷,UI 無法加載會話/工作區基線。

插件定位

dsh-lan-uuid-fix 是一個 DeepSeek Harness 插件包,由 Zenjibad 維護。它通過在非安全上下文中注入兼容層,使 Web UI 能夠在純 HTTP 局域網上運行。

核心功能

  1. 在不安全上下文中 polyfill crypto.randomUUID。
  2. 使 Web UI 能夠在純 HTTP 局域網上運行。
  3. 在 ctx.webServer 上註冊索引 tap。
  4. 注入內聯 polyfill,定義 crypto.randomUUID。

安裝與啓用

使用官方命令安裝:

dsh plugin --profile web add https://github.com/Zenjibad/dsh-lan-uuid-fix

說明:Profile patch 層是實時應用(HMR)的,因此正在運行的 dsh web 會自動捕獲,無需重啓。需要在遠程設備上硬刷新頁面。

典型用法

驗證 polyfill 是否注入成功:

curl -s http://<host>:3080/ | grep randomUUID   # polyfill present

適用場景與注意

  1. 許可證:MIT License。
  2. 衝突處理:如果配置文件之前添加了該行的本地文件路徑,請先刪除該行以避免重複 ID。
  3. 生效機制:Profile patch 層實時應用(HMR),無需重啓服務。

該插件在當前 dsh 進程權限下運行。安裝前請檢查源碼與許可證。

結尾

通過解決 crypto.randomUUID 在非安全上下文中的缺失問題,該插件恢復了局域網內的連接穩定性。更多細節與源碼,請參考插件目錄或 GitHub 倉庫。

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

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

小夜