前言¶
在 DeepSeek Harness(DSH)里让智能体下载文件,常见做法是把下载写成一个工具函数:调用后阻塞到文件落地。这样能把单次传输做快,但会话或回合结束时任务容易跟着消失;没有队列、暂停与续传;进程重启后状态也留不住。
DLS(DSH Download Server,dsh-dl-server)把下载当作 DSH 内的队列层,而不是替代底层传输。任务挂在 DSH 上,跨会话可见;入队后立即返回,由智能体再查状态或等待完成。下面介绍它解决什么问题、提供哪些工具,以及如何安装与使用。
这是什么¶
- 定位:面向 DeepSeek Harness 的全局、会话感知、持久化下载队列(见仓库
package.json中的 description)。 - 维护者:Jestions-dev(GitHub 仓库 jestions-dev/dsh-download-server)。
- 分类:工作流类插件;社区目录页:skillhub.cn 插件页。
- 当前版本:
0.1.0(MIT 许可证)。
README 用一句话概括设计意图:Downloads should not live inside a session. 即作业活在 DSH 里,而不是绑在某次会话里。
核心功能¶
队列与持久化¶
- 入队即返回 job id,不阻塞智能体回合。
- 在一台机器上,任意会话都能查看所有任务的进度与目标路径;只有发起该任务的会话可以暂停、恢复或取消。
- 检查点写在 DSH storage,不依赖在用户目录里散落锁文件,也不依赖
TMPDIR或当前工作目录。
七个工具¶
| 工具 | 作用 |
|---|---|
download_enqueue |
入队,立即返回 job id |
download_status |
查看队列或单个任务(如 J#1042) |
download_wait |
阻塞到任务进入终态,可设超时 |
download_pause |
暂停,保留已写入磁盘的字节 |
download_resume |
从最近检查点继续 |
download_cancel |
取消,可选是否删除部分文件 |
download_cleanup |
清理记录;默认范围不删已下载文件 |
传输层¶
- 可选 aria2:16 路分段下载;未安装时退化为 Node 单流,功能不减,速度可能下降。
- README 在同机同文件场景下给出对比数据(如 TUNA 镜像下 DLS 约 61.08 MB/s;HuggingFace 单流 fallback 约 1.00 MB/s,DLS 约 6.96 MB/s)。差异主要来自对按连接限速主机做分段。
安装与启用¶
环境要求:DSH 0.2.1-rc.5 或更新;dsh 需在 PATH 上(桌面版自带 CLI 路径见 README)。
图形界面(推荐)¶
在 DSH 中依次打开:
Settings → Plugins → Install a third-party plugin → Add plugin
输入插件名 dsh-dl-server,确认后重启 DSH 一次。
命令行¶
dsh plugin add dsh-dl-server
aria2 为可选项:需要多连接分段时自行安装;不装也能用单流。
典型用法¶
README 给出的对话式示例:
You: download these two PDFs into D:\Papers and tell me when they're done
智能体可对两个 URL 各调用一次 download_enqueue,得到例如 J#10、J#11,再调用 download_wait 等待完成。因为入队立即返回,同一回合里可以先发起多个下载,再统一等待。
查看进度可用 download_status;需要中途控制时用 download_pause / download_resume / download_cancel。
适用场景与注意¶
适合:需要在多轮对话、多会话之间延续下载任务;需要队列化、可暂停续传;希望智能体不必在单次工具调用里阻塞到文件写完的场景。
使用时建议留意:
- 会话所有权:别的会话只能看,不能改你的任务。
download_cleanup:默认allWithoutFiles只删记录;scope="all"会删除文件。- 权限:插件在当前 DSH 进程权限下运行,写入路径与网络访问与 DSH 一致。安装第三方插件前,宜自行查看源码与 MIT 许可证。
- 生态:DSH 采用「一切皆插件」;SkillHub 等目录为社区站点,与 DeepSeek / 幻方无官方从属关系。
路线图(仓库 README):v1 已发布队列、持久化、七工具与 aria2 传输;v1.1 计划磁盘余量、静默失败、会话公平性与镜像等;v2/v3 涉及 shell 拦截、torrent、自研分段引擎与用户面板等,以仓库后续更新为准。
结尾¶
若你关心的是「下载别跟着会话一起死掉」,而不是只想拼单次带宽,dsh-dl-server 提供的是 DSH 侧的队列与持久化层。安装名为 dsh-dl-server,详情见 GitHub 仓库 与 社区目录页。