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 仓库。

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

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

小夜