前言¶
在 DeepSeek Harness(DSH)里做联网或本地文件处理时,经常需要把 HTTP/HTTPS 直链拉到本机:模型产物、公开数据集、镜像站资源等。若依赖 aria2、IDM 或浏览器扩展,Host 与 Agent 之间还要额外切换工具;小文件若在对话里反复刷进度,也会干扰排查主任务。
下面介绍社区插件 dsh-multithread-downloader(维护者 NONON01,分类:联网工具)。它在 Host 端直接写盘,提供侧边栏面板、对话区进度条,并向 Agent 暴露 downloader 工具,适合在 DSH 会话内完成可控的 HTTP/HTTPS 下载。
这是什么¶
dsh-multithread-downloader 是面向 DSH 的多线程 HTTP/HTTPS 下载插件。npm 包名与插件标识均为 dsh-multithread-downloader;当前资料中的版本为 1.0.2,许可证 MIT。
插件只做 HTTP/HTTPS 直链:分片并发、断点续传、自定义请求头、镜像回退、SHA-256 校验、全局限速与任务队列等能力都在 Host 内完成,不引入外部下载器。FTP/SFTP、BT、系统代理、HLS/DASH 等明确不在目标范围内(见文末「限制」)。
核心功能¶
Host 与界面¶
- HTTP/HTTPS 分片并发;服务器不支持
Range时自动回退单连接;中途忽略 Range 时会降级为单连接重下。 - 暂停、续传、取消、移除;续传前比对大小、ETag、Last-Modified,远端变化则从头下载。
- 侧边栏下载面板(含大文件进度曲线)、对话输入框上方的多任务分段进度条、侧边栏未完成计数。
- 未完成任务持久化到 profile 目录;插件重载或 DSH 重启后以暂停状态恢复,已完成文件保留。
请求与可靠性¶
- 自定义请求头(Cookie、Referer、Authorization);401/403 有明确提示。
- 分片指数退避重试、请求超时、镜像回退、批量 URL。
- 可选 SHA-256 校验;下载前检查磁盘空间。
策略与 Agent¶
- 全局限速(KB/s)与同时下载任务数(超额排队)。
- 静默下载阈值:小于阈值的任务可不在界面显示(可关闭)。
- 单线程阈值:小于阈值的任务可不分片(可开关)。
- Agent 自主模式默认开启:阈值相关设置在 UI 中屏蔽,但仍约束 Agent 发起的任务;用户手动下载不受该屏蔽影响。
- Agent 可通过
downloader工具发起下载;小文件可静默完成,减少刷屏。
默认下载目录¶
配置项 directory 优先级最高。未配置时:
- Windows:读取 Known Folder「Downloads」(含 OneDrive 等重定向);失败时回退
%USERPROFILE%\Downloads。 - Linux:读取
~/.config/user-dirs.dirs的XDG_DOWNLOAD_DIR,回退~/Downloads。 - macOS:
~/Downloads。
Windows 上面板选目录时,优先通过随包原生助手 bin/picker.exe 调用资源管理器同款 IFileOpenDialog;Electron 宿主优先用 Electron 对话框;其他环境回退插件内目录浏览器。macOS/Linux 使用系统命令,失败同样回退插件内浏览器。
安装与启用¶
最低环境:DSH >=0.2.1-rc.2(资料注明已在 0.2.1-rc.5 上核对)、Node >=20。
在 DSH 所在环境安装 npm 包:
npm i dsh-multithread-downloader
或在 DSH 插件管理里安装包名 dsh-multithread-downloader(本地目录或 registry 包作为 bundle)。安装后重启或热重载使插件生效。
社区目录页(与 DeepSeek / 幻方无官方从属关系):https://www.skillhub.cn/plugins/NONON01/dsh-multithread-downloader
源码与完整说明:https://github.com/NONON01/dsh-multithread-downloader
配置¶
在插件 bundle 的 cordis.patch.yml 中调整行为(以下为 README 中的字段与含义):
threads: 4 # 默认分片数 1..16
maxConcurrent: 3 # 同时下载任务数
largeFileMb: 16 # 静默下载阈值(MB),仅作为首次默认值
silentEnabled: true # 是否启用静默阈值
minThreadMb: 4 # 单连接阈值(MB)
minThreadEnabled: true # 是否启用单连接阈值
agentAutonomy: true # 默认开启;阈值设置屏蔽但继续约束 Agent 任务
announceToAgent: true # 是否注入系统提示公告
rateLimitKb: 0 # 全局限速 KB/s,0 不限
设置与未完成任务一并持久化到 profile 目录。
典型用法¶
- 面板手动下载:安装并启用后,在侧边栏打开下载器面板,选择保存目录(Windows 可走原生文件夹对话框),填入 HTTP/HTTPS 直链,必要时在任务中配置请求头,再开始、暂停或续传。
- Agent 调用:在对话中让 Agent 使用
downloader工具下载指定 URL;受agentAutonomy、静默阈值、单线程阈值与maxConcurrent等配置约束。需要登录或防盗链的资源时,须在headers中显式提供 Cookie / Referer / Authorization,插件不会读取浏览器会话。 - 批量与镜像:按 README 能力说明,支持批量 URL 与镜像回退;大文件可在面板查看进度曲线,多任务时在对话区上方查看分段进度。
开发与自测(维护者文档):
npm test
npm pack --dry-run
适用场景与注意¶
适合:在 DSH Host 内下载公开或已授权直链;Agent 工作流中拉取模型权重、脚本、压缩包等小到大文件;需要断点续传、校验和限速的本地落盘场景。
务必注意:
- 插件以当前 DSH 进程权限运行,安装前请自行查看源码与 MIT 许可证,并评估本机安全策略。
- 只支持 HTTP/HTTPS 直链,不实现 FTP/SFTP、BT、浏览器接管、代理配置、HLS/DASH。
- 自定义请求头会随未完成任务明文保存在 profile 目录;敏感 Cookie 需注意本机权限。跨域重定向时
Authorization可能被 fetch 剥离,其他头可能被转发,敏感头只应用于可信地址。 - SHA-256 为可选;未提供时仅校验最终字节数。
结尾¶
dsh-multithread-downloader 把多线程 HTTP/HTTPS 下载收进 DSH 插件形态:Host 写盘、面板与对话进度、Agent 原生 downloader 工具,以及可调的并发、静默与限速策略。若你的 workflow 以 DSH 为中心、且资源多为直链,可先按上文命令安装,再在 cordis.patch.yml 里对齐分片数与并发,然后结合面板或 Agent 试一轮小文件与大文件任务。
- 社区目录:https://www.skillhub.cn/plugins/NONON01/dsh-multithread-downloader
- GitHub:https://github.com/NONON01/dsh-multithread-downloader
- npm:https://www.npmjs.com/package/dsh-multithread-downloader