Blank-not-black/dsh-Remote

Tailscale. Automatic fastest-server selection. Chat history available offline. Token-authenticated — your data flows only between your devices.

DSH Remote is a mobile remote console for DeepSeek Harness: inspect sessions, answer questions, handle tool approvals, transfer files, and monitor the host from a phone or another computer. The Android app's five tabs cover Sessions (list, workbench projects, state, archive, new), Files (browse, download, upload, resume/pause/cancel), Home (DSH version, gateway state, link health, pending work, recent activity), Stats (four token buckets, cost, peak share, seven-day usage), and Settings (servers, token, notifications, background polling, themes, updates, feedback). The desktop WebUI adds a session/workbench sidebar, file transfer, statistics drawer, server groups, theme switching, and approval/question notification cards. The DSH plugin opens a compact status panel (gateway state, device count, token usage, quick actions) and a full admin console (gateway version, uptime, port, DSH upstream status, host IPs, connected devices, request counts, QR pairing, token rotation, first-connection Doctor checklist, self-healing settings, update checks). Pairing takes about three minutes: install the plugin, restart DSH Web, start the gateway, scan the QR code.

UI Enhancements ★ 8 updated 2026-08-17
View on GitHub ↗

Install

dsh plugin --profile web add dsh-remote-plugin

npm package dsh-remote-plugin 0.6.13 (registry-verified 2026-08-24). Install: dsh plugin --profile web add dsh-remote-plugin, fully restart DSH Web, hard-refresh the browser (Ctrl+F5), and open DSH Remote from the sidebar. Verify install: dsh plugin --profile web list --depth 0. Pinned and source installs: dsh plugin --profile web add dsh-remote-plugin@0.6.8 or dsh plugin --profile web add "github:Blank-not-black/dsh-Remote#main&path:/packages/plugin". The plugin bundles the gateway (listens on 0.0.0.0:8787 by default, self-heals with DSH); lifecycle intent at ~/.dsh-remote/gateway.enabled, token at ~/.dsh-remote/token. Phone: enter http://PC-LAN-IP:8787 or the host's Tailscale address — never 127.0.0.1. Standalone single-file gateway binaries also ship on GitHub Releases (Android APK, Windows/Linux/macOS gateways). Keep phone and host on the same trusted LAN or via Tailscale; do not expose the gateway port to the public internet.

Compatibility

DeepSeek Harness web profile (install as the same OS user that runs the web profile). Three cooperating parts: DSH plugin (status panel + admin console), standalone gateway (auth, proxying, file transfer), and Android app / WebUI (mobile and desktop surfaces). Gateway listens on 0.0.0.0:8787 by default; health check at http://127.0.0.1:8787/health. Default upstream http://127.0.0.1:3080. Realtime WebSocket with automatic fallback to polling. File transfer: 2 GB default upload limit (DSH_REMOTE_FS_MAX_UPLOAD), chunked/resumable uploads, SHA-256 verified before atomic placement, path traversal/symlink escapes rejected, DSH_REMOTE_FS_ROOT configures allowed roots. Token is a remote-control credential for DSH — never commit it or share it in URLs.

Details

Recent updates

The current bilingual README (English edition) documents: the three-part architecture, what it is for, all current surfaces (Android app tabs, desktop WebUI, plugin panel + admin console), downloads, quick start (plugin mode), gateway troubleshooting table, standalone gateway usage, file transfer endpoints, remote access and security (LAN/Tailscale/tunnels), notifications/announcements/polls, themes and feedback, and development/release workflow.

FAQ

Can I approve tool calls from my phone?
Yes — that is one of the core use cases. The app surfaces approval / question notification cards, and you can handle tool approvals or answer structured questions from your phone. One approval button grants one operation only.
Is it safe to expose the gateway to the internet?
The README explicitly warns against it: keep the phone and host on the same trusted LAN or connect them through Tailscale, and do not expose the gateway port directly to the public internet or publish a pairing token. The token is a remote-control credential for DSH.
How do I pair my phone?
Install the plugin, fully restart DSH Web, open DSH Remote from the sidebar, start the gateway, and scan the QR code. From the phone enter http://PC-LAN-IP:8787 or the host's Tailscale address — never 127.0.0.1 or localhost, because those point to the phone itself.

Alternatives

juanwang-buaa/dsh-full-remote · flymysql/dsh-remote · lehhair/dsh-mobile

More plugins in UI Enhancements

Browse more in UI Enhancements

Guides for UI Enhancements plugins