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

  1. Settings Menu Integration: Adds a “View URL” page to the left settings menu of DSH Desktop and to any dsh web GUI running with the same profile configuration.
  2. 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.
  3. LAN Access: The fixed address can be accessed directly by other devices on the local network.
  4. 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.
  5. 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.

  1. Install via command line (recommended):
    dsh plugin --profile web add github:1032740078/dsh-web-url-view
  1. Install via plugin market:
    After restarting, go to Settings → Plugin Market, search for web-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.0 by 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: 0 in 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
  • GitHub: https://github.com/1032740078/dsh-web-url-view
  • Community Directory: https://www.skillhub.cn/plugins/1032740078/dsh-web-url-view