前言¶
在 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。
前置条件¶
插件依赖本机两处环境:
- Motrix 桌面应用:从 https://motrix.app 安装,并至少启动一次。
- @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。
安装与启用¶
任选其一即可。
- DSH →「插件」→「添加插件」→ 输入包名
dsh-motrix,安装源选「npm 官方源」→ 安装 → 启用tool-motrix。 - 命令行:
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 查询进度。
逻辑上常按下面顺序操作:
download:提交 URL(HTTP/FTP/磁力/.torrent),默认等待完成并回报路径;大文件校验可带sha256。tasks:长任务未设wait:false时,也可用轮询查看进度与速度。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。