DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-lan-uuid-fix

Z

dsh-lan-uuid-fix

Manifest valid

dsh bundle: polyfill crypto.randomUUID on insecure origins so the DeepSeek Harness Web UI works over plain-HTTP LAN

hasBundlePatch

dsh-lan-uuid-fix

A DeepSeek Harness (dsh) plugin bundle that makes the Web UI work over plain-HTTP LAN addresses.

The bug it fixes

The web client's mintRpcId() calls crypto.randomUUID(). Browsers only expose that API in secure contexts — HTTPS, or loopback. A plain-HTTP LAN origin like http://192.168.1.66:3080 is not secure, so crypto.randomUUID is undefined:

Page originSecure contextcrypto.randomUUID
http://127.0.0.1:3080yesfunction
http://192.168.1.66:3080noundefined

When it's missing, every unary RPC (host.describe, workspace.list, session.list, ...) throws TypeError: crypto.randomUUID is not a function, the connection generation aborts, the WebSocket streams are killed mid-handshake, and the UI never loads the session/workspace baseline — the workspace browser just shows "No sessions yet" and the console loops connection lost, retry #N.

crypto.getRandomValues is available on insecure origins, so a UUID-v4 backfill fixes it without HTTPS.

How it works

A host plugin registers an index tap on ctx.webServer (the webserver's html-transform hook, applied to every served index.html). The tap injects an inline polyfill that defines crypto.randomUUID from crypto.getRandomValues when missing, before the app bundles execute. Loopback and HTTPS pages are untouched — the polyfill only activates when the API is absent.

Install

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

The profile patch layer is applied live (HMR), so a running dsh web picks it up without a restart. Hard-refresh the page on the remote device afterwards.

The plugin adds one row, lan-uuid-fix, which injects webServer and taps the index. If your profile previously added this row with a local file path, remove that row before installing the bundle to avoid a duplicate id.

Verify

From the machine serving dsh, or any LAN client:

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

The workspace browser should list sessions instead of "No sessions yet", and the browser console should show no connection lost retry loop.

License

MIT

Comments

Loading…

Similar plugins

dsh-secure-context-fix

by Li-Mingshuang

Fix the DeepSeek Harness Web GUI over plain HTTP on a LAN: injects a crypto.randomUUID polyfill (getRandomValues-backed) before dsh bundle code runs

Sessions & MessagesManifest valid

★ 0

MIT

JavaScript

Sep 5, 2026

dsh plugin --profile web add dsh-secure-context-fix

by woyeshishen

DeepSeek Harness static Cordis plugin: bind the Web GUI to 0.0.0.0 for LAN access + crypto.randomUUID polyfill for non-secure HTTP origins.

Manifest valid

★ 0

Apache-2.0

PowerShell

Aug 15, 2026

dsh plugin --profile web add @woyeshishen/dsh-lan-access

by dawsondx

DeepSeek Harness (dsh) bundle: when `dsh web` is ready, print the full GUI URL and open it in your default browser. Cross-platform, zero runtime deps, fail-safe.

Manifest valid

★ 3

↓ 18/wk

MIT

JavaScript

Aug 15, 2026

dsh plugin --profile web add @dawsondx/dsh-web-open

by NaivG

Let Deepseek Harness access the internet seamlessly.

Manifest valid

★ 4

↓ 174/wk

MIT

TypeScript

Oct 15, 2026

dsh plugin --profile web add dsh-network

by clarknu

HTTPS + login gateway for the DeepSeek Harness web surface: access your DSH Web UI securely from another machine on your LAN, or from the internet via port forwarding. Fail-closed defaults (loopback-o

Security & AuditManifest valid

★ 8

↓ 167/wk

MIT

JavaScript

Sep 14, 2026

dsh plugin --profile web add dsh-gateway

by LnsiAxe

DSH bundle: ensure/rotate the DeepSeek Harness web server (detached via WMI) — load to start it

Manifest valid

★ 0

MIT

JavaScript

Aug 14, 2026

dsh plugin --profile web add @lnsiaxe/dsh-web-restart