dsh-rayburst:把 DSH 的下載交給 Rayburst 引擎

前言

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,默認不需要任何配置:

  1. RPC 地址默認 http://127.0.0.1:29000/jsonrpc;
  2. 密鑰在調用時從 Rayburst 自己的 aria2.conf 裏讀(rpc-secret,同時讀 rpc-listen-port),所以在 Rayburst 設置裏換了密鑰或端口都不用重啓 DSH;
  3. 要覆蓋時設環境變量: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 中列出的落盤與等待字段。

先發起一個下載,指定落盤目錄和文件名:

  1. 調用 rayburst_download,傳入目標 URL,dir 指定目錄,out 指定文件名,waitSeconds 給等待預算。
  2. 下載在預算內完成時,返回值裏帶狀態、字節數、路徑和 sha256。
  3. 預算內沒下完時返回 status: active,記錄返回的 gid。

再續等和查詢:

  1. 拿 gid 調 rayburst_wait 繼續等,這一步可以反覆調。
  2. 需要看整體情況就調 rayburst_status:不帶參數是列出進行中/最近結束的任務,帶 gid 是查單個。

大文件的場景正是這條路徑:先按預算等一次,沒完就續等,不會丟任務。

自測

插件自帶一個自測腳本,在插件目錄裏執行:

node verify/verify-host.mjs

按 README,它做 10 項斷言:宿主工具契約(純對象定義、JSON Schema 參數、output.render)、參數守衛、引擎不可達時的報錯,以及(Rayburst 在跑時)一次真實下載 + sha256 校驗。改過插件後跑一遍能覆蓋大部分契約問題。

適用場景與注意

適合:在 DSH 裏批量拉模型權重、數據集、BT 種子這類大文件,需要斷點續傳和多線程,又不想讓模型自己讀字節的人。

幾點邊界按 README 寫清楚:

  1. 只負責「下載」,不接管 web_fetch 的網頁正文抓取,那是 HTTP 語義,不是文件搬運;
  2. 內網或需要登錄態的下載:Rayburst 引擎自己不帶 cookie,必要時用 web_fetch 或手工導出鏈接;
  3. 大文件在等待預算內沒下完時返回 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 。

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

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

小夜