前言¶
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 。