Introduction¶
DSH Web’s “Create Workspace” requires directory selection to be performed in the browser. When accessing DSH Web via nginx reverse proxy, public domain names, or LAN IP, this selection action may not function properly in the remote browser.
The purpose of dsh-remote-dirpicker is to force the use of the browser’s internal directory browser (browse) interaction, ensuring consistent directory selection behavior for both remote and local access.
The following sections introduce its positioning, core features, installation methods, typical usage, and notes on versions, permissions, and uninstallation.
What is this?¶
dsh-remote-dirpicker is a DSH plugin licensed under the MIT license, used for directory selection in DSH Web’s “Create Workspace”.
It adjusts the DSH plugin composition via a composition-layer patch without modifying the dsh core code. Specifically, it disables directory-picker-auto and mounts the browse host capability along with the browser interface, making the directory selection appear as the browser’s browse method.
Repository Address:
https://github.com/gfds2005/dsh-remote-dir-picker
Core Features¶
Verified capabilities of this plugin include:
- Fixed use of the browser’s internal directory browser (
browse) interaction, ensuring consistent behavior locally and remotely. - When accessing remotely, clicking “Create Workspace” triggers the browser’s internal directory browser.
- Supports browsing the host file system, including breadcrumb navigation and entering levels sequentially.
- Supports jumping by entering absolute paths.
- Supports editing paths.
- Supports showing/hiding hidden files.
- Supports immediately entering a newly created folder.
- Local access also uses the browser’s internal directory browser, eliminating native dialog popups.
- Provides directory listings and folder creation via the
host.listDirectory/host.createDirectoryRPC. - The host side checks at startup that the
directoryPickercapability isbrowseand prints confirmation messages.
Installation and Enabling¶
Before installation, confirm that the target DSH environment can run the dsh command. The examples below use the web profile.
Installing from npm¶
dsh plugin --profile web add dsh-remote-dirpicker
Installing from source code¶
dsh plugin --profile web add /absolute/path/dsh-remote-dirpicker
Post-installation check¶
After installation, a line for dsh-remote-dirpicker is appended to dsh.profile.bundles.
Bundle composition changes are read at startup, so dsh web must be restarted after installation.
Typical Usage¶
After the above installation and restart, usage can proceed as follows:
- Open DSH Web and enter workspace selection.
- Click “Create Workspace”.
- Browse directories, enter absolute paths, edit paths, or create folders within the browser’s internal directory browser.
- Click “Open” to create the workspace.
Verification¶
After installing and restarting dsh web, check the following two items:
- boot manifest contains:
@deepseek-ai/dsh-client-ui-directory-picker-browse
- browse client bundle
client.jsis accessible and returns200.
Uninstallation¶
If you need to restore the original behavior, execute:
dsh plugin --profile web remove dsh-remote-dirpicker
Restart dsh web after uninstallation to restore dsh’s default directory-picker-auto behavior.
Applicable Scenarios and Notes¶
Applicable Scenarios¶
Suitable for scenarios where DSH Web is accessed via nginx reverse proxy, public domain names, or LAN IPs.
Target platform is the DSH Web host (macOS / Linux / Windows), with cross-platform directory browsing.
Version Information¶
Verified version information in the available materials is as follows:
versioninpackage.jsonis:
"version": "0.1.1"
- README version log:
0.2.0is deprecated and reverted to0.1.0; it is recommended to always use version0.1.0or a higher stable version.
Dependency Declaration¶
peerDependencies declaration in package.json is as follows:
{
"peerDependencies": {
"@deepseek-ai/dsh-client-locale": "^0.1.0-rc.6",
"@deepseek-ai/dsh-client-runtime": "^0.1.0-rc.6",
"@deepseek-ai/dsh-client-ui-slots": "^0.1.0-rc.6",
"@deepseek-ai/dsh-client-ui-workspace": "^0.1.0-rc.6",
"@deepseek-ai/dsh-host-directory-picker-browse": "^0.1.0-rc.6",
"@deepseek-ai/cordis": "^4.0.1"
}
}
Permissions and Security¶
The browse capability is exposed only via dsh’s own RPC channel, adhering to existing dsh access control without introducing additional open ports.
Since directory browsing accesses the host file system, the plugin runs with the current dsh process permissions. You should check the source code and license before installing.
Conclusion¶
The value of dsh-remote-dirpicker lies in fixing the “Create Workspace” directory selection in DSH Web to the browser, ensuring consistent behavior for remote and local access while maintaining a composition-layer approach without modifying dsh core code.
GitHub:
https://github.com/gfds2005/dsh-remote-dir-picker