BOTBUS / BLOG

DeepSeek Harness Mobile: Use dsh From Your Phone

DeepSeek Harness (dsh) has no official mobile app. Compare SSH, a reverse proxy, community plugins and BotBus for using dsh from your phone, with limits.

·

The short answer

As of 2026-10-04, DeepSeek Harness (dsh) ships a CLI, a local-only web UI (dsh web) and a desktop app. There is no official iOS or mobile app. If you want to check on a dsh session, answer an approval or send a follow-up while you're away from your desk, you have three realistic options: forward the web UI yourself, install one of the community mobile projects, or use BotBus, which reads dsh sessions on your Mac and syncs them to iPhone and Apple Watch through an end-to-end encrypted relay, without exposing the dsh port to the internet.

This post walks through what dsh offers on its own, who each approach suits, and exactly what BotBus can and can't do with dsh.

What dsh officially offers today

Checked against the dsh GitHub repository and docs on 2026-10-04:

So "dsh remote access" really means one of two things: let the phone reach that loopback-only server, or sync the sessions out some other way.

The free options, and who they're for

SSH port forwarding. The dsh README explicitly handles SSH launches: it prints the URL and leaves forwarding to your SSH client. If you already SSH into your machine over Tailscale or similar, forward port 3080 from a mobile SSH client and open it in your phone's browser. You get the full dsh UI. The catch: mobile SSH sessions get suspended when the app is backgrounded, the UI isn't built for a small screen, and nothing buzzes your phone when dsh stops to wait for an approval.

Reverse proxy with --public-url. dsh documents how to publish the web UI behind a reverse proxy: --public-url tells it the external address and --trusted-host admits the hostname your browser uses. If you're comfortable with Caddy, Nginx or a tunnel service, your phone just opens an HTTPS URL. The docs are also clear about the trade-offs: the listener speaks plain HTTP so the proxy must terminate TLS, the printed launch URL carries process credentials, and the port should stay inside a trusted network. You are running an internet-facing entry point, and its security is on you.

Community mobile apps and plugins. Search for "dsh mobile" and you'll find several: a dsh plugin plus a phone app over LAN or a tunnel, projects with their own cloud relay, and a mobile layout for the web UI. Because most of them talk to the dsh web server directly, they track dsh's own features closely, and some add push notifications or remote wake. Before you pick one, check how it authenticates, whether your data passes through someone else's server, and what it installs into dsh.

If dsh is the only agent you use, you're fine with networking, and you want the exact desktop UI on your phone, any of these works. BotBus fits a different situation: you also run Codex or Claude Code, you want every task in one list and a notification when something needs you, and you'd rather not open ports or change your dsh configuration.

How BotBus connects to dsh

Prerequisites first: dsh is installed on the computer that runs BotBus, and you've already set up your model provider and login inside dsh. The computer has to be on and online. On the computer side there's a Mac app (a menu bar app, macOS 26 or later) and a Linux version (a command-line program for x86_64 and aarch64; see the install guide).

BotBus runs in the background on your computer (in the menu bar on a Mac, as a command-line service on Linux), and DeepSeek Harness is one of its built-in agents, enabled by default. It finds dsh on its own: your PATH first, then the CLI bundled with the desktop app, then the npx cache. Session data lives in ~/.dsh. How it sees your sessions depends on what's running:

Either way, only sessions from the last 7 days are listed, and empty sessions and subagent sessions are skipped.

BotBus on iPhone showing a Mac's task list

What you can do from your phone

Follow tasks and read transcripts. dsh sessions sit alongside your other agents, grouped by computer and project. Tap one to read the whole conversation. BotBus reads transcripts from disk first and never loads a session into dsh just to show it, so browsing doesn't lock anything.

Get notified. When a task waits for an approval, waits for your answer, finishes or fails, your phone gets a push (provided notifications are allowed).

Approve and answer questions. When a session running in the dsh desktop app or dsh web stops to ask permission for a command, an approval card appears on your phone with allow once and deny. When dsh asks a multiple-choice question, you answer by picking options; deny skips the questions and the turn carries on, and a plain follow-up message while a question is pending counts as the answer. More on the approval flow in approving agent requests from your phone.

An approval card in BotBus on iPhone

Send follow-ups. Turn finished and you want to add "write tests for that too"? Open the session and send it. If the desktop app or dsh web is running, BotBus sends it through them, and you'll see the message in the dsh UI when you're back at your desk. If neither is running, BotBus resumes the session in the background. See continuing an agent session from your phone.

Start new tasks. Pick a project, describe the job, and BotBus starts dsh --profile acp on the Mac to run it, with approvals routed back to your phone. Once the turn is done the process exits and releases the session; if the desktop app is open, the new session is added to its workspace, so you can pick it up in dsh and go back and forth between phone and desktop in the same session.

Starting a new task in BotBus on iPhone

Interrupt. If it's heading the wrong way, tap stop and BotBus sends dsh a cancel. Differences between agents are covered in stopping a coding agent remotely.

What's actually available depends on the situation: the Mac must be online; if BotBus can't find a dsh executable and only sees session files, it's view-only; and sessions it only knows from scanning disk can't be approved, because pending approvals only come through the desktop app or dsh web.

Limits and caveats

FAQ

Is there an official DeepSeek Harness mobile app?

Not as of 2026-10-04. dsh officially offers a CLI, the dsh web UI and a desktop app. The mobile apps and plugins on GitHub are community projects.

Do I need to expose dsh web to the internet to use BotBus?

No. BotBus only connects to the dsh server locally on your Mac. Phone and Mac talk through BotBus's own encrypted relay, and the dsh port stays bound to loopback.

Does it work without the desktop app or dsh web running?

Partly. You can browse sessions, and you can start new tasks and send follow-ups because BotBus launches dsh itself. But desktop sessions won't show live status and their approvals won't reach you. Keep one of them running for full control.

Does BotBus read my DeepSeek API key?

No. It only reads the signing key dsh uses for its web login, to connect to the local dsh server. It doesn't read model API keys and doesn't log the key.

How do I get started?

Install the latest BotBus on your computer, scan the pairing QR code with your phone, and DeepSeek Harness appears in the list of local agents automatically. Downloads are on the home page.

← All posts