让手机浏览器在纯 HTTP 下正常打开网页界面
26.2/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Def1ce/dsh-lan-bridge该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
发起外部网络请求
查看扫描证据(共 2 处,展示前 2 条)
- 发起网络请求bin/dsh-bridge.cjs:58
const proxy = http.request({ - 发起网络请求bin/dsh-bridge.cjs:93
const proxy = http.request({
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 纯HTTP局域网访问
- 免证书免代理
修好手机上 DeepSeek Harness 网页界面:注入 crypto.randomUUID 补丁,局域网里走纯 HTTP 就能用,不用证书、不用代理。dsh 插件加命令行,零依赖。
README
由 DeepSeek 最新模型翻译生成dsh-lan-bridge
修复手机上 DeepSeek Harness 网页界面打不开的问题:注入 crypto.randomUUID polyfill,让 harness 在纯 HTTP 下也能跑——不用证书、没有警告、不用公网隧道,老 iOS 也能用。零依赖。
两种用法:
- dsh 插件(推荐):装进 harness,polyfill 由 dsh 自己提供——手机直接打开 dsh 自己的端口,不用额外进程。
- 独立代理(bin/dsh-bridge.cjs):给局域网内任何本地 Web 应用加 polyfill 代理。
| 简体中文 | English |
| 中文说明 | English |
中文说明
为什么会有这个项目
用手机访问 dsh 网页界面时会碰到一个隐蔽的坑:
crypto.randomUUID is not a function. (In 'crypto.randomUUID()', 'crypto.randomUUID' is undefined)
原因:
1. dsh 前端代码大量调用 crypto.randomUUID()(生成 RPC 消息 ID)。
2. 这个函数只在 HTTPS(或 localhost)安全上下文中存在,普通 http:// 下是 undefined。
展开完整文档(README 剩余 1 节)
dsh-lan-bridge
修复手机上 DeepSeek Harness 网页界面打不开的问题:注入 crypto.randomUUID polyfill,让 harness 在纯 HTTP 下也能跑——不用证书、没有警告、不用公网隧道,老 iOS 也能用。零依赖。
两种用法:
- dsh 插件(推荐):装进 harness,polyfill 由 dsh 自己提供——手机直接打开 dsh 自己的端口,不用额外进程。
- 独立代理(bin/dsh-bridge.cjs):给局域网内任何本地 Web 应用加 polyfill 代理。
| 简体中文 | English |
| 中文说明 | English |
中文说明
为什么会有这个项目
用手机访问 dsh 网页界面时会碰到一个隐蔽的坑:
crypto.randomUUID is not a function. (In 'crypto.randomUUID()', 'crypto.randomUUID' is undefined)
原因:
1. dsh 前端代码大量调用 crypto.randomUUID()(生成 RPC 消息 ID)。
2. 这个函数只在 HTTPS(或 localhost)安全上下文中存在,普通 http:// 下是 undefined。
3. 更糟的是 iOS 15.4 以下的 Safari/浏览器根本没有这个函数,连 HTTPS 都没用。
4. 想补 HTTPS?自签名证书在 iOS Safari 里会直接拒绝打开,连"继续访问"按钮都没有;正式证书又要域名/公网。
于是手机访问陷入死循环:http 打不开功能,https 打不开网页。
解决办法
crypto.getRandomValues() 是所有浏览器、所有环境(包括 http、老 iOS)都有的 API。本项目在 dsh 返回的页面里注入一段极小的 polyfill,用 getRandomValues 实现 randomUUID:
if (typeof crypto === 'object' && crypto && !crypto.randomUUID && crypto.getRandomValues) {
crypto.randomUUID = function () { /* 用 getRandomValues 生成 UUID v4 */ };
}
于是纯 HTTP 就能完整使用 dsh:零证书、零警告、任何浏览器、任何 iOS 版本。
方式一:作为 dsh 插件安装(推荐)
包内 dsh/index.js 是一个 dsh bundle 插件:它通过 webServer.tapIndex 把 polyfill 注入 dsh 自己返回的 index.html。装进 harness 后不需要任何额外进程,手机直接访问 dsh 端口即可。
安装(0.2.1 起自动把 dsh 绑到 0.0.0.0,手机可直接访问)注意:刚发布的版本有 pnpm 24 小时闸门,请用带版本号的命令:
dsh plugin --profile web add dsh-lan-bridge@0.2.1
24 小时后可简写为:dsh plugin --profile web add dsh-lan-bridge
重启 dsh 后生效,手机(同一 WiFi)打开: http://<电脑局域网IP>:3080
0.2.1 起插件的 bundle patch 会把 dsh webserver 自动绑到 0.0.0.0(所有网卡),局域网 IP 由 dsh 自动加入 /api 信任名单——装完即可用,无需手动改配置。⚠️ dsh 界面无登录认证,请只在可信局域网使用。
方式二:独立 CLI 代理(适用于任何本地 Web 应用)
本地直接运行(无需安装,默认代理 127.0.0.1:3080)
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
例:http://192.168.1.100:8088 —— 直接可用,无需任何设置(WebSocket 实时通道已自动转发)。
获取电脑局域网 IP:Windows 运行 ipconfig,找"IPv4 地址"。
一键启动(Windows,CLI 方式)
解压后双击根目录 start.bat(会自动定位到自身目录,从任何位置双击都不会报"找不到路径")。dsh 需先在 3080 端口运行。
CLI 参数
| 参数 | 说明 | 默认 |
| --backend <url> | 要代理的后端 | http://127.0.0.1:3080 |
| --http-port <n> | 监听端口 | 8088 |
| --host <addr> | 绑定地址 | 0.0.0.0 |
| --help, -h | 帮助 | |
安全提醒
- dsh 网页没有登录认证。本工具只适合在可信局域网内使用。
- 请不要把局域网端口直接暴露到公网(没有认证 = 控制权)。
许可证
MIT
Why this exists
Accessing the DeepSeek Harness web UI from a phone hits a nasty trap:
crypto.randomUUID is not a function
- harness 客户端会调用 crypto.randomUUID() 生成 RPC/消息 id。
- 这个函数只存在于安全上下文(HTTPS 或 localhost);在纯 http:// 下它是 undefined。
- 更糟的是,15.4 之前的 Safari/iOS 根本没有这个函数——即使走 HTTPS 也没有。
- 用自签名证书加 HTTPS 在 iOS Safari 上没用,它会直接拦掉无效证书,连「仍然继续」按钮都不给;要用受信任的证书,得有真实域名/公网环境。
所以手机就卡住了:http 让应用崩,https 让页面打不开。
修复方案
crypto.getRandomValues() 到处都有(http、老 iOS、任何浏览器)。本项目注入一个很小的 polyfill,在它之上实现 randomUUID,这样 UI 在纯 HTTP 下也能跑。
方式 1:作为 dsh 插件安装(推荐)
dsh/index.js 是 dsh bundle 插件,用 webServer.tapIndex 把 polyfill 注入 harness 自己的 index.html——不用额外进程,手机直接开 dsh 自己的端口。
dsh plugin --profile web add dsh-lan-bridge # or: add /path/to/dsh-lan-bridge
restart dsh, then on a phone on the same Wi-Fi:
http://<your-lan-ip>:3080
方式 2:独立命令行代理(任何本地 Web 应用)
node bin/dsh-bridge.cjs # default backend :3080
or
npm install -g dsh-lan-bridge && dsh-lan-bridge
dsh-lan-bridge --backend http://127.0.0.1:3080 --http-port 8088
然后在同一 Wi-Fi 下的手机上打开 http://<your-lan-ip>:8088——完全不用配置。WebSocket 流会自动转发。用 ipconfig / ip addr 查你的局域网 IP。
在 Windows 上,双击 start.bat 进入命令行模式(dsh 必须已经在 3080 上运行)。
安全提示
harness UI 没有身份验证。只在可信局域网里用,不要把局域网端口暴露到公网。
许可证
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Def1ce/dsh-lan-bridge
让手机浏览器在纯 HTTP 下正常打开网页界面
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,350已汉化DSH
71.5
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,506已汉化DSH
71.1
AI 矢量设计工具ZSeven-W/openpencil
全球首个 AI 原生开源矢量设计工具。
★ 7,027已汉化DSH
71.1
这是你的仓库?认领条目