前言¶
DSH 的智能体要拿到一个文件,常见做法是模型自己在进程里流式读字节:边读边想,大一点的文件就把上下文和推理配额吃掉了,慢,也容易超时中断。下面介绍 cat-Logan 维护的插件 dsh-rayburst。它不改变 DSH 的运行方式,只是把「把 URL 变成本地文件」这一步整个卸载出去,交给 Rayburst(aria2-next 内核)这个下载引擎,靠断点续传和多线程把字节搬完,再把结果(状态、字节数、路径、sha256)交回给智能体。
这是什么¶
dsh-rayburst 是 DeepSeek Harness 插件,维护者 cat-Logan,在社区目录里归在「联网工具」分类。它解决的问题很单一:让 DSH 侧的下载走外部下载引擎,而不是让模型啃字节。插件源码在 GitHub(cat-Logan/dsh-rayburst),协议 MIT。
核心功能¶
装好之后多出三个工具:
| 工具 | 作用 |
|---|---|
rayburst_download |
把 URL 交给 Rayburst 引擎,可按 dir / out / moveTo 落盘,等到完成(或到 waitSeconds 上限)后返回状态、字节数、路径和 sha256 |
rayburst_wait |
对已有 gid 继续等,可反复调用 |
rayburst_status |
列出进行中/最近结束的任务,或按 gid 查单个 |
三个工具的分工是:发起、续等、查询。断点续传和多线程来自 Rayburst 引擎本身,插件负责把请求翻译成引擎能理解的调用,再把结果收回来。
它怎么连上 Rayburst¶
按 README,默认不需要任何配置:
- RPC 地址默认
http://127.0.0.1:29000/jsonrpc; - 密钥在调用时从 Rayburst 自己的
aria2.conf里读(rpc-secret,同时读rpc-listen-port),所以在 Rayburst 设置里换了密钥或端口都不用重启 DSH; - 要覆盖时设环境变量:
DSH_RAYBURST_RPC、DSH_RAYBURST_SECRET、DSH_RAYBURST_CONF。
配置文件的搜索顺序(README 原文):
%LOCALAPPDATA%\dev.aninsomniacy.rayburst\engine\aria2.conf
%APPDATA%\dev.aninsomniacy.rayburst\engine\aria2.conf
~/.config/rayburst/aria2.conf
Rayburst 没开时工具会明确说「连不上 Rayburst(…)」而不是静默失败。这一点对调试重要:连不上就直接报错,不用去猜下载为什么没动静。
安装与启用¶
安装命令来自 README 原文,本地目录方式:
dsh plugin --profile web add <本目录>
也可以在插件管理里以本地目录安装,装完重启 DSH。
卸载:
dsh plugin --profile web remove dsh-rayburst
按 README,本插件只注册工具,不写会话、不改 DSH 本体。
典型用法¶
插件带来的核心流程是:发起下载 → 在等待预算内返回 → 没下完就续等。下面是依赖的工具调用,参数来自 README 中列出的落盘与等待字段。
先发起一个下载,指定落盘目录和文件名:
- 调用
rayburst_download,传入目标 URL,dir指定目录,out指定文件名,waitSeconds给等待预算。 - 下载在预算内完成时,返回值里带状态、字节数、路径和 sha256。
- 预算内没下完时返回
status: active,记录返回的 gid。
再续等和查询:
- 拿 gid 调
rayburst_wait继续等,这一步可以反复调。 - 需要看整体情况就调
rayburst_status:不带参数是列出进行中/最近结束的任务,带 gid 是查单个。
大文件的场景正是这条路径:先按预算等一次,没完就续等,不会丢任务。
自测¶
插件自带一个自测脚本,在插件目录里执行:
node verify/verify-host.mjs
按 README,它做 10 项断言:宿主工具契约(纯对象定义、JSON Schema 参数、output.render)、参数守卫、引擎不可达时的报错,以及(Rayburst 在跑时)一次真实下载 + sha256 校验。改过插件后跑一遍能覆盖大部分契约问题。
适用场景与注意¶
适合:在 DSH 里批量拉模型权重、数据集、BT 种子这类大文件,需要断点续传和多线程,又不想让模型自己读字节的人。
几点边界按 README 写清楚:
- 只负责「下载」,不接管
web_fetch的网页正文抓取,那是 HTTP 语义,不是文件搬运; - 内网或需要登录态的下载:Rayburst 引擎自己不带 cookie,必要时用
web_fetch或手工导出链接; - 大文件在等待预算内没下完时返回
status: active,再调rayburst_wait,不会丢任务。
另外注意,插件以当前 DSH 进程的权限运行,能力范围内能读到的目录它都能写。装之前建议先看一下源码和 MIT 协议,确认自己接受这份信任边界。
结尾¶
dsh-rayburst 的价值在于把下载这件事彻底从 DSH 的执行路径里拿了出去,靠 Rayburst 的断点续传和多线程,换来可预期的等待和可校验的结果。目录页在 https://www.skillhub.cn/plugins/cat-Logan/dsh-rayburst ,源码在 https://github.com/cat-Logan/dsh-rayburst 。