hadan8977 / dsh-remote

Listed

Remote access suite for DeepSeek Harness: QR pairing, HMAC sessions, cloudflared tunnel and PWA. Zero installs on any device.

mainToolSession View source

Installation

npx -y @deepseek-ai/dsh plugin --profile web add github:hadan8977/dsh-remote

This installation command is an unverified starting point generated from the GitHub repository address.

README

Maintainer-authored documentation snapshot.

View on GitHub ↗
Commit 53e373bSynced Aug 18, 2026

English · 简体中文

dsh-remote

Turn DeepSeek Harness into a scan-and-go web app — no apps, no VPN, no public ports.

GitHub stars License dsh-plugin Platform PRs welcome

dsh-remote puts DeepSeek Harness behind a scan-to-pair gateway and an outbound-only Cloudflare tunnel. Any device — iPhone, iPad, Android, Mac, Windows, ChromeOS — connects straight from the browser and can be added to the home screen as an app (PWA). The pairing experience is modeled on the Paseo relay: pair once, and stay signed in.

What is it? dsh-remote is a standalone companion app for DeepSeek Harness — not itself a DSH plugin. It installs next to DSH (gateway + tunnel + watchdog + ops CLI) and ships one DSH plugin of its own, dsh-remote-plugin, which pushes task notifications to your phone.

  • Zero-install clients — the camera scan auto-pairs the device and drops you into DSH; add the PWA to the home screen and stay signed in for a year.
  • QR pairing — a one-time 8-character code (10-minute expiry, single use, rate-limited).
  • No public ports — an outbound-only cloudflared tunnel; the host never listens publicly and your router stays untouched.
  • Security closed loop — HMAC-signed sessions, per-device revocation, audit logging, and loopback Host enforcement. See SECURITY.md.
  • One-command setup — install, supervision, heartbeat watchdog, log rotation, and an ops CLI — on Linux, macOS, and Windows alike.
┌─ Host (Linux / macOS / Windows — any of them can be the host) ──────────┐
│  dsh-web         DSH, listening on 127.0.0.1:3080 only                  │
│  dsh-gateway     Security gateway on 127.0.0.1:8080:                    │
│                    QR pairing / HMAC sessions / rate limit / revocation │
│  dsh-tunnel      cloudflared outbound → HTTPS tunnel URL                │
│  watchdog        heartbeat checks every 5 minutes (all platforms)       │
└─────────────────────────────────────────────────────────────────────────┘
        ▲ outbound HTTPS (Cloudflare tunnel)
   ┌────┴──────────────┬──────────────────┐
   │ iPhone / iPad / Android │ Mac / Windows / Linux │
   │ camera scan = zero typing │ browser + pairing code │ ← zero installs
   └───────────────────┴──────────────────────┘

Quick Start

Linux (Ubuntu 20.04+ / Debian)

curl -fsSL https://raw.githubusercontent.com/hadan8977/dsh-remote/main/server/install.sh -o install.sh && sudo bash install.sh --api-key sk-your-key

systemd daemons, 5-minute heartbeat watchdog, log rotation, and the dsh-remote ops CLI. --api-key configures and validates your key at install time (omit it to be prompted, --no-api-key to skip).

macOS

bash <(curl -fsSL https://raw.githubusercontent.com/hadan8977/dsh-remote/main/host/macos/install-macos.sh)

Requires Homebrew. launchd daemons with KeepAlive, a 5-minute watchdog, and the same sudo dsh-remote ops CLI. Same feature set as Linux.

Windows

Set-ExecutionPolicy -Scope Process Bypass
Invoke-WebRequest https://raw.githubusercontent.com/hadan8977/dsh-remote/main/host/windows/install-windows.ps1 -OutFile install-windows.ps1
.\install-windows.ps1

Run in an elevated PowerShell. Task Scheduler services with auto-restart, a 5-minute watchdog, and the dsh-remote.ps1 ops CLI (with QR codes). Same feature set as Linux.

Every platform is a full host — any of them can serve all the others.

How it works

First setup (host):   installer → terminal shows the pairing code + URL

Phone (once):         camera scan → auto pair → straight into DSH → "Add to Home Screen"
Computer (once):      open the URL → type the 8-character code → install the PWA / bookmark

Every day after:      tap the icon — chat directly, no login (1 year)

New device:           sudo dsh-remote pair          (Windows: dsh-remote.ps1 pair)
Lost phone:           sudo dsh-remote revoke        (Windows: dsh-remote.ps1 revoke)

Pairing works two ways — a camera is never required:

  • Scan — the phone camera scans the QR code printed by dsh-remote pair.
  • Copy & paste — send the invite link (or the 8-character code) to the new device: pasting the link into any browser pairs it instantly, or type the code on the pairing page. The Devices page (/devices) has a one-click Copy invite link button.

Client devices

DeviceHowApp-like
iOS / iPadOSSafari or camera scan auto-pairsShare → Add to Home Screen (standalone fullscreen)
AndroidChrome scan auto-pairsMenu → Add to Home Screen
macOSSafari / ChromeSafari "File → Add to Dock" or Chrome install
WindowsEdge / Chrome"Install app" in the address bar
Linux / otherAny modern browserSame as above

Documentation

ProjectWhat it covers
dsh-web-authPassword login gate (fork of the official webserver + plugin)
dsh-passwords / dsh-webui-authWeb UI auth gateways
dsh-remote-access-webfrp reverse-tunnel public access
dsh-lan-accessLAN binding + randomUUID polyfill
dsh-backup / dsh-updater-uiBackup / update
PaseoGeneral agent remote-control platform; this project brings its relay pairing experience to DSH

License

MIT

Project files and signals

Shown items are public repository signals detected in the directory snapshot.

Security policyDetected
Contributing guideDetected
DocumentationDetected

Repository information

Language
Shell
License
MIT
Last updated
Aug 15, 2026, 5:22 PM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.