← 返回列表
未验证
修复在局域网中通过纯 HTTP 访问 DeepSeek Harness Web GUI 的问题例如从手机访问。
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/5 · 已提供中文文档
在局域网上通过纯 HTTP 修复 DeepSeek Harness Web GUI:在 dsh 打包代码运行之前注入一个 crypto.randomUUID polyfill(由 getRandomValues 支持)
综合分
28.4
GitHub 分
28.4
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add Li-Mingshuang/dsh-secure-context-fix该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
信任档位:已验证本站已于 0 天前真实安装成功
- 是什么
- dsh 原生插件 · tool
- 装得上吗
- 本站已真实安装成功(非静态推断)
- 安全吗
- 本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
- 还在维护吗
- 活跃:最近一次提交在 20 天前
档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →
🟢实装验证通过· 2026/9/26
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/21(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
由 DeepSeek 最新模型翻译生成dsh-secure-context-fix 修复在局域网中通过纯 HTTP 访问 DeepSeek Harness Web GUI 的问题(例如从手机访问)。 问题 crypto.randomUUID 只存在于安全上下文中(HTTPS 或 localhost)。 当你从另一台设备通过局域网中的纯 HTTP 打开 dsh Web GUI 时 (http://192.168.x.x:3080),浏览器没有 crypto.randomUUID,因此每次 RPC 调用都会崩溃并报错: crypto.randomUUID is not a function 症状:工作区列表永远加载不出来,目录选择器失败,会话 无法创建——而在同一台机器上 http://127.0.0.1:3080 却工作正常。 此插件如何修复它 此插件是一个小型的宿主插件,它注册了一个 webServer.tapIndex 转换。当 GUI 提供其 index.html 时,插件会向 中注入一小段 内联 ,安装一个由 crypto.getRandomValues() 支持的 crypto.randomUUID 实现——浏览器在非安全源上确实会暴露 crypto.getRandomValues()——并且这一切发生在任何 dsh 打包代码运行之前。 无需修改官方源码,无需 polyfill 库,用户也无需构建步骤。 安装 在包含此包的目录中(克隆之后): dsh plugin --profile web add ./dsh-secure-context-fix 或者从 git 托管平台安装: dsh plugin --profile web add github:/dsh-secure-context-fix 然后重启该 profile: dsh --profile web 从 git 托管平台首次 add 时,如果存在 prepare 脚本,可能会询问你是否 允许该包的构建(allowBuilds);此包不包含构建步骤,只有纯 JS, 因此无需允许。 如何验证它是否生效 1. 在所有接口上提供 GUI,以便手机可以访问。dsh CLI 出于安全考虑会拒绝 --host 0.0.0.0,因此请改为在 profile 中修补 webserver 那一行: $DSH_HOME/profiles/web/cordis.patch.yml - id: webserver config: host: '0.0.0.0' port: !!js ctx.webStartup.port ?? 3080 2. 在防火墙中允许入站 TCP 3080,最好限制在你的局域网 子网内: New-NetFirewallRule -DisplayName "dsh web 3080 (LAN)" -Direction Inbound -Protocol TCP -LocalPort 3080 -Action Allow -Profile Private -RemoteAddress 192.168.0.0/24 3. 在手机上(同一 Wi-Fi)打开 http://:3080。工作区 列表、目录选择器和新会话现在应该都能正常工作了。 文件 - index.js —— 插件入口(name、inject、apply)。 - cordis.patch.yml —— 插入插件行的 bundle 层。 - package.json —— 声明 dsh.bundle 的 npm 清单。 安全注意事项 将 GUI 绑定到 0.0.0.0 会向任何能访问该端口的人暴露对 代理的远程代码执行级别的控制权。请仅在可信网络上这样做, 并最好如上所示将防火墙规则限制在你的局域网子网内。 上游 在官方仓库替换其三处 crypto.randomUUID() 调用点之前,这是针对 deepseek-ai/deepseek-harness discussions #4209 的临时解决方案 (AbstractApiClient.mintRpcId、ui-conversation 图像草稿 ID,以及 llm createMessage) 使用基于 getRandomValues() 的 UUID。如果你能修补 源代码,那就改源码;这个插件是为那些无法修改源码的用户准备的。