
zexadev/dsh-tether
dsh-plugin-tether
Reach the DeepSeek Harness on your dev machine from your phone — across networks, through no server at all (iroh P2P)
Install
npx @deepseek-ai/dsh plugin --profile web add dsh-plugin-tether`Restart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-tether)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from zexadev/dsh-tether, cleaned of badges and images.
<strong>Use the DeepSeek Harness on your dev machine, from your phone.</strong><br> Across networks, peer to peer, through no server at all.<br> No relay to configure, no shared Wi-Fi, no Linux on your phone.
<p align="center"><sub>An independent community project. Not affiliated with, partnered with, authorised by, or endorsed by DeepSeek.<br>No DeepSeek employee or upstream DeepSeek Harness team member is involved in this repository.<br><a href="README.zh.md">中文</a> · English</sub></p>DSH Tether carries the DeepSeek Harness web interface to your phone over a direct peer-to-peer connection. The agent keeps running on the machine your code lives on, and the phone gets DSH's own full interface — conversations, tool calls, approvals and settings, not a reimplementation of them. Pair once with a 6-digit code; after that the two ends find each other whatever network they are on.
The case it solves
You are not on your machine's network, and you do not want a server in the middle.
Reaching your own dev machine from a phone usually asks for one of two things: both ends on the same LAN, or a relay you deploy, configure and trust. This asks for neither. The two ends hole-punch to each other through iroh, and once they do, nothing passes through a third party; the fallback relay only ever carries ciphertext it cannot read.
If you only use your phone on the same Wi-Fi as your machine, you don't need any of this — a LAN setup is simpler.
Download and install
| Where | Download | How |
|---|---|---|
| Machine | — | dsh plugin --profile web add dsh-plugin-tether |
| Phone | dsh-tether-<version>-arm64.apk from the Release | Signed — install it directly |
| Phone (iOS) | dsh-tether-<version>-ios-unsigned.ipa from the Release | Beta, unsigned — sign it yourself |
The plugin carries a small Rust sidecar that owns the iroh connection, shipped as one package per platform; installing pulls only the one matching your system, with nothing to choose.
The phone build is split by CPU architecture. Any Android phone from the last decade takes arm64; arm is for 32-bit legacy devices, and x86 / x86_64 are for emulators and ChromeOS. Picking the wrong one simply gets refused at install time.
The iOS build is beta: this project has no Mac, so the package is only ever built in CI and has never run on a real device. You sign it yourself with AltStore, Sideloadly or similar (a free Apple ID expires after 7 days). Please open an issue if you hit anything.
You can also build the sidecar from source (needs Rust):
git clone https://github.com/zexadev/dsh-tether && cd dsh-tether
cargo build --release -p tether-host
dsh plugin --profile web add .
Pair
Start dsh web as you normally would, then click Connect phone at the bottom of the sidebar. You get one line to copy:
On the phone, open DSH Tether → Add computer → paste that whole line → name the computer → connect.
From then on the app connects by itself when you open it.
Features
…
