MIT-licensed DSH connector plugin plus an iOS SwiftUI client and a self-hostable Go WSS relay, so an iPhone or iPad can follow and answer local DeepSeek Harness sessions without a public IP or a VPN.
DSH integration
Native runtime
Author-claimed
Safety audit
Unaudited
Last verified
2026-11-14
License
MIT
01What can it help you accomplish?
Follow and answer a DeepSeek Harness session from an iPhone or iPad while the task keeps running on the computer
The phone shows the same session list and message stream as the desktop; tasks keep running after the computer locks, and pending questions can be answered from the phone
Developers who leave long DSH tasks running on a desktop and want to check in or answer prompts from their phone
Pair a phone to the computer without a public IP or a VPN
A QR-code pairing flow plus a per-device identity; the connector's relay address and identity live in `~/.dsh/mobile-link/agent.json`
Self-hosters who do not want to expose their machine or run a VPN just to reach DSH from a phone
Self-host the relay instead of using the public one
A Go relay (`relay-go/`) deployed with a Caddy route, with live load and per-device usage readable at `http://127.0.0.1:8787/stats`
Operators who need to own the relay host, its quotas and its operations
02How to install into DeepSeek Harness
Prerequisites
- DSH installed and runnable on the computer (`dsh web`); the connector needs Node.js ≥ 22
- An iPhone or iPad with TestFlight installed, for the public-relay path
- For a self-built relay: a host with a public IP (macOS or Linux) plus Caddy
Installation steps
- 01
Join the TestFlight public beta and install the app (TestFlight itself must be installed first)
- 02
Install the connector into the profile you actually use: `dsh plugin --profile web add dsh-plugin-mobile-link` for the CLI web build, or the in-app plugin page / the app's bundled `dsh` for the official desktop build's `desktop` profile
$ dsh plugin --profile web add dsh-plugin-mobile-link
- 03
Register: DSH bottom-left "移动端连接" → confirm the relay address → "登记"; in a headless environment run `dsh-mobile-link enroll --relay wss://<relay>/dsh-link`
- 04
Pair: use "扫码配对" in the app to scan the panel's QR code and pairing code
Verify the integration
- The panel header shows "已连接" (connected) — that is the README's success signal; the full walkthrough and troubleshooting live in `docs/ONBOARDING.md`
- Installing the plugin and registering from the panel need no restart; only a CLI-only registration while the host is running requires one restart
03DSH integration and capability boundaries
DSH connector plugin (`dsh plugin --profile web add dsh-plugin-mobile-link`) that reaches the local `dsh web` host over `127.0.0.1` and bridges it to the SwiftUI iOS app through a WSS relay
Remote session view and pending-question answers
the local `dsh web` host, reached over `127.0.0.1` by the connector→the same session list and message stream as the desktop, including transcription, images and files
QR pairing and device management
writes the connector's relay address and identity to `~/.dsh/mobile-link/agent.json`WSS relay that authenticates and forwards by `agentId`
WSS frames from the iOS app and from the computer-side connector→frames forwarded per `agentId`; the relay does not parse session content
the relay host sees per-`agentId` traffic metadata but not session contentSend screenshots and files from the computer to the paired phone
files leave the computer only while it is connected through the relay
04Who is it for? When not to use it?
Good for
- Developers who leave long DSH tasks running on a desktop and want to check in or answer prompts from their phone
- Self-hosters who do not want to expose their machine or run a VPN just to reach DSH from a phone
- Operators who need to own the relay host, its quotas and its operations
Not for
- The connector and the iOS app share one protocol and must stay on current versions; the README states that the cross-version compatibility window is limited and points to `docs/VERSIONING.md` for the supported combinations.
- Background coverage is partial: sessions newly started on the computer cannot wake the app (APNs is not implemented), long-unanswered questions may be lost, and sending files to the phone only works over the relay.
05Compatibility, maintenance and safety notes
- The connector and the iOS app share one protocol and must stay on current versions; the README states that the cross-version compatibility window is limited and points to `docs/VERSIONING.md` for the supported combinations.
- Only the relay path is offered in the product; `dsh://direct` is a DEBUG-only test channel. A self-built relay needs a host with a public IP (macOS or Linux) plus Caddy.
- The app is distributed through TestFlight, and building it from source requires macOS with Xcode 16 or newer; the computer side needs a running `dsh web` host and Node.js ≥ 22 for the connector.
- Background coverage is partial: sessions newly started on the computer cannot wake the app (APNs is not implemented), long-unanswered questions may be lost, and sending files to the phone only works over the relay.
MIT · README evidence only, latest release relay-v0.3.4, no security audit
06Frequently asked questions
How do I install the DSH Mobile connector into DeepSeek Harness?
Run `dsh plugin --profile web add dsh-plugin-mobile-link` for the CLI web build, or install it from the in-app plugin page of the official desktop build (or that build's bundled `dsh`) into the `desktop` profile. Install it into the profile you actually run — the README warns that a wrong profile does not error, the connector simply never loads. The computer needs a runnable `dsh web` host and Node.js ≥ 22.
Does the computer need a public IP or a VPN for DSH Mobile?
No. The connector reaches the local host over `127.0.0.1` and speaks WSS to the relay, so a phone on 4G/5G connects without a public IP or a VPN. Only the relay path is offered in the product; `dsh://direct` is a DEBUG-only test channel. If you self-host, the relay does need a public host (macOS or Linux) plus Caddy.
How do I know pairing worked inside DSH?
The README's success signal is the panel header showing "已连接" (connected). Installing the plugin and registering from the panel need no restart; only a CLI-only registration while the host is running needs one restart. The pairing code changes only when you press "重新生成".
What is still missing from the DSH Mobile integration?
Sessions newly started on the computer cannot wake the app (APNs is not implemented), long-unanswered questions may be lost, and sending files from the computer to the phone only works over the relay. The connector and the app also evolve on one protocol, so keep both on current versions.
07Related DSH workflows
awesome-gpt-image-2
by freestylefly
Prompt-as-Code engine and template library for GPT-Image2, with 470+ reverse-engineered cases, 20+ production templates and distilled agent skills.
dsh-im
by xmanrui
把 IM 机器人接入 DSH:统一管理飞书/微信/钉钉/企业微信/QQ/Telegram/Discord/WhatsApp 八个渠道,扫码或凭据接入、流式回复与设置页管理
echobird
by edison7009
All-in-one AI desktop app: one-click install for Claude Code, Codex CLI, DeepSeek and more, manage AI accounts and quotas, smart model routing with auto-failover, voice input, and run local LLMs. Bonus: a Token Pet that grows as you use AI.
wegent
by wecode-ai
Plan, build, and deliver with an open-source, self-hostable AI workspace for coding, collaboration, and automation.
08Data and sources
| 连接器 | 电脑(DSH 插件) | 以 `127.0.0.1` 访问本机 DSH,转成中转帧 |
- 命令行 web 版:`dsh plugin --profile web add dsh-plugin-mobile-link`
产品上只提供经中转这一条连接方式;`dsh://direct` 是 DEBUG-only 的测试通道。
This page is generated from the project’s public documentation, repository metadata and a structured parse of DSH Plugins; last verified on 2026-11-14. Found an error? Submit a correction.
Best DeepSeek Harness Plugins
Twelve plugins worth installing first — picked from the whole catalog, across every category.
