DSH Mobile
An Android app for driving a DeepSeek Harness from your phone.
English · 中文 · हिन्दी · Español · Français · ไทย
The DeepSeek Harness is an AI coding agent that runs on your computer and has a web interface. DSH Mobile connects to that harness and gives you the same controls in a native Android app. You can start a task at your desk, then follow it, answer its questions and approve its commands from your phone.
This is an unofficial, community-built app. It needs a harness running somewhere it can reach: on your computer, or on the phone itself through Termux.
The project site has a one-page overview, and the wiki has the full user guide.
Screenshots
| Connect | Chat | Trajectory | Details |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
| Paste the link the harness prints, and you are connected and signed in. | Replies stream in. Tool calls fold into one row you can open. | Every tool call, turn by turn. | The session's model, context, goal, plan mode and jobs. |
| Subagents | Terminal | Dark theme |
|---|---|---|
![]() |
![]() |
![]() |
| Read what a subagent did and send it a follow-up. | A real shell on the harness computer. | Light, dark, or follow the system. |
What you can do
- Chat with the agent. Replies stream in with their reasoning, code blocks and tool calls. You
can attach photos and files, reference files with
@, and run commands and skills with/. - Press and hold a message, a tool call or a file to see what else you can do with it. Copy it, fix a message you sent and send it again, or mention a file in your next message.
- Answer what the agent needs from you: approve or reject a command, answer its questions, and review a plan before it starts.
- Keep an eye on long work. Goals, todo lists, queued messages, background jobs and subagents each have their own view, and you can pause, steer or stop them.
- Get a notification when a turn finishes, a goal completes or gets blocked, or the agent is waiting for an answer. The connection stays up in the background.
- Browse and preview the workspace files, and open a terminal on the harness computer.
- Manage the harness itself: models, agent presets, plugins, scheduled tasks and archived sessions.
- Use the app in English, Chinese, Hindi, Spanish, French, Arabic, Bengali, Portuguese, Russian, Urdu or Thai. Right-to-left languages are supported.
The changelog lists what changed in each release.
Getting started
1. Install the app
Download the APK from the latest release and install it. You need Android 8.0 or newer.
2. Make the harness reachable
The harness only listens on its own computer by default. Pick the setup that matches where your phone will be.
Same Wi-Fi as the computer
Start the harness on the computer's local network address. On harness 0.2.1-alpha.2 and newer:
dsh web --host 192.168.1.20
Use your computer's real address instead of 192.168.1.20. The harness prints a line like
dsh web: http://192.168.1.20:3080/?token=…. In the app, choose Local network, paste that
whole link into the address field (or tap the paste button), and tap Connect. The token in the
link signs the phone in, and the harness then appears under Recent for next time. Older harness
versions need a small patch instead of --host; see harness/README.md.
Away from home
Install dsh-relay, a harness plugin that adds a password, encryption and device pairing. Then choose Relay in the app and scan the pairing QR code. The Relay wiki page walks through it.
USB cable or emulator
Run dsh web on the computer and adb reverse tcp:3080 tcp:3080. In
the app, choose This phone and sign in with the link dsh web printed.
On the phone itself
The harness can run in Termux.
Choose This phone, and the app can start and stop the harness and sign in for you. Setting up
Node in Termux does not work on every device yet; read harness/TERMUX.md
first.
Your own HTTPS reverse proxy
Paste its https:// address in Local network mode. The proxy
encrypts the connection, but it does not check who is connecting. See
harness/README.md.
3. Start working
Pick a session from the list (swipe in from the left edge) or start a new one. If a connection fails, the app says why, and the wiki's troubleshooting page is organized by those messages.
Security
Read docs/SECURITY.md before you connect over a network. A signed-in phone can do anything the agent can do, and the agent runs commands on your computer. Treat signing in like giving out shell access.
- Local network mode checks the sign-in token but does not encrypt anything. Use it only on a network you trust.
- Relay mode adds encryption and a pinned certificate, and works from outside your network.
- Keep the
dsh weblink private. Anyone who has it can sign in until the harness restarts.
Compatibility
DSH Mobile is tested against DeepSeek Harness 0.2.1-rc.2. Older harness versions back to 0.1.6 still work for the most part, but newer features need a newer harness. The compatibility table lists which app version goes with which harness.
Building from source
./gradlew :app:assembleDebug # debug APK
./gradlew :app:assembleRelease # release APK, signed when the keystore environment is set
./gradlew :core:test :app:testDebugUnitTest
To check the app against a real harness, build a harness checkout and run the conformance suite:
DSH_HARNESS_SRC=/path/to/deepseek-harness ./gradlew :conformance:test
Release builds take their version from the git tag. CONTRIBUTING.md covers the development loop, the module layout and the release steps.
| Path | Contents |
|---|---|
app/ |
The Android app: screens, connection, notifications, translations |
core/ |
Plain Kotlin protocol code: wire types, RPC and stream clients, reconnect logic, the session event fold |
conformance/ |
Tests that start a real harness and check every call the app makes |
mock-harness/ |
A small fake harness server for tests |
tools/capture/ |
Records real harness traffic as test fixtures |
harness/ |
Setup guides for local network and Termux |
docs/ |
Architecture, protocol notes, compatibility, security |
The relay plugin lives in its own repository, sorsama/deepseek-harness-relay.
License
MIT. Third-party material bundled with the app is listed in THIRD_PARTY_NOTICES.md. DeepSeek Harness and its brand belong to their owners. This project is not affiliated with them.






