Preface¶
The DeepSeek Harness (DSH) plugin ecosystem emphasizes “everything is a plugin.” If you want to operate the DeepSeek Harness Web GUI running on your local machine from your iPhone/iPad, but don’t want to bypass the local loopback service, dsh-mobile provides a practical solution: through a LAN reverse proxy, an iOS PWA shell, and mobile CSS, it allows phones or tablets on the same local network to access the Harness Web GUI.
Below, we introduce what it is, what it does, how to install and enable it, and the security boundaries to be aware of.
What This Is¶
dsh-mobile is a DSH client plugin, with the repository cindyguyuehu123/dsh-mobile and licensed under MIT.
The core problem it solves is: using the DeepSeek Harness Web GUI on iPhone/iPad. It specifically provides three types of capabilities:
- Accessing the local Harness Web GUI via a LAN reverse proxy;
- Injecting iOS PWA metadata to support Safari “Add to Home Screen”;
- Injecting mobile CSS to handle touchscreen, safe areas, input scaling, and soft keyboard related experiences.
Core Capabilities¶
LAN Reverse Proxy¶
The plugin starts a 0.0.0.0 reverse proxy, forwarding requests from iPhone/iPad to the local Harness loopback service.
It forwards HTTP and WebSocket requests and rewrites the Host/Origin, allowing mobile traffic to enter the trusted access path of the Harness Web GUI.
iOS PWA Shell¶
The plugin injects iOS PWA related metadata and generates PNG icons.
After opening in Safari, you can add the Harness Web GUI to your iPhone/iPad home screen via:
Share → Add to Home Screen
Afterwards, you can enter it from the home screen icon.
Mobile CSS Adaptation¶
The plugin injects mobile CSS, primarily handling:
- iOS input focus scaling;
touch-actionrelated touchscreen behaviors;- iPhone/iPad safe areas;
- Input area behavior when the soft keyboard pops up.
/mobile QR Code Page¶
Desktop browsers can open:
http://127.0.0.1:3080/mobile
The page displays a large QR code for obtaining the mobile access entry point from the desktop.
Optional IP Restriction¶
The plugin supports an optional allow configuration to restrict which client IPs can access it.
Security Context UUID Patch¶
The plugin provides a harness security context UUID patch to fix the issue where randomUUID is unavailable on mobile devices.
If you upgrade harness later, you need to re-apply the backed-up patch.
Installation and Enablement¶
First, install using the official plugin command:
dsh plugin --profile web add https://github.com/cindyguyuehu123/dsh-mobile.git
This command installs it to the web profile.
If you need to enable the mobile capabilities in cordis.patch.yml, you can use the mobile line to configure lanPort or allow. For example:
- insert:
- id: mobile
name: 'dsh-mobile'
config:
lanPort: 3080
allow: []
Here, config is used to configure the proxy port and the allowed client IPs. The specific IPs should be addresses of devices on your trusted network.
After modifying the plugin loading related configuration, you need to restart dsh web.
Typical Usage¶
First, establish the connection on both the desktop and mobile sides:
-
Connect your phone or iPad to the same Wi-Fi network as the Harness machine.
-
Open the following in a desktop browser:
http://127.0.0.1:3080/mobile
-
View the large QR code on the page, or access the corresponding LAN address on your mobile device.
-
After opening in Safari, add the Harness Web GUI to your home screen via:
Share → Add to Home Screen
Afterwards, enter from your iPhone/iPad home screen to access the Harness Web GUI on the same local network.
Applicable Scenarios and Notes¶
This plugin is suitable for use within your own controlled network, such as home Wi-Fi or a managed intranet.
Once enabled, devices on the same local network can fully drive Harness, including tools that execute code. Therefore, it is only recommended to enable it on a network you trust.
If you connect to a public network or unfamiliar Wi-Fi, it is recommended to remove or comment out the mobile line in cordis.patch.yml and restart dsh web:
# - insert:
# - id: mobile
# name: 'dsh-mobile'
The plugin runs alongside the current dsh process. Before installing, it is advisable to review the repository source code and the MIT license.
It can only be accessed within the same local network, or within a route you have set up yourself. If your phone is on a cellular network, it cannot directly connect to the computer running Harness.
The first time macOS listens on 0.0.0.0, the system firewall may prompt you to allow Node.js to accept incoming connections. If you confirm that you are only using it within your own controllable network, you can choose to allow it.
If you modify the plugin’s host portion, you need to restart dsh web. If you upgrade harness, you need to re-apply the backed-up patch.
Links¶
- Directory page:
https://www.skillhub.cn/plugins/cindyguyuehu123/dsh-mobile - GitHub:
https://github.com/cindyguyuehu123/dsh-mobile