DeepSeek Harness(DSH)的设计理念是“一切皆插件”。在通过 Web 工具或 Shell 调用模型下载大文件时,GUI 上往往无法看到进度,容易造成等待焦虑。dsh-download-progress 是一个为 DSH Web GUI 服务的插件,通过 download 工具实时计算下载百分比,并在 Web 右下角悬浮面板显示进度条、速度和文件大小。
功能¶
download工具实时计算下载百分比。- Web GUI 右下角悬浮面板显示进度条。
- 面板显示下载速度(B/s)、已下载/总大小、百分比。
- 暴露 GET /download-progress JSON 快照接口。
- 支持中英双语界面。
- 零构建,安装即用。
安装与启用¶
安装插件:
dsh plugin --profile web add dsh-download-progress
安装后需要重启 dsh web 以使新增插件生效。
典型用法¶
在对话中让模型调用 download 工具:
download({ url: "https://example.com/file.zip", dest: "file.zip" })
Web 右下角会实时显示类似以下内容:
下载进度 2 个进行中
file.zip ▓▓▓▓▓░░░░░ 62%
34.5 MB / 55.7 MB 8.2 MB/s
适用场景与注意¶
适用场景:
适用于需要通过 DSH 下载大文件的场景,特别是使用 Web GUI 时,需要实时监控下载进度、速度和剩余时间。
前置依赖:
- Node.js ≥ 18
- 目标 DSH 版本:0.1.0-rc.6
- 平台:Web GUI(dsh web);浏览器端依赖 shell.overlay slot
权限与安全:
- 网络权限:download 工具会向目标 URL 发起 HTTP(S) 请求并流式写入工作区文件。
- 文件权限:写入路径由调用方 dest 决定,仅写入工作区内的目标文件及其父目录。
- 隐私保护:不读取凭据、不上传任何数据、不做遥测。
- 浏览器端:仅轮询同源 /download-progress;不读取会话内容。
常见行为:
- 如果服务器未返回 Content-Length(chunked 响应),进度可能一直显示为 0%,此时会显示“下载中…”。
- 下载完成后,面板条目会停留约 1 分钟自动消失。
- 取消下载时会删除未完成的临时文件。
生态与维护¶
该插件属于 DSH 社区插件生态,与 DeepSeek 或幻方无官方从属关系。插件目录:dsh-download-progress。源码仓库:GitHub。许可证:MIT License。