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。

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

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

小夜