Ready for a new conversation.
All conversations here are fictional.
Meet Da Fei Yu.
Tap for a reaction, double-tap for a new chat, or swipe sideways to move the pet. Say hello; the buttons above provide an alternative too.
A third-party phone client for DeepSeek Harness
DSH Mobile App is a third-party, open-source Android client for DeepSeek Harness (DSH). Your agent runs on your own host; use your phone to check progress, handle approvals and questions, and continue the conversation away from your computer.
Details for your phone
Greet the pet, swipe through plugin cards, and switch conversations from the side. These interactive web illustrations use fictional data; they never create real conversations or change plugins.
Ready for a new conversation.
All conversations here are fictional.
Tap for a reaction, double-tap for a new chat, or swipe sideways to move the pet. Say hello; the buttons above provide an alternative too.
Explore an extension and its requirements.
This is the first item. The cards do not wrap around.
Read about features and settings.
There are cards on both sides. Try dragging this one.
Discover the next extension.
This is the last item. Swipe right to go back.
Example plugin B. No plugins will be changed.
Swipe left for the next item or right for the previous one. Drag and release a card, or try the buttons and arrow keys.
In the app, available items and management permissions depend on your host.
Summarize this chapter for me.
Three notes are ready for you.
Keep checking the cache settings.
Putting the findings together.
Show me the migration plan first.
The plan is ready for your review.
Current demo chat: Fix CI cache.
Open the menu from the right and pick a demo conversation. Or hold the handle, drag up or down, then release to open your selection.
In the app, close the keyboard first. The menu shows up to 10 conversations from the current filtered list.
Interactive English illustrations, not recordings of the app. The actual app interface is currently in Simplified Chinese.
What it does
It isn’t a shrunken desktop page. Away from the computer, you usually want to know where things stand, make a call, or add one more thought.
01At a glance
The Focus tab puts sessions that need you first: pending approvals and questions, then running work, then recent conversations. Running more than one host? Switch gateways from the top bar.
02Make the call
Approval cards show the actual command, target files and a diff when one is available — not just a summary. High-risk actions need a half-second hold, and you get a few seconds to undo after deciding. Agent questions take a choice or a typed answer.
The app never approves anything on your behalf. Approval decisions must be sent online.
03Say one thing
Replies stream in, with thinking and tool calls folded into one group until you open it. While the agent is mid-turn, queue a message for after the turn, or steer so it sees your note on the next step. Attach images and files, or stop the current turn.
Hold-to-talk needs a matching voice plugin on the host with its recognition model ready. Speech is transcribed on the host, not on the phone.
Details & conditions
Every capability has limits. We put the conditions right beside it, not in a footnote.
Needs:Session lists, drafts and attachment details are cached on the phone. Text written offline goes to an outbox and is sent in order after reconnecting; file uploads and approval decisions require a connection.
Needs:Each gateway is paired separately and keeps its own sessions, drafts and outbox. The phone must be able to reach that gateway’s endpoint.
Needs:An optional encrypted address book, which requires a gateway that supports it and your own Cloudflare account; recovery usually takes one to three minutes. It encrypts the endpoint address only — it does not make conversations end-to-end encrypted, and you don’t need it to use the app.
Needs:Android suspends the app in the background; it checks and reconnects when brought to the foreground. This version has no system push notifications and does not promise to stay connected in the background.
Needs:These are plugins of the DSH profile behind the gateway. Disabling or removing the mobile gateway itself cuts the connection immediately; it can only be restored on the host.
Get started
This is the route, not the manual. Exact commands and pinned versions live in the app repository’s docs and change with each release.
A computer or server that keeps DSH Web running. DSH Mobile App ships no model and hosts no service; the agent always runs on that machine.
Install dsh-plugin-mobile-gateway in the matching profile, at the version pinned for this
app. Pairing codes are single-use and expire after about five minutes — treat them like a
password. You can also hand the agent setup guide to your DSH and let it do the install.
Download the APK from GitHub Releases and allow the install; checksum files sit on the same page. Open the app and scan the pairing code, or paste it. Upgrade by installing over the top — don’t uninstall first.
Your phone must be able to reach the gateway: directly on the same Wi-Fi, or through Cloudflare Tunnel, Tailscale or similar. Public endpoints must use wss://.
FAQ
DeepSeek Harness (DSH) runs on your own computer or server. DSH Mobile App is a third-party Android companion that connects to DSH Web through the mobile gateway. You can view sessions, handle approvals and questions, and continue conversations. It is not the official DeepSeek chat app and does not host a model service.
No. DSH Mobile App is an independent, third-party open-source project, not affiliated with DeepSeek or Expo.
A host running DSH Web, the mobile gateway plugin installed in that profile, an Android phone, and a network path from the phone to the gateway.
DSH and gateway versions must match the combination pinned for the app; see compatibility.json.
No. The agent runs on your host; the phone is only a client. It isn’t a hosted AI service either.
Not yet. The interface is currently in Simplified Chinese, and localization is deferred. The English user guide walks through every screen.
A voice plugin on the host that matches your DSH version, with its recognition model ready. Until then the app clearly shows that voice is unavailable instead of failing silently.
The app reconnects on its own; tap the connection banner to retry right away. Text written offline goes to an outbox and is sent in order after reconnecting.
A message in flight at the moment of disconnect may be marked unconfirmed. The app won’t resend it silently — retry it yourself. If the device is revoked or its credential expires, pair again.
Neither, for now. iOS is deferred and unverified. The Android app is sideloaded from GitHub Releases and hasn’t been verified on every device.
Not yet — it’s a public alpha, and the protocol and interface are still evolving. For the current download, checksums and what has been verified, see Releases and the app repository.
Pairing credentials are kept in the phone’s secure storage; session history, drafts and attachment details are cached on the phone. The app includes no third-party analytics SDK, but your host, gateway and any tunnel service may keep their own logs.
If you lose your phone, revoke it from the gateway panel. Removing the gateway on another phone does not revoke the lost one.
The app’s original code is MIT. Its pet animation assets are CC BY-NC-SA 4.0, non-commercial only; see LICENSE and NOTICE. This website’s original content is MIT. The displayed pet artwork is separately licensed under CC BY-NC-SA 4.0, not MIT; see the artwork credits and license.
On GitHub Issues, with your app, gateway and DSH versions and the steps to reproduce. Never post pairing QR codes, device credentials or unredacted conversation screenshots.
Public Android alpha. Free and open source, sideloaded from GitHub Releases.