dsh-motrix:在 DSH 对话里用本机 Motrix 下大文件

前言

在 DeepSeek Harness(DSH)里做联网或本地数据处理时,模型常会借助 shell 拉取安装包、数据集或镜像。单次用 curl、wget 下大文件时,难有多线程与断点续传;会话超时或工具中断后,已开始的传输也可能被连带放弃。下面介绍的 dsh-motrix 把本机 Motrix 引擎接到 DSH:由 AI 调用网关工具 motrix 建任务,实际下载在 Motrix 应用内进行,工具超时或对话中断不会打断已开始的任务。

这是什么

dsh-motrix(维护者 ikeyuchen)是 DSH 生态中的联网工具类插件,npm 包名 dsh-motrix,当前版本 0.0.4-beta.7(MIT 协议)。它向模型暴露一个工具 motrix(action = download | tasks | manage),并带系统提示与内置下载守卫:守卫只拦 shell 里用下载器落盘且命中「大文件」后缀的情形,小文件放行;未启用工具与提示段时,常驻 token 为 0。

插件仓库:https://github.com/ikeyuchen/dsh-motrix;社区目录:https://www.skillhub.cn/plugins/ikeyuchen/dsh-motrix(独立站点,与 DeepSeek / 幻方无官方从属关系)。

核心功能

网关工具 motrix

action 用途
download 添加 HTTP(S)/FTP/磁力/.torrent 下载(可多 URL);默认等待落定并汇报进度与最终路径;落定后校验落盘,可传 sha256;proxy 支持 HTTP/SOCKS4/SOCKS5;wait:false 则入队即返回
tasks 任务列表(进度、速度、ETA、保存路径、任务 id)与全局速度,用于轮询
manage op = pause \| resume \| remove;remove 需 deleteFiles: true 才删文件,且删前核对文件是否仍是当初那次下载

等待循环以 completed / seeding / paused / error 为落定;多 URL 时单个源失败不影响其余源。失败任务带 errorCode / stage / source。下载长时间无字节增长时可作停滞检测并提前返回(fetching_metadata 与排队任务不参与)。

下载守卫

guardEnabled 默认为 true:只拦「下载器 + 真正落盘 + 大文件后缀证据」(内置 15 项后缀,证据来自下载 URL 文件名与显式输出文件名)。小文件、尺寸未知、输出到 /dev/null、stdout/管道下载直接放行。细节见仓库 SECURITY.md。

前置条件

插件依赖本机两处环境:

  1. Motrix 桌面应用:从 https://motrix.app 安装,并至少启动一次。
  2. @motrix/cli(Node.js ^22.19.0 或 ≥ 24):
npm install -g @motrix/cli@latest

运行要求:Node.js ^22.19.0 || >=24.0.0,DSH >=0.2.0-rc.2 <0.3.0。确认 motrix 命令可执行、桌面应用正在运行。桥接不可达时插件可尝试静默拉起应用(launchHidden: false 可关闭);Linux 会回退到 motrix open。代理可在 Motrix 应用内设置,或在调用时传 proxy。

安装与启用

任选其一即可。

  1. DSH →「插件」→「添加插件」→ 输入包名 dsh-motrix,安装源选「npm 官方源」→ 安装 → 启用 tool-motrix。
  2. 命令行:
dsh plugin add dsh-motrix

需要 beta 预览时(资料记载当前 beta 为 0.0.4-beta.7):

dsh plugin add dsh-motrix@beta

组合包声明在 cordis.patch.yml,依赖以 peer 形式声明,完成前置条件后无需额外配置即可使用。若使用国内镜像同步 npm,可用 npm ls dsh-motrix 核对版本。

典型用法

在对话中说明需求即可,例如「用 Motrix 下载 \<链接> 到 \<目录>」,模型会调用 motrix。任务在 Motrix 应用内可见,也可用 action=tasks 查询进度。

逻辑上常按下面顺序操作:

  1. download:提交 URL(HTTP/FTP/磁力/.torrent),默认等待完成并回报路径;大文件校验可带 sha256。
  2. tasks:长任务未设 wait:false 时,也可用轮询查看进度与速度。
  3. manage:暂停、恢复或移除任务;删文件需显式 deleteFiles: true 且通过删前核对。

可选配置

默认值在 lib/index.js 的 Schemastery Config 中;非法配置加载即报错。覆盖项写入 profile 的 cordis.patch.yml,例如:

- id: tool-motrix
  name: 'dsh-motrix'
  config:
    cliCommand: motrix
    autoOpen: true
    launchHidden: true
    motrixExePath: ''
    defaultWaitTimeoutMs: 600000
    listLimit: 30

常用键包括:cliCommand(默认 motrix)、autoOpen / launchHidden(桥接不可达时拉起应用)、defaultWaitTimeoutMs(默认等待 600000ms)、downloadToolTimeoutMs(须至少比默认等待大 30000ms)、guardEnabled / guardAllowPatterns / guardLargeExtensions、endpoint / token(远端 Motrix server 与桥接 token)。完整表见仓库 README。

适用场景与注意

适合:在本机已跑 Motrix、需要 AI 在 DSH 里编排大文件下载(多线程、断点续传、磁链与种子)、且希望传输与 DSH 会话解耦的开发者。

注意:

  • 插件随当前 DSH 进程权限运行;安装前请阅读源码与 MIT 许可证,自行评估信任边界。
  • 守卫不覆盖所有 shell 下载形态;敏感环境请结合 SECURITY.md 评估。
  • 稳定版资料记载为 0.0.3;beta 行为与版本规则见 docs/RELEASING.md。

结尾

dsh-motrix 把 Motrix 收成 DSH 里一个可编排的 motrix 工具:大文件走应用内引擎,对话只负责建任务与查状态。进一步了解可从社区目录 https://www.skillhub.cn/plugins/ikeyuchen/dsh-motrix 进入,或直接查阅 GitHub:https://github.com/ikeyuchen/dsh-motrix。

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

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

Xiaoye