右下角实时显示下载进度,支持断点续传与多任务并发
28.7/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add azhe411/dsh-download-progress该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · market
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 74 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 24 处,展示前 24 条)
- 读取本地文件lib/index.js:26
const entries = readdirSync(TASKS_DIR); - 读取本地文件lib/index.js:31
const text = readFileSync(join(TASKS_DIR, name), 'utf8'); - 读取本地文件lib/index.js:66
const obj = JSON.parse(readFileSync(join(TASKS_DIR, taskId + '.json'), 'utf8')); - 执行外部命令来自配置/变量lib/index.js:69
execFile(join('C:', 'Windows', 'explorer.exe'), ['/select,', p], { cwd: BASE, windowsHide: true }, () => {}); - 删除本地文件lib/index.js:87
unlinkSync(taskFile); - 发起网络请求lib/client.js:32
fetch('/api/dl-manager/tasks') - 发起网络请求lib/client.js:59
fetch('/api/dl-manager/open?taskId=' + encodeURIComponent(taskId)) - 发起网络请求lib/client.js:65
fetch('/api/dl-manager/delete?taskId=' + encodeURIComponent(taskId)) - 发起网络请求@local/dl-manager/lib/client.js:32
fetch('/api/dl-manager/tasks') - 发起网络请求@local/dl-manager/lib/client.js:59
fetch('/api/dl-manager/open?taskId=' + encodeURIComponent(taskId)) - 发起网络请求@local/dl-manager/lib/client.js:65
fetch('/api/dl-manager/delete?taskId=' + encodeURIComponent(taskId)) - 读取本地文件@local/dl-manager/lib/index.js:26
const entries = readdirSync(TASKS_DIR); - 读取本地文件@local/dl-manager/lib/index.js:31
const text = readFileSync(join(TASKS_DIR, name), 'utf8'); - 读取本地文件@local/dl-manager/lib/index.js:66
const obj = JSON.parse(readFileSync(join(TASKS_DIR, taskId + '.json'), 'utf8')); - 执行外部命令来自配置/变量@local/dl-manager/lib/index.js:69
execFile(join('C:', 'Windows', 'explorer.exe'), ['/select,', p], { cwd: BASE, windowsHide: true }, () => {}); - 删除本地文件@local/dl-manager/lib/index.js:87
unlinkSync(taskFile); - 写入本地文件download.cjs:26
fs.mkdirSync(STATUS_DIR, { recursive: true }); - 写入本地文件download.cjs:30
fs.writeFileSync(statusFile, JSON.stringify(obj)); - 读取本地文件download.cjs:38
if (!fs.existsSync(CANCEL_FILE)) return false - 读取本地文件download.cjs:39
const lines = fs.readFileSync(CANCEL_FILE, 'utf-8').split('\n').map(l => l.trim()) - 发起网络请求download.cjs:53
const req = mod.request(u, { method: 'HEAD', headers: { 'User-Agent': UA } }, (res) => { - 读取本地文件download.cjs:78
try { downloaded = fs.statSync(outPath).size; } catch (e) {} - 写入本地文件download.cjs:146
fs.mkdirSync(path.dirname(outPath), { recursive: true }); - 写入本地文件download.cjs:147
const ws = fs.createWriteStream(outPath);
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 实时显示下载进度
- 断点续传
- 多任务并发
DSH 下载管理器:右下角实时进度条,断点续传、多任务并发、镜像加速
README
由 DeepSeek 最新模型翻译生成dsh-download-progress
DeepSeek Harness (DSH) 的常驻下载管理器。右下角有个小面板,实时显示每个下载任务的进度:文件名、百分比、速度、剩余时间。支持多任务、历史记录、拖动和缩放。
DeepSeek Harness 的常驻下载管理器:悬浮面板显示每个下载的实时进度(文件名 / 百分比 / 速度 / 剩余时间),支持多任务、历史记录、拖动和缩放。
demo
功能
- 右下角常驻面板,没任务时显示「待命」,不会自己消失
- 每个下载任务一行:文件名、百分比、速度、剩余时间
- 多任务并发,每个任务独立进度条
- 历史记录:已完成/失败的任务留在列表里(带完成时间),最多 20 条
- 点「打开」按钮,在文件资源管理器里定位已完成/失败的文件
- 标题栏 ▾/▸ 按钮收起/展开任务列表,收起时只留一行
- 面板可以拖动(标题栏)和缩放(右下角手柄)
- 下载工具支持断点续传、HTTP 重定向跟随、GitHub 镜像加速
组成
| 文件 | 说明 |
| download.cjs | 下载工具(Node.js,每个任务写状态到 ~/.dsh/downloads/tasks/.json,完成后保留=历史) |
| plugin-definition.json | DSH 动态 Cordis 插件定义(常驻下载管理面板 UI) |
展开完整文档(README 剩余 1 节)
dsh-download-progress
DeepSeek Harness (DSH) 的常驻下载管理器。右下角有个小面板,实时显示每个下载任务的进度:文件名、百分比、速度、剩余时间。支持多任务、历史记录、拖动和缩放。
DeepSeek Harness 的常驻下载管理器:悬浮面板显示每个下载的实时进度(文件名 / 百分比 / 速度 / 剩余时间),支持多任务、历史记录、拖动和缩放。
demo
功能
- 右下角常驻面板,没任务时显示「待命」,不会自己消失
- 每个下载任务一行:文件名、百分比、速度、剩余时间
- 多任务并发,每个任务独立进度条
- 历史记录:已完成/失败的任务留在列表里(带完成时间),最多 20 条
- 点「打开」按钮,在文件资源管理器里定位已完成/失败的文件
- 标题栏 ▾/▸ 按钮收起/展开任务列表,收起时只留一行
- 面板可以拖动(标题栏)和缩放(右下角手柄)
- 下载工具支持断点续传、HTTP 重定向跟随、GitHub 镜像加速
组成
| 文件 | 说明 |
| download.cjs | 下载工具(Node.js,每个任务写状态到 ~/.dsh/downloads/tasks/.json,完成后保留=历史) |
| plugin-definition.json | DSH 动态 Cordis 插件定义(常驻下载管理面板 UI) |
| @local/dl-manager/ | 固化版插件包(v2):装进 ~/.dsh/profiles/web/node_modules/@local/,重启自动加载,不用每次 cordis_define |
安装
1. 下载工具
放到 DSH 脚本目录
cp download.cjs ~/.dsh/scripts/download.cjs
2. 进度条插件(两种方式任选其一)
方式 A:动态插件(临时,重启即失)
在 DSH 会话中通过动态插件加载(cordis_define / cordis_run),定义内容见 plugin-definition.json:
- Host 端:注册 dl-tasks RPC,读取 ~/.dsh/downloads/tasks/ 目录(v2 改为按任务文件读,支持多任务)
- Client 端:注册 shell.overlay 悬浮层,每秒 host.call('dl-tasks') 轮询刷新
如果进度条一直显示「待命」,可能是 fs.resolve('~/.dsh/...') 没展开 ~。把 Host 代码里的路径改成绝对路径(如 C:/Users//.dsh/downloads/tasks)。
方式 B:固化插件(推荐,重启自动加载)
1. 复制包到 profile 的 @local 目录
cp -r @local/dl-manager ~/.dsh/profiles/web/node_modules/@local/dl-manager
2. 在 profiles/web/cordis.patch.yml 末尾加(照 voice-core 的 insert 模式):
- insert:
- id: dl-manager
name: '@local/dl-manager'
3. 重启 dsh web,刷新浏览器,右下角出现「⬇ 下载」面板
固化版 host 半用 ctx.webServer.register 注册 /api/dl-manager/tasks 和 /api/dl-manager/open 两个 HTTP 端点,client 半用 fetch 轮询。不要用动态插件专属的 harness.handle(见踩坑记录)。
3. 多线程下载(可选,大文件加速)
aria2c 16 连接并发,进度同样写入 tasks/ 目录驱动面板
node ~/.dsh/scripts/aria2-dl.cjs [--mirror=前缀]
使用
基础下载(自动显示进度条)
node ~/.dsh/scripts/download.cjs
GitHub 大文件国内加速(镜像)
node ~/.dsh/scripts/download.cjs --mirror=https://gh-proxy.com/
大文件多线程下载(>50MB 推荐)
node ~/.dsh/scripts/aria2-dl.cjs --mirror=https://gh-proxy.com/
下载一开始,右下角自动弹出进度条;全部结束后回到「待命」状态。
国内下载加速
GitHub 大文件国内直连经常超时。推荐镜像(响应快,但偶发不稳定):
- https://gh-proxy.com/
- https://ghfast.top/
- https://ghproxy.net/
踩坑记录
- drain 恢复作用域:下载工具的 res.on('drain') 恢复必须在 res 回调作用域内注册,否则报 ReferenceError: res is not defined
- 动态 client 无 setInterval:DSH 动态客户端没有浏览器定时器全局,必须用 timer 服务的 ctx.interval,且插件需 inject: ['timer']
- 限速无效:pause/resume 节流对 Node 大缓冲无效,已移除限速功能
- 固化版不能用 harness.handle(v1 崩溃教训):动态插件跑在 vm 沙箱里,harness 是沙箱注入的全局。固化包(@local/ 常规 cordis 插件)作用域没有这个全局,把动态插件的 host 代码直接抄进固化包会抛 ReferenceError: harness is not defined,启动即崩 web。固化版 host 必须改用 ctx.webServer.register 注册 HTTP 端点(和 dsh-usage-stats 同模式),client 端用 fetch 替代 host.call
- aria2 RPC 必须带 Content-Length:http.request 不设这个头会走 chunked 传输,aria2 的 RPC 服务器拒绝,报 Parse error 500,进度永远 0%。加 'Content-Length': Buffer.byteLength(body) 解决
- aria2 RPC 模式不自动退出:下载完成后进程不退出,需要轮询 tellStopped 收尾写 done 状态,再 aria2.shutdown
许可证
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
azhe411/dsh-download-progress
右下角实时显示下载进度,支持断点续传与多任务并发
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,225未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,370已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13941 个插件含 PR 收录与…
★ 355已汉化DSH
71.8
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这是你的仓库?认领条目