前言¶
在 DSH web 中执行任务时,下载进度可能分散在 URL 下载、shell 命令、SSH 传输和工作区文件增长里。开发者通常只能依赖终端日志、工具输出或手工查看目标文件,难以判断一个任务还剩多少、是否已经卡住。
DSH 通过插件扩展 web 能力,dsh-download-progress 就是这类 DSH web 插件。它把 URL 下载、agent shell/SSH 传输和工作区黑箱下载放到同一个右下角面板中,实时显示字节数、速度、百分比与预计剩余时间。
这是什么¶
dsh-download-progress 是一个 DSH web 插件,仓库地址是:
https://github.com/Fro2en12/dsh-download-progress
它主要解决三类问题:
1、从 URL 发起下载时,缺少集中的进度展示。
2、agent 通过 pwsh/bash 或 SSH 工具触发下载时,进度混在工具输出里。
3、工作区中出现无法明确解析目标的下载文件时,缺少一个兜底观察入口。
项目基于 MIT 协议开源。项目声明其为 AI 产物:功能设计、架构选型、代码编写、测试与文档均由 AI 在对话中迭代完成,人工仅提供需求与验收反馈。
核心功能¶
下面按任务来源介绍。
面板 URL 下载与模型工具¶
插件提供 download_url 和 download_status 两个模型工具。
download_url:让 agent 后台下载 URL,并显示百分比、速度、ETA。download_status:查询任务实时进度。
用户也可以在面板中直接输入 URL 发起下载。
shell 命令传输追踪¶
插件会解析 pwsh/bash 工具命令中的常见下载命令:
curl -o
Invoke-WebRequest -OutFile
wget -O
解析成功后,会提取目标路径与 URL,并在面板中显示进度。
对于无法解析目标文件的命令,例如 wsl、apt、pip、npm、git clone、docker pull 等,也会显示为安装/下载任务,至少展示已用时间。
SSH 传输追踪¶
插件会自动追踪 ssh_download 与 ssh_upload 传输进度,并保留向后兼容。
需要注意:DSH 0.1.1 官方包已不含 ssh 工具,ssh_download/ssh_upload 追踪仅在第三方/旧版工具存在时生效。
工作区黑箱监控¶
插件每 1.5s 扫描 workspaceRegistry 中全部工作区顶层,捕捉增长 ≥64 KB 的文件或新目录的黑箱下载。
面板交互¶
右下角胶囊按钮与面板可拖拽,并可一键复位。活动任务显示实时百分比、速度与已用时间。
安装与启用¶
方式一:插件市场¶
在 GUI 内打开插件市场,搜索:
dsh-download-progress
然后一键安装。
方式二:dsh plugin add¶
运行:
dsh plugin --profile web add https://github.com/Fro2en12/dsh-download-progress
方式三:手动挂载¶
先克隆仓库:
git clone https://github.com/Fro2en12/dsh-download-progress
然后在 profiles/web/cordis.patch.yml 的 plugins 后追加 insert 配置。
经过上面任一步骤后,重启 dsh web,右下角出现下载胶囊按钮即成功。
典型用法¶
手动下载¶
点击胶囊展开面板,粘贴 http(s) 链接,可选填保存路径。
保存路径可以是绝对路径,也可以是相对工作区根目录的路径。完成后回车或点「下载」。
自动追踪¶
无需额外配置。以下任务会自动出现在列表中:
- agent 的
ssh_download/ssh_upload pwsh/bash里的curl、Invoke-WebRequest、wget- 工作区中任何增长中的文件
取消与清理¶
- 面板发起的 URL 下载可在面板取消,也可由工具调用信号自动取消。
- SSH/shell 传输请中断对应工具调用。
- 可移除单条记录,也可清空全部已完成/失败记录。
环境与依赖¶
插件要求:
node >=20
并声明以下 peerDependencies:
@deepseek-ai/cordis ^4.0.1
@deepseek-ai/dsh-host-webserver ^0.1.1-rc.2
@deepseek-ai/dsh-tools ^0.1.1-rc.2
@deepseek-ai/schemastery ^3.18.0
配置经插件内嵌的 Schemastery Config 校验,非法值会在加载期响亮失败。
适用场景与注意¶
适合在 DSH web 中频繁执行 URL 下载、包管理器安装、SSH 传输,或需要观察工作区文件增长的开发者与智能体使用者。
使用前注意:
1、插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。
2、本项目为 AI 产物,开发过程中经真机验证,但边界情况无法穷尽,生产使用前请自行审阅与测试。
3、下载引擎依赖 curl;目标目录必须已存在。
4、无 Content-Length 的服务器(分块传输)只显示字节/速度,无百分比。
5、命令中的变量路径无法解析时由黑箱监控兜底,不提供百分比。
6、上传任务无法观测远端写入量,仅显示不定进度。
7、黑箱监控只扫描工作区顶层与新建目录,每个目录最多统计 500 个文件,嵌套在既有深层目录中的下载可能不被捕捉。
结尾¶
dsh-download-progress 的价值,是把 DSH web 中分散的下载状态集中到同一个可拖拽面板里,让 URL 下载、shell/SSH 传输和工作区文件增长都能被直接查看。
GitHub:
https://github.com/Fro2en12/dsh-download-progress
目录页:
https://www.skillhub.cn/plugins/Fro2en12/dsh-download-progress