前言¶
在 DeepSeek Harness(DSH)裏,模型常會接到「把某個 URL 下的文件保存到本地」的請求。若只在對話裏給出鏈接,用戶還要自己複製到下載工具;若在插件裏自己寫 HTTP 下載,又很難複用本機已有的隊列、限速和 BT/磁力能力。下面介紹的 dsh-motrix-download(維護者 Siselea,GitHub:Siselea/dsh-motrix-download)走另一條路:優先把任務交給 Windows 上的 Motrix(內置 aria2),任務會出現在 Motrix 界面裏;Motrix 不可用且鏈接是 http/https 時,再回退爲插件內置的直連下載,避免請求直接失敗。
這是什麼¶
DeepSeek Harness 的 Host 插件(分類:模型推理)。簡介與倉庫一致:在模型發起下載時,將請求路由到本機 Motrix(aria2)應用,並內置 http/https 直連回退。當前版本 0.1.0,許可證 MIT,運行時僅依賴 Node 內置模塊(Node ≥ 20),無需 npm install。
核心功能¶
- 優先 Motrix:
download默認把 http/https/ftp 等 URL、磁力鏈接、本地.torrent交給 Motrix;任務可在 Motrix 中暫停、繼續、刪除,並參與其隊列與限速。 - 自動回退:Motrix 未運行或橋接不可用時,http/https 自動改用內置直連;非 http/https(如磁力)在 Motrix 不可用時返回明確錯誤,不會僞造回退。
- 自動發現:從
%APPDATA%\Motrix讀取默認下載目錄、橋接端口(16802–16806 中實際綁定端口)與localToken;每次調用前重讀,token 輪換無需改配置。 - 自動啓動:橋接不可達時可自動拉起
Motrix.exe(最多等待約 25 秒)再提交任務。 - 目的地必填:
save_dir爲必填;用戶未說明保存位置時,模型應先詢問再下載(插件還註冊全局提示詞片段motrix-download,order 5900,強化上述約定)。
三個工具:download(提交下載)、download_status(查詢或等待完成)、download_control(pause / resume / cancel / purge)。
環境要求¶
- Windows(通過
%APPDATA%\Motrix發現 Motrix;README 註明 macOS / Linux 未驗證)。 - Motrix 2.x,且設置中「瀏覽器橋接」(
app.browserBridgeEnabled)保持開啓(默認開啓);關閉時只能對 http/https 使用直連回退。 - DeepSeek Harness,通過
plugin_manager以 bundle 方式安裝。
安裝與啓用¶
插件尚未發佈到 npm。可從 Releases 下載 dsh-motrix-download-0.1.0.tgz 並解壓:
tar -xzf dsh-motrix-download-0.1.0.tgz
在 Harness 中安裝到當前 profile 的 bundle(將 <abs> 換爲解壓目錄的絕對路徑):
plugin_manager action=install_bundle target=<abs>/dsh-motrix-download
安裝後插件出現在 Plugin Manager(標題/描述來自 locale/en.json 與 locale/zh.json),三個工具立即生效。若以 link: 方式安裝本地包,修改源碼後需在 Plugin Manager 中關閉再開啓插件(或重啓 Harness)以重載模塊。
可選環境變量:自動發現 Motrix 失敗時,可設置 DSH_MOTRIX_EXE 指定 Motrix.exe 路徑。
典型用法¶
提交下載時務必帶上 save_dir:
// 下載網頁圖片到 D 盤(save_dir 必填)
download({ url: "https://www.example.com/logo.png", save_dir: "D:\\", filename: "logo.png", wait_seconds: 60 })
// 磁力鏈接(只能由 Motrix 下載)
download({ url: "magnet:?xt=urn:btih:...", save_dir: "D:\\Downloads" })
// 查詢進度;wait_seconds > 0 時等待完成並返回 finalPath
download_status({ task_id: "01a18d9a-...", wait_seconds: 120 })
// 暫停 / 繼續 / 取消(保留文件)/ 刪除(連文件刪)
download_control({ task_id: "01a18d9a-...", action: "pause" })
download 的 engine 可選 auto(默認)、motrix、direct。完成時返回中常見字段包括 backend(motrix 或 http)、taskId、status、finalPath 等。
工作原理(簡述)¶
插件從 Motrix 配置與 bridge\endpoint.json 讀取橋接信息,經 MDXP 橋(POST http://127.0.0.1:<port>/mdxp,Bearer token)調用 download/add、task/get 等接口,而不是直接打內嵌 aria2 RPC——Motrix 會接管 aria2 隊列,裸 RPC 提交的 gid 會很快失效,無法穩定持有任務句柄。直連回退使用 .part 臨時文件,跟隨重定向與 Content-Disposition 命名,不支持斷點續傳。
適用場景與注意¶
適合在 Windows 上已使用 Motrix、又希望 DSH 裏的模型能「代下文件並落到指定目錄」的場景;大文件、多任務、BT/磁力更適合走 Motrix 隊列。
安裝前請自行閱讀倉庫源碼與 MIT 許可證。插件以當前 DSH 進程權限運行,下載路徑與網絡訪問範圍與此一致;purge 會刪除已下載文件。社區目錄頁:skillhub.cn 插件頁(獨立站點,與 DeepSeek / 幻方無官方從屬關係)。
結尾¶
dsh-motrix-download 把「模型要下載」和「本機 Motrix 任務隊列」接在一起,並在 Motrix 不可用時對 http/https 提供直連兜底。細節與限制見 GitHub 倉庫 README。