Introduction¶
DeepSeek Harness (DSH) Desktop and dsh web GUI randomly select a Web port and startup token on every launch, causing the access address to keep changing. This makes it impossible to add the URL to bookmarks or to access it directly from other devices on the local network, such as a phone.
The dsh-web-url-view plugin runs a fixed-port forwarder inside the process and provides a stable entry address. This address is displayed in the settings menu of DSH Desktop and the Web GUI, solving the issues of random port changes and cross-device access.
Plugin Overview¶
- Name:
dsh-web-url-view - Maintainer: 1032740078
- Category: Client
- License: MIT
Core Features¶
- Settings Menu Integration: Adds a “View URL” page to the left settings menu of DSH Desktop and to any
dsh webGUI running with the same profile configuration. - Dual Address Display: Displays two Web GUI addresses.
- Fixed address: Remains unchanged after restarts and is suitable for bookmarks.
- Current address: A one-time address that changes with each restart.
- LAN Access: The fixed address can be accessed directly by other devices on the local network.
- Built-in Authentication: The forwarder performs the authentication handshake for the current session by itself, so no token needs to be handled in the browser.
- Protocol Support: Forwards both plain HTTP and WebSocket upgrade requests.
Installation and Enablement¶
The plugin can be installed from the command line or searched and installed from the plugin market.
- Install via command line (recommended):
dsh plugin --profile web add github:1032740078/dsh-web-url-view
- Install via plugin market:
After restarting, go to Settings → Plugin Market, search forweb-url-view, and click install.
Usage¶
After installation is complete, open Settings → View URL. You will see two address lines:
| Line | Description |
|---|---|
| Fixed address | http://<your-LAN-IP>:47524/; the address remains unchanged after restart. |
| Current address | http://127.0.0.1:<random-port>/?token=<random>; it is updated on every restart. |
Copy the fixed address to a phone or another device on the local network, then open the Web GUI directly.
Configuration and Security¶
Default Configuration¶
By default, the plugin binds to 0.0.0.0:47524.
Security Notes¶
- Risk: Binding to
0.0.0.0by default means any device on the local network can open the Web GUI directly without an additional password. - Recommendation: Use it only on trusted local networks. On public or shared networks, modify the configuration to restrict access.
- Disable: To disable the fixed address, set
fixedPort: 0in the configuration.
Configuration Changes¶
To change the port, binding interface, or disable the fixed address, you need to override the cordis.patch.yml file in the desktop profile configuration:
- id: web-url-view
name: dsh-web-url-view
config:
# 固定入口监听端口,0 表示禁用。默认 47524。
fixedPort: 47524
# 绑定接口。默认 0.0.0.0(所有接口,局域网可访问);127.0.0.1 仅限本机。
fixedHost: 0.0.0.0
Automatic Address Detection¶
The LAN address is detected automatically. It prefers the IPv4 address of the default route interface and skips loopback, link-local (169.254.*), and common virtual interfaces (docker/veth/vmnet/utun, etc.). If no usable IPv4 address is found, it falls back to 127.0.0.1.
How It Works¶
The plugin runs a fixed-port reverse proxy named FixedEntryServer inside the plugin host process:
* It binds to a fixed port (for example, 47524) and uses the machine’s LAN IP as the entry point.
* When a request is received, it uses the in-process startup token to perform the same ?token= handshake as a browser and holds the browser session cookie internally. The token and cookie do not leave the process or reach the browser.
* It supports HTTP and WebSocket (/api/remote.mux) forwarding, and handles Host/Origin header rewriting and Set-Cookie header absorption to prevent browser cookie pollution.
Troubleshooting¶
Log entries are prefixed with [dsh-web-url-view].
- macOS log:
~/Library/Logs/DSH Desktop/harness.log - Windows log:
%APPDATA%\DSH Desktop\Logs\harness.log
| Symptom | Check |
|---|---|
| Fixed address shows unavailable | Check whether the port is occupied or fixedPort is 0 |
| No “View URL” item in settings | Confirm that dsh-web-url-view is listed in dsh.profile.bundles |
| Fixed address cannot be opened | Search the log for fixed entry listening on ... to check the binding result |
Ecosystem Links¶
- GitHub: https://github.com/1032740078/dsh-web-url-view
- Community Directory: https://www.skillhub.cn/plugins/1032740078/dsh-web-url-view