DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Lan Bridge — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

dsh-lan-bridge

Lan Bridge

DeepSeek Harness 插件 + LAN bridge:注入 crypto.randomUUID polyfill,使 harness Web UI 能够通过普通 HTTP 从手机访问(无需证书、无需公共隧道,适用于旧版 iOS)。可作为 dsh 插件安装,或通过 CLI 运行独立代理。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add dsh-lan-bridge@0.2.1
README兼容性版本

兼容性与来源证明

Lan Bridge 以 dsh-lan-bridge 发布,当前版本为 0.2.1。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
npm
Registry 更新时间
2026/9/20

版本

0.2.1stable
2026/8/15
0.2.0stable
2026/8/15

相关插件

正在加载相关插件…

最新版
0.2.1
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
16.4 kB
文件数
6
Surface
any
许可证
MIT
发布源
npm
GitHub
★ 1
周下载
75
最近提交
2026/8/15
查看源码 ↗项目主页 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 integrations-communication 分类下经过校验的插件。

Acp App@deepseek-ai/dsh-acp-appdsh ACP 配置文件包:基于 dsh-base 的仅限自动化的 JSON-RPC stdio 和进程生命周期管理Remote Web Ui@linxin666/dsh-remote-web-ui通过扫码配对访问 dsh Web GUI,共享一个官方界面:设置按钮旁的二维码可将手机和 PC 配对到同一个 Web GUI(手机采用竖屏触控适配层,PC 使用完整桌面界面),通过一次性令牌和 rPocketdsh-pocket把 DeepSeek Harness 装进你的口袋:一个包、一个设置页,手机扫码即同步访问电脑上的 DSH(局域网 + 公网,实时同屏)。DSCODE@toddzheng024/dscode-bundle完整的 DeepSeek 编码代理,支持持久化 shell、Ultra 协作和自动权限审查。

README

dsh-lan-bridge

Fixes the DeepSeek Harness web UI on phones: injects a crypto.randomUUID polyfill so the harness works over plain HTTP — no certs, no warnings, no public tunnels, works on old iOS too. Zero dependencies.

Two ways to use it:

  • dsh plugin (recommended): install into the harness, the polyfill is served by dsh itself — the phone opens dsh's own port directly, no extra process.
  • Standalone proxy (bin/dsh-bridge.cjs): proxy any local web app on the LAN with the 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 端口即可。

# 安装(发布后可用包名;本地开发用目录路径)
dsh plugin --profile web add dsh-lan-bridge
# 或本地:dsh plugin --profile web add /path/to/dsh-lan-bridge

# 重启 dsh 后生效,手机(同一 WiFi)打开:
#   http://<电脑局域网IP>:3080

方式二:独立 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


English

Why this exists

Accessing the DeepSeek Harness web UI from a phone hits a nasty trap:

crypto.randomUUID is not a function
  • The harness client calls crypto.randomUUID() for RPC/message ids.
  • That function only exists in secure contexts (HTTPS or localhost); under plain http:// it is undefined.
  • Worse, Safari/iOS before 15.4 does not have it at all — even over HTTPS.
  • Adding HTTPS with a self-signed cert doesn't help on iOS Safari, which hard-blocks invalid certificates with no "proceed anyway" button; a trusted cert needs a real domain/public setup.

So phones are stuck: http breaks the app, https breaks the page.

The fix

crypto.getRandomValues() exists everywhere (http, old iOS, every browser). This project injects a tiny polyfill that implements randomUUID on top of it, so the UI works over plain HTTP.

Way 1: install as a dsh plugin (recommended)

dsh/index.js is a dsh bundle plugin that uses webServer.tapIndex to inject the polyfill into the harness's own index.html — no extra process, the phone opens dsh's own port.

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

Way 2: standalone CLI proxy (any local web app)

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

Then on a phone on the same Wi-Fi open http://<your-lan-ip>:8088 — no setup at all. WebSocket streams are forwarded automatically. Find your LAN IP with ipconfig / ip addr.

On Windows, double-click start.bat for the CLI mode (dsh must already be running on 3080).

Security note

The harness UI has no authentication. Use this only on a trusted LAN, and do not expose the LAN port to the public internet.

License

MIT