DSH Go is an Android client for DeepSeek Harness that runs a Linux environment on the phone itself or connects remotely to DSH on a computer.
- v1.0.16
- Published at
- 7h ago
- 21,723
- Stars
- 283,459
- Download
- Synced at
- 6m ago
Latest release
v1.0.16Nov 13, 2026, 10:24 AMDownloads slow? Switch the source anytime above
README
Project Overview
DSH Go moves the terminal-bound DeepSeek Harness onto an Android phone and switches between running it locally and taking over the copy on your computer inside a single chat screen. A PRoot-compatible Linux environment is built in, so Ubuntu, Node.js and DSH install on the phone without root and without a separate Termux setup, while SSH or DSHarness Remote reaches the engine on a PC or server. It is a third-party client built on the open-source DeepSeek Harness and is not affiliated with DeepSeek.
| Item | Value |
|---|---|
| Version | 1.0.15 |
| Platform | Android 8.0 (API 26) and above |
| Architectures | arm64-v8a, x86_64 |
| Engine | DeepSeek Harness inside a PRoot Linux environment |
| License | AGPL-3.0, with sdk/ and examples/ under MIT |
The phone is both the host and the remote control.
Core Capabilities
- Local environment: installs Ubuntu, Node.js and the DSH runtime inside the app with PRoot-compatible startup, no root and no Termux, reserving about 1 GB
- Remote takeover: uses DSH on a PC or server over SSH or DSHarness Remote, including a WebRTC DataChannel direct path
- Chat and tools: switch models, send images, dictate, and handle tool approvals and questions, with the native screen and the official web view one tap apart
- Interruptions mid-run: queue a message while the model is replying and send it immediately, while completed work folds into one line
- Plugin surfaces: native tool cards, forms and panels for DSH Go, with
sdk/plugin-kitprovided in-repo and not published to npm - Phone control: lets the engine read the screen, tap and type through accessibility, Shizuku or self-ADB, with three confirmation levels for sensitive actions
- Sharing and replays: turn a reply into a share card and the whole conversation into an end-to-end encrypted link anyone can replay in a browser
- Look and layout: Deepy and Whale Girl pets, six theme colors and four launcher icons, with landscape and tablet layouts switching to a permanent sidebar
Two Ways to Run
- Local mode: on first launch, install the runtime and the engine starts inside a PRoot container on the phone, requiring API 26 and about 1 GB of space
- Remote mode: enter an SSH host or a DSHarness Remote address and the phone acts as a front end without any local runtime
- Switching hosts: the chat page can jump to the DSH on your computer and continue the same conversation
- Permission boundary: phone control is only offered to the local engine in normal mode, while the do-not-disturb mode needs Android 14 or newer plus Shizuku or self-ADB
Target Audience
- Developers who want an AI coding agent on their phone
- People who take over a home PC while away
- Operators used to managing servers over SSH
- AI tool users who care where their data goes
- Developers writing plugins for DSH
Install and Permissions
- Package architectures: releases ship arm64 and x86_64 builds, with no 32-bit ARM build
- App identity: the package name is
io.github.ccch1mneyyy.dsh_app, withminSdk26 andtargetSdk28 - Storage footprint: the local runtime reserves about 1 GB
- Permission scope: phone control needs accessibility or Shizuku / ADB grants, and on-screen text and screenshots tied to a task may be sent to the model
- Analytics toggle: anonymous usage statistics are on by default and can be turned off under Settings → Privacy and Sharing
System Requirements
| Item | Requirement |
|---|---|
| OS | Android 8.0 (API 26) and above |
| Architectures | arm64-v8a, x86_64 |
| Runtime | PRoot Linux with Node.js for local mode |
| Build toolchain | Flutter 3.47.7, JDK 17, Dart ^3.13.5, Android SDK and NDK |
| Extra components | Shizuku 13.1.5, libadb 3.1.1 for the do-not-disturb mode |
Notes
- Third-party project: it is not affiliated with DeepSeek, model requests go to the provider you configure and are billed on your own account
- Uninstalling wipes data: conversations, the Linux environment and settings are deleted, so export anything you want to keep before upgrading
- Background apps get killed: some power-saving policies block background work, and the app offers a shortcut to the right allowlist screen
- Local does not mean offline: model requests still need the network, so data leaves the device
- Brand assets are separate: the Deepy and Whale Girl characters and the DSH Go name and marks are outside the AGPL grant
Release history
Sort