dsh-motrix-download:把模型下载请求交给本机 Motrix

前言

在 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。

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

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

小夜