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)
- Install the plugin on the computer
- In the official DSH Desktop app → Plugins → add
dsh-mobileand 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 - In the official DSH Desktop app → Plugins → add
- 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.
- Install the Android app
- Download the APK from the releases page (e.g.,
dsh-mobile-android-v0.6.3.apk).
- Download the APK from the releases page (e.g.,
- 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.
- 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 newextensions/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.mjsfile 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