dsh-remote-tunnel-easy

remotetested: passnpmMIT

Scan a QR code in Settings to open the DeepSeek Harness web UI on your phone inside the active session via a cloudflared quick tunnel.

下载量 / Downloads
785
依赖体积 / node_modules
0.71 MB
测试时间 / Tested
2026-11-07
DSH 版本 / Version
0.2.2-rc.1

Install

dsh plugin --profile web add dsh-remote-tunnel-easy

Sandbox test results

StageResult
1 install✓
2 list✓
3 mount✓
4 boot—

Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).

README

<div align="center">

dsh-remote-tunnel-easy

<p align="center">

<img src="assets/logo.svg" alt="dsh-remote-tunnel-easy" width="800">

</p>

Open your DeepSeek Harness session on your phone — by pointing the camera at it.

Scan the QR in Settings → Plugins and the harness opens in your phone's

browser, inside the session you are already working in. Same workspace, same

chat. No typing a URL. The dsh web terminal prints nothing.

![License: MIT](LICENSE)

![GitHub Stars](https://github.com/Raiyan007-gb/dsh-remote-tunnel-easy/stargazers)

![Release](https://github.com/Raiyan007-gb/dsh-remote-tunnel-easy/releases)

![npm](https://www.npmjs.com/package/dsh-remote-tunnel-easy)

</div>

A one-command DeepSeek Harness web bundle that brings QR-based remote

handoff to the Settings page. It starts a cloudflared quick tunnel, loops

your phone into the exact session the desktop is using, and draws the QR code

plus settings right next to your other plugins — no terminal noise, no

database, no Firebase, no app install.

  • Scan to open — a real QR code in Settings → Plugins, fresh every run
  • Same session — the phone lands inside the chat and workspace you are already in
  • Self-installing — detects cloudflared, and downloads it (SHA-256 verified) when missing
  • Regenerate — one click mints a fresh tunnel URL for the same session, without restarting
  • Editable settings — tunnel target, cloudflared path, and session handoff from the page
  • Nothing stored — the tunnel URL is random per run; nothing is saved anywhere
  • Everywhere — Windows (x64/x86), macOS (Intel/Apple Silicon), and Linux (x64/arm64)

At a Glance

Question · Answer

What is it? · A dsh bundle that shows a scannable QR code and access link in the Settings page, so a phone opens the harness inside the active session.

Who is it for? · Anyone running dsh web who wants their phone on the same session without typing tunnel URLs and tokens.

What do I get? · A loopback edge proxy, a cloudflared quick tunnel, same-session handoff, and a live QR + settings card in Settings → Plugins.

What does it run on? · Windows, macOS, and Linux — anything dsh runs on.

Is cloud required? · No account or signup. cloudflared is used, and auto-downloaded on first run when missing; the tunnel is public, and the token in the link is the gate.


Get Started

Run dsh web once so a profile exists — that is the only prerequisite.

cloudflared is no longer something you install by hand: on first tunnel start

the bundle probes your PATH, and when no cloudflared is found it downloads

the official pinned binary (SHA-256 verified), caches it under your user cache

directory, and reuses it from then on. Prefer your own install? Put it on

PATH, or set the cloudflared path field in the card to an absolute path —

an explicit path disables both probing and downloading.

The simplest path — install from the npm registry with the plugin name:

dsh plugin --profile web add dsh-remote-tunnel-easy@latest --config.minimumReleaseAge=0

The --config.minimumReleaseAge=0 flag bypasses pnpm's ~24-hour release-age

gate, so a freshly published version installs immediately. Without it, a plain

dsh plugin --profile web add dsh-remote-tunnel-easy still works but may hold off

until the freshness window lapses.

Or, if you prefer, install straight from the GitHub repository URL:

dsh plugin --profile web add https://github.com/Raiyan007-gb/dsh-remote-tunnel-easy

For a local checkout instead, clone it and add the folder:

git clone https://github.com/Raiyan007-gb/dsh-remote-tunnel-easy
dsh plugin --profile web add \./dsh-remote-tunnel-easy

These initialize the profile if needed, link the package, and register the

bundle. No build step — the package ships plain ESM with **zero runtime

dependencies** (the QR encoder and cloudflared resolver are vendored in-tree),

so add and remove stay fast and never run install scripts.

Security note: installing from a git URL asks for permission to run the
package's install scripts. This package has none (plain ESM, no
postinstall), but pin a commit — #<sha> on the URL — to freeze what runs.
To skip install permissions entirely, pnpm pack a tarball and
dsh plugin --profile web add ./dsh-remote-tunnel-easy-1.1.0.tgz.

Then restart dsh web — the QR and settings appear on **Settings →

Plugins → DSH Remote** on every start.


What it does

On every dsh web start the bundle:

1. Spawns a loopback edge proxy (127.0.0.1, ephemeral port) that forwards every

request and WebSocket upgrade to the harness, rewriting Host and Origin

to the loopback authority. This is what makes the harness's /api

browser-trust fence accept tunneled traffic — the fence requires

Origin == Host, and a phone's Origin is the tunnel hostname, which

--http-host-header rewriting alone can never satisfy. Without the proxy

the app loads but every API call 403s.

2. Locates cloudflared — the configured cloudflared path override, else a

binary on PATH, else a pinned download (2026.8.2) SHA-256 verified and

cached under the user cache directory. It then spawns

cloudflared tunnel --no-autoupdate --url http://127.0.0.1:<proxy-port>

pointed at that proxy.

3. Waits for cloudflared to print the random https://<name>.trycloudflare.com URL.

4. Resolves this process's launch token via the harness connection service

(authenticatedUrl — the same mint the console line prints).

5. Seeds the most recently active session id into every served index page (via

t

…(truncated)

Rendered from the README published on npm. Formatted only, not edited.

Versions

Published on npm::3,最后更新 2026-08-29

Links

GitHub · Homepage · npm

Same category