Introduction¶
DSH often runs locally, and the Web interface is suitable for desktop use. If you need to access the same DSH on a mobile phone, you need to temporarily expose local ports, obtain a public URL, confirm that mobile access to /api is not blocked by the trusted host barrier, and finally send the link to the phone. dsh-mobile-link consolidates these steps into a DSH plugin: it starts the local DSH Web, creates or reuses a Cloudflare quick tunnel, and pushes the mobile link to your chosen channel.
What is this¶
dsh-mobile-link is a DSH plugin maintained by Cheng-xiu with an MIT license. It allows mobile phones to connect to the local DeepSeek Harness (DSH) via the internet and automatically pushes the mobile link to your WeChat or other channels of your choice.
Core Features¶
- One-click start of local DSH Web and creation or reuse of a Cloudflare quick tunnel, forwarding port 3080 by default.
- Automatically detect or download cloudflared, without requiring registration of a Cloudflare account.
- Add
--trusted-hostwhen starting DSH Web, or dynamically add to the trusted host barrier to prevent mobile access to/apifrom returning 403. - Supports Server酱 (ServerChan), PushPlus, Bark, ntfy, and custom webhook push notifications.
- After configuring
autoSend, the tunnel and push are completed automatically about 8 seconds afterdsh webstarts. - Does not rely on a PC WeChat client, pushing notifications via HTTP.
- Provides CLI commands such as
start,send,setup,tunnel,doctor, andstatus.
Installation and Activation¶
Prerequisites: dsh CLI, Node.js >= 18.17, and pnpm in PATH must be installed.
This plugin has not been published to npm and needs to be installed from a local path or GitHub. Install from GitHub:
dsh plugin --profile web add github:Cheng-xiu/dsh-mobile-link
After installation, restart dsh web. The plugin enters the startup tree and takes effect on the next dsh startup.
The plugin runs with the current dsh process permissions. It is recommended to check the source code before installation. The license in the verified materials is MIT.
Configuring Push Channels¶
Perform the channel configuration once first, then proceed with startup and push. Interactive configuration:
node bin/cli.js setup
If you are sure to use Server酱 (ServerChan), you can also pass parameters directly:
node bin/cli.js setup --channel serverchan --key SCTxxxxxxxxxxxxxxxx --port 3080
Credentials such as Server酱 (ServerChan) SendKey and PushPlus token are stored only locally in ~/.dsh/mobile-link/config.json with permissions 0600 and are not written to the repository or logs.
After configuring autoSend, the tunnel and push are completed automatically about 8 seconds after each dsh web start. The delay can be adjusted in the dsh configuration’s autoSendDelayMs, defaulting to 8000 milliseconds.
Typical Usage¶
The following commands are used for local debugging and formal pushing:
node bin/cli.js start
node bin/cli.js start --dry-run
node bin/cli.js start --test
node bin/cli.js send --port 3099
node bin/cli.js tunnel --stop
node bin/cli.js status
node bin/cli.js doctor
start starts the tunnel and pushes the mobile link; start --dry-run only prints the content to be sent without actually pushing; start --test sends a test message instead of a real link. send --port 3099 is used to push only for a specified port. tunnel --stop stops the tunnel managed by this plugin, status checks the tunnel and configuration status, and doctor performs environment diagnostics.
Dry run debugging can also be done by setting environment variables:
DSH_MOBILE_LINK_DRY_RUN=1
DSH_MOBILE_LINK_TEST=1
CLI’s --dry-run and --test take precedence over these two environment variables.
Suitable Scenarios and Notes¶
Suitable for users who often run DSH locally but need to open the DSH Web on a mobile phone on the external network. Also suitable for scenarios where you want to avoid manually copying temporary URLs and receiving links via WeChat or other selected channels.
When using quick tunnel, the quick tunnel URL is public, and anyone who knows the URL can access your exposed DSH Web. Do not publicly share the link in the push message.
Server酱 (ServerChan) has a limited free quota, please refer to the current official website description. Credentials are stored only locally in ~/.dsh/mobile-link/config.json; do not transmit SendKey, tokens, etc. externally.
Conclusion¶
The value of dsh-mobile-link lies in putting local DSH Web exposure, mobile access, and link pushing into the same process. The verified materials do not provide a directory page URL; the GitHub repository address is:
https://github.com/Cheng-xiu/dsh-mobile-link