前言¶
在 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。