The design philosophy of DeepSeek Harness (DSH) is “everything is a plugin.” When using Web tools or Shell to invoke a model for downloading large files, the GUI often cannot show progress, which may cause wait anxiety. dsh-download-progress is a plugin for the DSH Web GUI service. It calculates download percentage in real time through the download tool and displays a progress bar, speed, and file size in a floating panel at the bottom-right corner of the Web UI.

Features

  • The download tool calculates download percentage in real time.
  • A floating panel at the bottom-right corner of the Web GUI displays the progress bar.
  • The panel shows download speed (B/s), downloaded/total size, and percentage.
  • Exposes a GET /download-progress JSON snapshot endpoint.
  • Supports Chinese and English interfaces.
  • Zero build, ready to use after installation.

Installation and Enablement

Install the plugin:

dsh plugin --profile web add dsh-download-progress

After installation, you need to restart dsh web for the newly added plugin to take effect.

Typical Usage

In the chat, ask the model to call the download tool:

download({ url: "https://example.com/file.zip", dest: "file.zip" })

The bottom-right corner of the Web UI will display real-time content similar to the following:

下载进度                         2 个进行中
file.zip                         ▓▓▓▓▓░░░░░ 62%
                                 34.5 MB / 55.7 MB   8.2 MB/s

Applicable Scenarios and Notes

Applicable Scenarios:
Suitable for scenarios where you need to download large files through DSH, especially when using the Web GUI and needing to monitor download progress, speed, and remaining time in real time.

Prerequisites:
- Node.js ≥ 18
- Target DSH version: 0.1.0-rc.6
- Platform: Web GUI (dsh web); the browser side depends on the shell.overlay slot

Permissions and Security:
- Network permissions: The download tool sends HTTP(S) requests to the target URL and streams data to workspace files.
- File permissions: The write path is determined by the caller’s dest and only writes to the target file and its parent directory within the workspace.
- Privacy protection: It does not read credentials, does not upload any data, and does not perform telemetry.
- Browser side: It only polls the same-origin /download-progress; it does not read session content.

Common Behavior:
- If the server does not return Content-Length (chunked response), progress may remain displayed as 0%; at that time, “Downloading…” is shown.
- After download completion, the panel entry remains for about 1 minute and then disappears automatically.
- When a download is canceled, the incomplete temporary file is deleted.

Ecosystem and Maintenance

This plugin belongs to the DSH community plugin ecosystem and has no official affiliation with DeepSeek or High-Flyer. Plugin directory: dsh-download-progress. Source repository: GitHub. License: MIT License.