Introduction

When using DeepSeek Harness (DSH) for remote development, the directory selection feature usually fails when accessing the Web GUI through reverse proxies such as tailscale serve or cloudflared. This is because the official directory-picker component defaults to invoking native OS dialogs in loopback-binding + darwin/win32 scenarios, which a remote browser cannot operate. dsh-remote-picker forces a switch to in-browser browsing mode through a bundle patch mechanism, resolving this issue.

Core Features

This plugin mainly solves the following issues:
1. Force in-browser browsing: In remote access scenarios, force the use of the browser’s file selection interface.
2. Fix remote access scenarios: Adapt the directory selection logic under tailscale serve, cloudflared, and --trusted-host configurations.
3. Disable native OS dialogs: Avoid native dialogs from appearing on unattended hosts when they cannot be controlled by a remote browser.
4. bundle patch mechanism: Takes effect by modifying dependency package configuration, without modifying DSH core code.
5. Startup verification: Automatically verifies after startup that the browse capability loads correctly.

Installation and Enablement

Use the official plugin management command to install:

dsh plugin --profile web add dsh-remote-picker

After installation, restart the dsh web service to make the configuration take effect.

Notes:
If the same disable+insert configuration has already been manually added in cordis.patch.yml (a common practice when troubleshooting remote access issues), remove that configuration first to avoid duplicate loading.

Typical Usage

This plugin only takes effect in the following remote access workflow:
1. Set up a proxy: Use tailscale serve or cloudflared to reverse-proxy HTTPS traffic to a local port.
2. Start the service: Run dsh web and specify the --trusted-host parameter to allow remote domain access.
3. Trigger selection: Access the service address from a phone or remote browser, then proceed to the “Settings -> Workspace -> Select Directory” step.

Verification Log:
After starting dsh web, the following message should appear in the logs to confirm that the plugin is active:

dsh-remote-picker: in-browser browse directory picker active

Applicable Scenarios and Notes

This plugin is only required when using DSH from a phone or remote browser via tailscale serve or cloudflared. If you only use http://127.0.0.1:3080 on the local machine, no installation is needed.

This plugin runs with the permissions of the current dsh process. It is recommended to review the source code and license (MIT) before installation.

Ecosystem Background

DeepSeek Harness (DSH) adopts an “everything is a plugin” architectural philosophy, aiming to extend functionality through plugins. This plugin is maintained by community developers and has no affiliation with official DeepSeek; it exists only as a technical supplementary solution.

For more details and source code, visit:
* Plugin Directory
* GitHub Repository