🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

Motrix 下载桥接 Siselea/dsh-motrix-download

DeepSeek Harness
Siselea4 天前有提交已提供中文文档扫描:含敏感能力

把模型下载请求交给本机 Motrix,失败时自动直连兜底

29.7/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/11/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Siselea/dsh-motrix-download
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · tool
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
暂无时间戳·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 4 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 23 处,展示前 23 条)
  • 读取本地文件
    index.js:115
    if (existsSync(absPath)) {
  • 写入本地文件
    index.js:286
    await mkdir(saveDir, { recursive: true }).catch(() => {})
  • 读取本地文件
    index.js:299
    const base64 = (await readFile(target.path)).toString('base64')
  • 读取本地文件
    lib/motrix.mjs:108
    const raw = JSON.parse(await readFile(path.join(stateDir, 'bridge', 'endpoint.json'), 'utf8'))
  • 读取本地文件
    lib/motrix.mjs:138
    const settings = JSON.parse(await readFile(path.join(stateDir, 'settings.json'), 'utf8'))
  • 读取本地文件
    lib/motrix.mjs:147
    const owner = JSON.parse(await readFile(path.join(stateDir, 'aria2-owner.json'), 'utf8'))
  • 读取本地文件
    lib/motrix.mjs:151
    if (existsSync(exe)) state.exePath = exe
  • 读取本地文件
    lib/motrix.mjs:168
    if (existsSync(candidate)) {
  • 发起网络请求
    lib/motrix.mjs:199
    const req = http.request(
  • 执行外部命令来自配置/变量
    lib/motrix.mjs:266
    const child = spawn(exePath, [], { detached: true, stdio: 'ignore', windowsHide: false })
  • 读取本地文件
    lib/motrix.mjs:291
    if (!state.exePath || !existsSync(state.exePath)) {
  • 读取本地文件
    lib/fallback.mjs:51
    await stat(target)
  • 读取本地文件
    lib/fallback.mjs:60
    await stat(candidate)
  • 发起网络请求
    lib/fallback.mjs:82
    const req = transport.request(
  • 写入本地文件
    lib/fallback.mjs:126
    await mkdir(dir, { recursive: true })
  • 写入本地文件
    lib/fallback.mjs:143
    const out = createWriteStream(partPath)
  • 删除本地文件
    lib/fallback.mjs:174
    await rm(partPath, { force: true }).catch(() => {})
  • 写入本地文件
    lib/fallback.mjs:178
    await rename(partPath, target)
  • 读取本地文件
    lib/fallback.mjs:179
    const info = await stat(target)
  • 读取本地文件
    smoke.mjs:89
    const info = await stat(motrix.finalPath)
  • 读取本地文件
    smoke.mjs:116
    const info = await stat(direct.path)
  • 删除本地文件
    smoke.mjs:130
    for (const file of created) await rm(file, { force: true }).catch(() => {})
  • 删除本地文件递归
    smoke.mjs:131
    await rm(tmp, { recursive: true, force: true }).catch(() => {})
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DeepSeek Harness 插件:把模型下载请求交给本地 Motrix(aria2)应用处理,内置直接走 HTTP 的兜底方案。

README

由 DeepSeek 最新模型翻译生成
dsh-motrix-download DeepSeek Harness 插件:模型请求下载时,优先交给本机 Motrix(aria2)下载;Motrix 不可用时自动回退为内置直连下载。 下载任务会真实出现在 Motrix 应用中(可暂停/继续/删除、参与 Motrix 的队列与限速),而不是绕开应用直接塞给 aria2。 特性 - 优先 Motrix:download 工具默认把 URL / magnet / .torrent 交给 Motrix;任务可在 Motrix 中查看和管理。 - 自动回退:Motrix 未运行或桥接不可用时,http/https 链接自动改用内置直连下载,下载请求不会失败。 - 自动发现:端口、token、默认下载目录、安装位置全部从 Motrix 配置自动读取,token 轮换无需配置。 - 自动启动:桥接不可达时自动拉起 Motrix.exe(最多等 25 秒),成功后再提交任务。 - 目的地必填:save_dir 为必填参数,模型必须先明确"下载到哪";用户没说时模型会先询问。 - 零运行时依赖:只使用 Node 内置模块,不需要 npm install。 环境要求 - Windows(插件通过 %APPDATA%\Motrix 发现 Motrix;macOS / Linux 未验证)。
展开完整文档(README 剩余 1 节)
dsh-motrix-download

DeepSeek Harness 插件:模型请求下载时,优先交给本机 Motrix(aria2)下载;Motrix 不可用时自动回退为内置直连下载。

下载任务会真实出现在 Motrix 应用中(可暂停/继续/删除、参与 Motrix 的队列与限速),而不是绕开应用直接塞给 aria2。

特性

- 优先 Motrix:download 工具默认把 URL / magnet / .torrent 交给 Motrix;任务可在 Motrix 中查看和管理。
- 自动回退:Motrix 未运行或桥接不可用时,http/https 链接自动改用内置直连下载,下载请求不会失败。
- 自动发现:端口、token、默认下载目录、安装位置全部从 Motrix 配置自动读取,token 轮换无需配置。
- 自动启动:桥接不可达时自动拉起 Motrix.exe(最多等 25 秒),成功后再提交任务。
- 目的地必填:save_dir 为必填参数,模型必须先明确"下载到哪";用户没说时模型会先询问。
- 零运行时依赖:只使用 Node 内置模块,不需要 npm install。

环境要求

- Windows(插件通过 %APPDATA%\Motrix 发现 Motrix;macOS / Linux 未验证)。
- Motrix 2.x,且设置中的「浏览器桥接」(app.browserBridgeEnabled)保持开启——默认开启。
- DeepSeek Harness(Host 插件,通过 plugin_manager 安装为 bundle)。

安装

尚未发布到 npm;如需通过包名安装,可自行 npm login && npm publish --access public(包名 dsh-motrix-download 可用)。

方式一:clone 仓库

git clone https://github.com/Siselea/dsh-motrix-download.git

方式二:从 Releases 下载 dsh-motrix-download-0.1.0.tgz 并解压:

tar -xzf dsh-motrix-download-0.1.0.tgz

然后在 Harness 中安装为该 profile 的 bundle(把 <abs> 换成 clone 或解压出来的绝对路径):

plugin_manager action=install_bundle target=<abs>/dsh-motrix-download

安装后插件出现在 Plugin Manager 中(标题/描述来自 locale/en.json 与 locale/zh.json,图标为 icon.svg),三个工具立即生效。

本插件是用 link: 方式安装的本地包:之后修改源码,需要在 Plugin Manager 里把插件关闭再开启(或重启 Harness)来重载模块。

快速上手

// 下载网页图片到 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" })

典型返回(节选):

{
"ok": true,
"backend": "motrix",
"taskId": "01a18d9a-1d41-73a6-ad7f-b1e24e3b627b",
"status": "completed",
"name": "baidu-logo.png",
"bytesTotal": 6617,
"finalPath": "D:\\baidu-logo.png",
"message": "已下载完成:D:\\baidu-logo.png(6.5 KB)" }

工具

| 工具 | 用途 |
| download | 提交下载:URL / magnet / 本地 .torrent。默认优先 Motrix,失败回退直连 |
| download_status | 查询任务:传 task_id 看详情并可等待完成;不传则列出任务队列与全局速度 |
| download_control | 控制任务:pause / resume / cancel(保留文件)/ purge(删除文件) |

download 参数

| 参数 | 说明 |
| url(必填) | http/https/ftp/ftps/sftp 链接、magnet:? 磁力链接,或本地 .torrent 文件路径 |
| save_dir(必填) | 下载到哪个目录(绝对路径或相对工作区路径)。用户未指定时,模型应先询问再下载 |
| filename | 单文件 HTTP 下载的另存文件名(磁力/种子忽略) |
| headers | 额外 HTTP 请求头,如 {"Referer":"https://example.com"} |
| engine | auto(默认,优先 Motrix)、motrix(只用 Motrix)、direct(跳过 Motrix 直连) |
| wait_seconds | 最多等待完成的秒数(0 = 提交后立即返回;完成时返回 finalPath) |

返回值关键字段:backend(motrix/http)、taskId、status、progress、bytesDone/bytesTotal、finalPath、message。

工作原理

1. 从 %APPDATA%\Motrix\settings.json 读取默认下载目录,从 %APPDATA%\Motrix\aria2-owner.json 推导安装位置。
2. 从 %APPDATA%\Motrix\bridge\endpoint.json 读取当前桥接端口(16802–16806 中实际绑定的那个)与 localToken;两者每次调用前重读,token 重启轮换也不影响。
3. 桥接不可达时自动启动 Motrix.exe,等待桥接就绪后重试。
4. 通过 Motrix 的 MDXP 桥(POST http://127.0.0.1:<port>/mdxp,Authorization: Bearer <localToken>)调用 download/add、task/get、task/list、task/pause|resume|remove、stats/get。
5. 非 http/https 的地址在 Motrix 不可用时无法回退,返回明确错误;http/https 则回退到内置直连下载(跟随重定向、按 Content-Disposition 命名、.part 临时文件;不支持断点续传)。

为什么用 MDXP 桥而不是 aria2 RPC

Motrix 会"接管" aria2 队列:直接向内嵌 aria2 的 16800 RPC 提交任务后,应用会在约 1 秒内把任务收编(adoptTask),原 gid 随即失效(tellStatus → GID ... is not found),且桥不暴露 gid 与 Motrix 任务 UUID 的映射。因此裸 aria2 RPC 只能"发完不管";要任务句柄、状态和控制能力,必须走 MDXP 桥。协议细节见 docs/mdxp-notes.md。

系统提示词

插件注册一个简短的全局提示词片段(motrix-download,order 5900),让"下载优先用 download 工具"在普通对话请求中也生效,并要求每次下载都附带 save_dir(用户没说保存位置时先询问)。片段注册失败只告警,不影响工具可用性。

配置

没有配置文件,全部自动发现。可选的环境变量:

| 变量 | 作用 |
| DSH_MOTRIX_EXE | 指定 Motrix.exe 路径(自动发现失败时使用) |

开发与测试

离线检查(不需要 Motrix,CI 也跑这个):

node scripts/check.mjs

端到端自检(需要本机 Motrix 正在运行,会真实下载并自动清理):

node smoke.mjs

smoke.mjs 覆盖:工具注册、提示词片段、Motrix 桥连通、真实下载并校验 finalPath、任务查询、任务删除、直连回退、非法输入与缺少 save_dir 的拒绝。

已知限制

- 需要 Motrix 的浏览器桥接开启;关闭时 Motrix 不可用,只能直连下载。
- 磁力链接与种子文件必须由 Motrix 下载:桥接不可用时直接报错,不会伪造回退。
- 直连回退仅支持 http/https,不处理 FTP、磁力、种子,也不支持断点续传。
- purge 会删除已下载的文件(等价于 Motrix 中"删除任务并删除文件")。
- 等待完成使用 500ms 轮询 task/get,不订阅 MDXP 通知(HTTP 桥只提供请求/响应)。
- 未在 macOS / Linux 上验证。

目录结构

dsh-motrix-download/
├── index.js # 插件入口:三个工具 + 提示词片段 ├── lib/motrix.mjs # Motrix 状态发现、MDXP 桥客户端、启动与轮询 ├── lib/fallback.mjs # 直连 HTTP(S) 下载回退 ├── cordis.patch.yml # bundle patch(insert 一行) ├── package.json # dsh.bundle.patch + locale/icon 导出 ├── locale/{en,zh}.json # Plugin Manager 标题/描述 ├── icon.svg # 图标 ├── .github/workflows/ # CI(离线检查)与 Release(打 tag 自动发布) ├── docs/mdxp-notes.md # MDXP 协议实测笔记 ├── scripts/check.mjs # 离线自检(CI) ├── smoke.mjs # 端到端自检(需要 Motrix) ├── CHANGELOG.md # 版本记录 └── LICENSE # MIT

许可证

MIT
预览分享卡片长什么样 ↓Siselea/dsh-motrix-download
分享 · DeepSeek Harness Hub
Siselea/dsh-motrix-download

把模型下载请求交给本机 Motrix,失败时自动直连兜底

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部