UI Enhancements

dsh-Remote

Blank-not-black/dsh-Remote · ★ 84

Blank-not-black

Mobile remote-control suite: bundle plugin with native sidebar entry and admin drawer, self-healing bearer-token gateway over LAN/Tailscale, Android app (sessions/approvals/questions/goals), /fs/* file transfer (Range resume, 2GB upload), latency-based multi-server auto-switch, offline chat cache.

License
MIT
Added
2026-08-16
Maintenance
active
Install kind
github
Manifest details
Manifest status
Declared
Manifest path
package.json#dsh
Manifest checked
2026-08-19
Lifecycle scripts
None found

Static manifest checks report declarations only; they are not compatibility or security review.

安装

dsh plugin --profile web add github:Blank-not-black/dsh-Remote#path:/packages/plugin

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

For install and environment setup, plus plugin development tutorials, see DSH community docs ↗

Screenshots

dsh-Remote screenshotdsh-Remote screenshotdsh-Remote screenshotdsh-Remote screenshotdsh-Remote screenshotdsh-Remote screenshotdsh-Remote screenshotdsh-Remote screenshot

README

Source README · body: en · Read Chinese README

Table of contents
  1. Install and connect
  2. Capabilities and limits
  3. Configuration and troubleshooting
  4. Documentation
  5. License

The DSH bundle plugin for DSH Remote adds a More → Phone connection entry, a browser admin console, and a bundled gateway that respects the user's start/stop intent.

English · 中文

The operation and troubleshooting knowledge base (Chinese) provides task, symptom and error-code navigation. Offline copies ship in skills/dsh-remote-doctor/references/wiki/ for the bundled Doctor; external AI assistants can start from the repository's llms.txt.

Install and connect

dsh plugin --profile web add dsh-remote-plugin@latest
dsh plugin --profile web list --depth 0

Use the actual profile for custom setups. DSH Desktop uses its own plugin manager and needs a complete exit/reopen. For Web, fully restart DSH Web, hard-refresh with Ctrl+F5, then use the left navigation's More → 手机连接(DSH Remote) to open pairing in a browser. A first-use card explains this location once; starting or dismissing it remembers that acknowledgement. Older hosts without the More extension keep a bottom-left Phone connection button.

On the host, open http://127.0.0.1:8787/health, then display a connection QR in the plugin wizard or admin console. Scan it at More → Hosts and connections → Scan to connect; the APK download QR only installs the app. A phone connects to http://PC-LAN-IP:8787 with its token, not its own localhost. Pin a published version with @<version>; check the actual @next and @latest tags separately.

Capabilities and limits

  • Status panel, admin console, Doctor, automatic management and explicit stop intent.
  • Bearer authentication, optional per-device keys and short-lived WS tickets.
  • mux/host downlinks, independent long polling, weak-network settings and local history.
  • Allowed file roots, resumable chunks, hashes, previews/downloads and image attachments.
  • Current-host plugin management and optional context/cost insights.
  • Mobile navigation: Sessions, Files, More; six Web themes, defaulting to Blue Fat Fish while preserving existing choices.
  • Eight-step mobile guide; finishing or skipping the entire guide removes its home invitation. Replay at More → Preferences and maintenance → Getting started.
  • rc.9 includes cold-session recovery and error-attribution fixes, send-result diagnostics, and upload/branch recovery validation; see the candidate notes for scope.
  • Existing Android APKs are bundled when available; notifications/background require device permissions.
  • Windows Desktop lifecycle control is experimental and needs verified instance evidence. Optional gateway login startup is available in admin, off by default; no system service is installed.
  • HarmonyOS is a separate source project; release CI does not build HAPs. Insights and Web GenUI are not ported.
  • The Android ASR bridge and empty feature-test entry were removed; notification tests are in advanced notification options.
  • macOS can run the plugin's gateway source. Main release CI is configured for an Apple Silicon standalone gateway, ad-hoc signing and startup smoke checks; it does not notarize with Apple.

Configuration and troubleshooting

Plugin port priority: DSH_REMOTE_GATEWAY_PORT → ~/.dsh-remote/gateway-port → 8787. Bind address priority: DSH_REMOTE_GATEWAY_HOST → HOST → gateway-host file → 0.0.0.0. The plugin passes the actual DSH upstream.

The token defaults to ~/.dsh-remote/token; DSH_REMOTE_AUTOSTART=0 disables automatic management. File roots, DSH workspaces and Windows defaults have specific authorization boundaries; see configuration.

For local refusal, check the actual profile, full restart and port ownership. Degraded upstream means troubleshoot DSH. For phone access, check network/firewall; for 401, pair again; for stale assets, hard-refresh. Embedded admin uses the DSH login boundary; standalone admin uses the Remote master token. A transient gateway is not necessarily a persistent systemd service.

Keep QR codes and credentials private. Prefer Tailscale across networks. Remote device/master tokens and the DSH upstream Cookie have separate roles.

Documentation

Checked against repository 0.8.0-rc.9 on 2026-10-22. This does not verify current npm tags, installed devices, public assets or all platform behavior. Detailed guides are currently in Chinese.

License

MIT