Introduction¶
The DeepSeek Harness (DSH) Web GUI provides a session-management and file-delivery interface, but it has limitations in file access. Native file operations depend on a desktop environment, and the sidebar file tree is limited to the session workspace. You cannot browse the full filesystem of the host machine, nor conveniently download files or package archives. The dsh-file-download plugin fills this gap by extending the official sidebar and injecting download entry points.
Installation and Enablement¶
This plugin requires DSH 0.1.5-rc.1 or later, a Node 20+ environment, and a Web profile.
In the terminal, run the following command to link the plugin to the Web profile:
dsh plugin --profile web add /path/to/dsh-file-download
The install command links the plugin into the configuration and appends it to dsh.profile.bundles. After installation, restart the dsh web process so it can scan the client list at startup.
To uninstall, run:
dsh plugin --profile web remove dsh-file-download
Core Features¶
The plugin provides a complete file-management interface, including:
- Full-system browsing: Browse the entire filesystem, not just the session workspace. Supports breadcrumb navigation (
Projectjumps to the session workspace root,Rootjumps to the root directory/) and path-input navigation (supports Tab/arrow-key completion and Enter confirmation). - Download and archiving: Supports downloading a single file, a folder (generates a ZIP), or batch archiving of multiple selected files.
- UI extension: Provides multiple entry points through official sidebar registration (Files tab), download buttons on turn/delivery file cards, and hover download buttons in the sidebar file tree.
- Controlled upload: Provides file upload with overwrite confirmation and supports three permission modes to restrict upload scope.
- Server-side rendering: The browsing page uses server-side rendering, without client-side JavaScript, and supports resumable transfers via
Range/If-Range/ETag. Uploads are limited to 64 MiB.
Usage¶
After installing and restarting the service, open the right sidebar in the DSH Web GUI and select the Files tab to get started.
-
Navigate the filesystem
- Use the breadcrumb navigation at the top. Click Project to jump to the session workspace root, or click Root to jump to the root directory
/. - The pencil icon at the end of the breadcrumb bar opens an input box for path navigation. Entered paths are relative to the current directory unless they start with
/(absolute path) or~(host user home directory). Name completion is supported while typing (Tab/arrow keys).
- Use the breadcrumb navigation at the top. Click Project to jump to the session workspace root, or click Root to jump to the root directory
-
View and filter
- Files starting with
.are hidden by default. Check Show hidden to display all files. - Use the filter box at the top to filter entries in the current directory.
- Files starting with
-
File operations
- Click a folder to enter it, or click a file to open the official preview.
- Hover over a file tree row, or use the download button on a file card, to download a file or directory directly (streaming ZIP).
- Check file rows, and a Download selected (ZIP) button appears at the bottom; you can package the selected files and folders into one ZIP for download.
-
Upload files
- The sidebar file tree usually supports upload operations.
- During upload, if the target file already exists, the browser will prompt for overwrite.
Permissions and Limitations¶
Uploads are strictly limited by permission modes and file size.
- Permission modes: The plugin uses the session sandbox policy by default, but allows manual mode switching in the browser.
read-only: Rejects all uploads.workspace-write: Allows uploads only to the session workspace.danger-full-access: Allows uploads anywhere the account has write access.
- File size limit: The upload body size is limited to 64 MiB.
- Write safety: Text content is written atomically, and binary content is written via temporary-file renaming to ensure the backend correctly applies sandbox policies.
Conclusion¶
dsh-file-download integrates file-browser capabilities into the DSH Web GUI through official extension points, solving the problem of being unable to save files or browse the host filesystem during remote access. Developers can efficiently manage files through multiple entry points, such as the sidebar and turn cards.
- Plugin directory: SkillHub
- GitHub repository: KaguraSayuki/dsh-file-download