Preface¶
DSH (DeepSeek Harness) uses a plugin-based architecture. The default Web GUI is usually bound only to the local loopback address. If you need to access it within a LAN, or need precise control over the listening port and IP, the official configuration is often insufficient. The dsh-advanced-listening-settings plugin adds a standalone section, “Advanced Listening Settings,” to the DSH Web GUI “Settings” menu, allowing you to expose the service to the local area network, precisely control the listening scope, and fix issues where some features fail during remote access.
Core Features¶
The plugin provides the following controls:
- Global listening (0.0.0.0): Binds to all network interface addresses.
- Local IP list: Select specific network interface IP addresses via checkboxes (none selected by default; local loopback only).
- Port control: Sets the port for the exposed service; the default is 3080. The command-line
--portparameter takes precedence over this setting. - Disable authentication: Removes Token verification (401), so you can directly access IP:port. Note: Host/Origin source verification (403) is still retained.
- Restart dsh: Provides a button with secondary confirmation in the panel for starting a new instance.
- Access URLs…: Lists all available entry URLs with one-click copy support.
- Configuration and cleanup…: View the location of managed files, clean up legacy entries, remove the managed block, or perform a complete cleanup.
Installation and Enabling¶
Installing the plugin requires running the terminal with administrator privileges.
dsh plugin --profile web add dsh-advanced-listening-settings
After installation, you must restart DSH once to activate the new section. After restarting, go to Settings → Advanced Listening Settings to configure it.
- Local directory installation: If installing from a local directory, the directory must remain in its original location.
- Dependency environment: DSH version
0.1.5-rc.3and Node.js version≥ 22.6are required.
Usage and Cleanup¶
After configuration, select the listening address or port as needed and decide whether to disable authentication.
Typical Usage¶
- Check the network interface IPs that need to be exposed externally in the “Local IP list”.
- Confirm the port setting (the port started from the command line is displayed in the input box and grayed out).
- Click “Access URLs…” and copy the generated URL to access it from another device.
- If you need to change the listening policy, click “Restart dsh” to apply the changes.
Uninstallation and Cleanup¶
The plugin is designed to leave zero residue by default, but configured content must be manually cleaned up for complete uninstallation.
Recommended steps:
1. In the panel’s “Configuration and cleanup…”, click “Complete cleanup (before uninstalling)”. This will delete the managed block, legacy entries, and settings file.
2. Run the uninstall command:
dsh plugin --profile web remove dsh-advanced-listening-settings
- Restart DSH.
If you forget to clean up, you can also use the cleanup command to fetch a copy of the plugin code from npm to perform cleanup:
npx -y dsh-advanced-listening-settings cleanup
Security and Permissions¶
Using this plugin involves overriding permissions for the DSH process.
- Authentication risk: Once authentication is disabled, anyone who can access the LAN IP can directly control DSH (execute commands, read and write files). Be sure to use this feature only in fully trusted network environments, or retain Token authentication as the last line of defense.
- Source fence: Disabling authentication only removes Token verification; the 403 Host/Origin blocking (source fence) remains active. Even with authentication disabled, requests from untrusted domains will still be rejected.
- IPv4 limitation: The plugin supports IPv4 network interfaces only. IPv6 addresses will not be rewritten or listened to.
- Official directory: The plugin does not write to DSH’s official installation directory and does not modify the official source code.
References¶
- GitHub repository: https://github.com/jcjyids/dsh-web-advanced-settings
- Plugin directory: https://www.skillhub.cn/plugins/jcjyids/dsh-web-advanced-settings