前言¶
在 DeepSeek Harness(DSH)裏做聯網或本地文件處理時,經常需要把 HTTP/HTTPS 直鏈拉到本機:模型產物、公開數據集、鏡像站資源等。若依賴 aria2、IDM 或瀏覽器擴展,Host 與 Agent 之間還要額外切換工具;小文件若在對話裏反覆刷進度,也會干擾排查主任務。
下面介紹社區插件 dsh-multithread-downloader(維護者 NONON01,分類:聯網工具)。它在 Host 端直接寫盤,提供側邊欄面板、對話區進度條,並向 Agent 暴露 downloader 工具,適合在 DSH 會話內完成可控的 HTTP/HTTPS 下載。
這是什麼¶
dsh-multithread-downloader 是面向 DSH 的多線程 HTTP/HTTPS 下載插件。npm 包名與插件標識均爲 dsh-multithread-downloader;當前資料中的版本爲 1.0.2,許可證 MIT。
插件只做 HTTP/HTTPS 直鏈:分片併發、斷點續傳、自定義請求頭、鏡像回退、SHA-256 校驗、全侷限速與任務隊列等能力都在 Host 內完成,不引入外部下載器。FTP/SFTP、BT、系統代理、HLS/DASH 等明確不在目標範圍內(見文末「限制」)。
核心功能¶
Host 與界面¶
- HTTP/HTTPS 分片併發;服務器不支持
Range時自動回退單連接;中途忽略 Range 時會降級爲單連接重下。 - 暫停、續傳、取消、移除;續傳前比對大小、ETag、Last-Modified,遠端變化則從頭下載。
- 側邊欄下載面板(含大文件進度曲線)、對話輸入框上方的多任務分段進度條、側邊欄未完成計數。
- 未完成任務持久化到 profile 目錄;插件重載或 DSH 重啓後以暫停狀態恢復,已完成文件保留。
請求與可靠性¶
- 自定義請求頭(Cookie、Referer、Authorization);401/403 有明確提示。
- 分片指數退避重試、請求超時、鏡像回退、批量 URL。
- 可選 SHA-256 校驗;下載前檢查磁盤空間。
策略與 Agent¶
- 全侷限速(KB/s)與同時下載任務數(超額排隊)。
- 靜默下載閾值:小於閾值的任務可不在界面顯示(可關閉)。
- 單線程閾值:小於閾值的任務可不分片(可開關)。
- Agent 自主模式默認開啓:閾值相關設置在 UI 中屏蔽,但仍約束 Agent 發起的任務;用戶手動下載不受該屏蔽影響。
- Agent 可通過
downloader工具發起下載;小文件可靜默完成,減少刷屏。
默認下載目錄¶
配置項 directory 優先級最高。未配置時:
- Windows:讀取 Known Folder「Downloads」(含 OneDrive 等重定向);失敗時回退
%USERPROFILE%\Downloads。 - Linux:讀取
~/.config/user-dirs.dirs的XDG_DOWNLOAD_DIR,回退~/Downloads。 - macOS:
~/Downloads。
Windows 上面板選目錄時,優先通過隨包原生助手 bin/picker.exe 調用資源管理器同款 IFileOpenDialog;Electron 宿主優先用 Electron 對話框;其他環境回退插件內目錄瀏覽器。macOS/Linux 使用系統命令,失敗同樣回退插件內瀏覽器。
安裝與啓用¶
最低環境:DSH >=0.2.1-rc.2(資料註明已在 0.2.1-rc.5 上覈對)、Node >=20。
在 DSH 所在環境安裝 npm 包:
npm i dsh-multithread-downloader
或在 DSH 插件管理裏安裝包名 dsh-multithread-downloader(本地目錄或 registry 包作爲 bundle)。安裝後重啓或熱重載使插件生效。
社區目錄頁(與 DeepSeek / 幻方無官方從屬關係):https://www.skillhub.cn/plugins/NONON01/dsh-multithread-downloader
源碼與完整說明:https://github.com/NONON01/dsh-multithread-downloader
配置¶
在插件 bundle 的 cordis.patch.yml 中調整行爲(以下爲 README 中的字段與含義):
threads: 4 # 默認分片數 1..16
maxConcurrent: 3 # 同時下載任務數
largeFileMb: 16 # 靜默下載閾值(MB),僅作爲首次默認值
silentEnabled: true # 是否啓用靜默閾值
minThreadMb: 4 # 單連接閾值(MB)
minThreadEnabled: true # 是否啓用單連接閾值
agentAutonomy: true # 默認開啓;閾值設置屏蔽但繼續約束 Agent 任務
announceToAgent: true # 是否注入系統提示公告
rateLimitKb: 0 # 全侷限速 KB/s,0 不限
設置與未完成任務一併持久化到 profile 目錄。
典型用法¶
- 面板手動下載:安裝並啓用後,在側邊欄打開下載器面板,選擇保存目錄(Windows 可走原生文件夾對話框),填入 HTTP/HTTPS 直鏈,必要時在任務中配置請求頭,再開始、暫停或續傳。
- Agent 調用:在對話中讓 Agent 使用
downloader工具下載指定 URL;受agentAutonomy、靜默閾值、單線程閾值與maxConcurrent等配置約束。需要登錄或防盜鏈的資源時,須在headers中顯式提供 Cookie / Referer / Authorization,插件不會讀取瀏覽器會話。 - 批量與鏡像:按 README 能力說明,支持批量 URL 與鏡像回退;大文件可在面板查看進度曲線,多任務時在對話區上方查看分段進度。
開發與自測(維護者文檔):
npm test
npm pack --dry-run
適用場景與注意¶
適合:在 DSH Host 內下載公開或已授權直鏈;Agent 工作流中拉取模型權重、腳本、壓縮包等小到大文件;需要斷點續傳、校驗和限速的本地落盤場景。
務必注意:
- 插件以當前 DSH 進程權限運行,安裝前請自行查看源碼與 MIT 許可證,並評估本機安全策略。
- 只支持 HTTP/HTTPS 直鏈,不實現 FTP/SFTP、BT、瀏覽器接管、代理配置、HLS/DASH。
- 自定義請求頭會隨未完成任務明文保存在 profile 目錄;敏感 Cookie 需注意本機權限。跨域重定向時
Authorization可能被 fetch 剝離,其他頭可能被轉發,敏感頭只應用於可信地址。 - SHA-256 爲可選;未提供時僅校驗最終字節數。
結尾¶
dsh-multithread-downloader 把多線程 HTTP/HTTPS 下載收進 DSH 插件形態:Host 寫盤、面板與對話進度、Agent 原生 downloader 工具,以及可調的併發、靜默與限速策略。若你的 workflow 以 DSH 爲中心、且資源多爲直鏈,可先按上文命令安裝,再在 cordis.patch.yml 裏對齊分片數與併發,然後結合面板或 Agent 試一輪小文件與大文件任務。
- 社區目錄:https://www.skillhub.cn/plugins/NONON01/dsh-multithread-downloader
- GitHub:https://github.com/NONON01/dsh-multithread-downloader
- npm:https://www.npmjs.com/package/dsh-multithread-downloader