saya-ch/dsh-mobile

DeepSeek Harness 的 Android App 与安全远程访问插件,支持局域网/远程连接和高度自定义的移动界面与扩展能力。

What is DSH Mobile?

DSH Mobile is a plugin for DeepSeek Harness (DSH) – the open‑source chat‑assistant platform from DeepSeek. The plugin adds a mobile‑access layer so you can continue the same DSH session, workspace and chat from an Android phone (or a phone browser) while the main DSH server keeps running on your computer.

  • The plugin runs on the computer side and creates a small HTTPS gateway (default 3443) that serves a mobile‑optimised UI.
  • An Android app (a thin Kotlin WebView wrapper) or a phone browser connects to that gateway over LAN or via a remote tunnel (Tailscale Funnel, cpolar, Cloudflare Tunnel, self‑hosted FRP, or a custom reverse proxy).
  • Pairing is done once with a QR‑code or a 43‑character key; the phone stores the credential in the Android Keystore and can reconnect automatically.

Main features

Feature What it does
Seamless session sync The mobile UI shows the exact same chat history, workspace and tools as the desktop DSH instance.
Touch‑friendly layout UI components (sidebar, tool details, input bar, etc.) are rearranged for small screens; the app follows the system language.
Multiple tunnel options Choose LAN, Tailscale Funnel, cpolar, Cloudflare (quick or named tunnel), self‑hosted FRP, or your own HTTPS reverse proxy.
Device pairing & management Scan a QR‑code or paste a key; the app lists all paired computers, shows reachability, and lets you re‑pair or delete entries.
One‑click diagnostics Checks version, network interfaces, firewall, tunnel status and produces a redacted report; can auto‑allow blocked third‑party WebSocket paths.
System notifications Task‑completion and input‑required alerts appear as Android notifications (optional, can be masked on the lock screen).
Security‑first design LAN gateway uses a private CA; remote gateways use trusted public certificates. Credentials are kept in the Android Keystore and sent only to the exact Origin.
Extension system Through the /mobile <request> command you can ask the DSH agent to modify mobile.css, mobile.js or add JavaScript extensions that run on the computer side (host.mjs). Changes are pushed to the phone instantly.
Worker mode (optional) Extensions can run in a non‑blocking worker thread to avoid UI freezes.

How to get started (quick steps)

  1. Install the plugin on the computer
    • In the official DSH Desktop app → Plugins → add dsh-mobile and enable it, or
    • On a DSH Web installation run:
    dsh plugin --profile web add dsh-mobile@latest
    dsh plugin --profile web exec dsh-mobile setup
    
  2. Configure a connection
    • Open Mobile Access in DSH and turn on LAN access (or enable a remote tunnel of your choice). The plugin will generate a private certificate and a QR‑code.
  3. Install the Android app
    • Download the APK from the releases page (e.g., dsh-mobile-android-v0.6.3.apk).
  4. Pair the phone
    • In the app choose LAN or Remote, scan the QR‑code (or paste the 43‑char key). The device is now trusted and will reconnect automatically.
  5. Start using DSH on your phone
    • The app shows the same chat workspace. You can also open the same URL in any mobile browser.

Extending / customizing the mobile UI

  • Send a message in any DSH conversation:
    /mobile 把手机端做成老式终端的样子,让消息像终端输出一样逐行滚动
    
  • The DSH agent writes the requested changes to $DSH_HOME/mobile-access/ (CSS/JS files or a new extensions/ folder). The plugin watches those files and pushes the update to the phone within seconds.
  • For more complex logic you can add a JavaScript extension with a host.mjs file that runs on the computer with the same permissions as the user.
  • Optional Worker mode (enabled per‑extension) runs the code in a separate thread to keep the UI responsive.

Security considerations

  • LAN mode should only be used on trusted home/office networks; the gateway is not exposed to the internet.
  • Remote tunnels use HTTPS with either a public CA (cloudflare, Tailscale) or a private CA that the app pins. The tunnel binaries (cloudflared, cpolar, frpc) are downloaded from official releases and SHA‑256‑verified.
  • Paired phones have full control over the DSH instance – treat them as trusted devices. If a phone is lost, revoke it from the computer side immediately.
  • All write‑operations (settings, extensions) are checked against the paired session token and CSRF‑protected origins.

Who might benefit?

  • Developers or power‑users who run DeepSeek Harness locally and want a responsive UI while away from their desk.
  • Teams that need a quick way to view the same chat workspace on a phone without running a separate DSH server.
  • Anyone who wants a secure, self‑hosted alternative to cloud‑based AI chat apps and needs mobile access.

All information above is taken directly from the repository’s README; no additional features have been inferred.

Related

  • Project
  • Project
  • Project
  • Project
  • Project