dsh-dl-server:面向 DSH 的持久化下载队列

前言

在 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。

适用场景与注意

适合:需要在多轮对话、多会话之间延续下载任务;需要队列化、可暂停续传;希望智能体不必在单次工具调用里阻塞到文件写完的场景。

使用时建议留意:

  1. 会话所有权:别的会话只能看,不能改你的任务。
  2. download_cleanup:默认 allWithoutFiles 只删记录;scope="all" 会删除文件。
  3. 权限:插件在当前 DSH 进程权限下运行,写入路径与网络访问与 DSH 一致。安装第三方插件前,宜自行查看源码与 MIT 许可证。
  4. 生态:DSH 采用「一切皆插件」;SkillHub 等目录为社区站点,与 DeepSeek / 幻方无官方从属关系。

路线图(仓库 README):v1 已发布队列、持久化、七工具与 aria2 传输;v1.1 计划磁盘余量、静默失败、会话公平性与镜像等;v2/v3 涉及 shell 拦截、torrent、自研分段引擎与用户面板等,以仓库后续更新为准。

结尾

若你关心的是「下载别跟着会话一起死掉」,而不是只想拼单次带宽,dsh-dl-server 提供的是 DSH 侧的队列与持久化层。安装名为 dsh-dl-server,详情见 GitHub 仓库 与 社区目录页。

羽毛球分组比赛记分
小程序二维码

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

小夜