dsh-download-progress:在 DSH web 中集中查看下载与传输进度

前言

在 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_urldownload_status 两个模型工具。

  • download_url:让 agent 后台下载 URL,并显示百分比、速度、ETA。
  • download_status:查询任务实时进度。

用户也可以在面板中直接输入 URL 发起下载。

shell 命令传输追踪

插件会解析 pwsh/bash 工具命令中的常见下载命令:

curl -o
Invoke-WebRequest -OutFile
wget -O

解析成功后,会提取目标路径与 URL,并在面板中显示进度。

对于无法解析目标文件的命令,例如 wslaptpipnpmgit clonedocker pull 等,也会显示为安装/下载任务,至少展示已用时间。

SSH 传输追踪

插件会自动追踪 ssh_downloadssh_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.ymlplugins 后追加 insert 配置。

经过上面任一步骤后,重启 dsh web,右下角出现下载胶囊按钮即成功。

典型用法

手动下载

点击胶囊展开面板,粘贴 http(s) 链接,可选填保存路径。

保存路径可以是绝对路径,也可以是相对工作区根目录的路径。完成后回车或点「下载」。

自动追踪

无需额外配置。以下任务会自动出现在列表中:

  • agent 的 ssh_download/ssh_upload
  • pwsh/bash 里的 curlInvoke-WebRequestwget
  • 工作区中任何增长中的文件

取消与清理

  • 面板发起的 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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜