前言¶
在智能體或自動化流程裏,讓模型代爲提交下載、查進度、暫停或取消任務,常見做法是手寫腳本調用 aria2c,或在對話外單獨維護一套下載面板。DeepSeek Harness(DSH)通過插件把能力掛進運行時;若你本地或內網已經跑着持久化的 aria2,並開放了 JSON-RPC,本插件只做 HTTP 橋接,不向 DSH 內置下載器、也不接管 aria2 進程生命週期。下面介紹插件定位、工具面、安裝配置與使用約束。
這是什麼¶
@rosmeowtis/dsh-aria2-rpc 由 Rosmeowtis 維護,歸類爲聯網工具。它連接已有的 aria2 JSON-RPC 服務(HTTP,/jsonrpc),爲模型暴露四個工具;不攜帶、不啓動、不管理 aria2。社區目錄頁見 SkillHub 條目,源碼與說明見 GitHub 倉庫。
當前 npm 包版本爲 0.1.1,許可證 MIT;運行要求 Node >=22.18,DSH ^0.2.1-rc.5。工具定義的上下文佔用約 400 token。
核心功能¶
插件向模型提供下表四個工具(名稱與行爲以 README 爲準):
| 工具 | 作用 |
|---|---|
aria2_download |
提交單文件直鏈下載,立即返回 GID;可選保存目錄、文件名、來源提供的校驗和(sha-256 / sha-1 / md5,實際計算由 aria2 執行)、任務級 HTTP 代理。 |
aria2_status |
讀取任務狀態、進度、速度、文件路徑與脫敏錯誤。 |
aria2_list |
列出 active / waiting / stopped 或全部任務;只讀,支持 limit/offset。 |
aria2_control |
pause / resume / cancel。取消保留部分文件,不關閉 aria2。 |
下載完成或失敗時,插件通過 aria2 的 WebSocket 通知向發起會話推送一條消息。只跟蹤本進程內由 aria2_download 創建的任務;插件重載後,重載前創建的任務不再推送。
創建與控制僅在退出計劃模式後的完全訪問模式執行;狀態讀取不受此限。結果未知的修改請求會返回可查詢的 GID,不會自動重複提交。
安裝與啓用¶
以 web 預設舉例。裝完必須重啓該 profile(dsh web):bundle 層在啓動時組裝。
npm 渠道(版本受控):
dsh plugin --profile web add @rosmeowtis/dsh-aria2-rpc
dsh web
GitHub 渠道(跟倉庫 HEAD,用於先於發佈驗證):
dsh plugin --profile web add github:Rosmeowtis/dsh-aria2-rpc
通過 git 依賴安裝時,prepare 會在安裝階段構建;pnpm 默認可能攔截構建腳本。若首次安裝失敗並打印 allowBuilds key,需把該 key 寫入對應 profile 的 pnpm-workspace.yaml 後重跑同一條安裝命令。key 中帶 commit,倉庫有新提交後需按新打印的 key 重新放行。
本地開發可在本倉庫執行 npm run build 後:
dsh plugin --profile web add .
配置與連接測試¶
在 DSH 設置 → 插件 → Aria2 RPC 中可配置:
rpcHost、rpcPort- 密鑰與請求超時
密鑰固定使用憑據 ARIA2_RPC_SECRET;無密鑰時不發送。RPC 走 HTTP,不加密;遠程連接請僅在可信網絡或加密隧道中使用。
設置頁的「測試連接」使用當前輸入的主機、端口與超時調用 aria2.getVersion,無需先保存。密鑰框有內容時使用該臨時值,否則從當前憑據引用讀取;測試不保存配置、不創建任務。成功時顯示 aria2 版本,失敗時提示連通性、超時或鑑權問題。
典型前置條件:你已部署並長期運行 aria2,且 RPC 監聽地址與插件配置一致(含 rpc-secret 與 DSH 憑據一致,若啓用)。
典型用法(對話側)¶
模型在具備工具權限的會話中可這樣使用(概念流程,非固定話術):
- 用
aria2_download傳入直鏈 URL,按需指定目錄、文件名、校驗和或代理;拿到 GID。 - 用
aria2_status或aria2_list查看進度與隊列。 - 用
aria2_control對指定 GID 執行pause、resume或cancel。 - 對本會話內由
aria2_download創建的任務,可在完成或失敗時收到 WebSocket 推送,無需輪詢到底。
如需在改動 aria2 任務狀態前確認環境,可先「測試連接」再發起下載。
適用場景與注意¶
適合: 已有 aria2 後臺(家庭 NAS、內網節點、長期開的下載機),希望 DSH 對話裏用自然語言或工作流創建、查詢、管控下載,而不把 aria2 裝進 DSH 或交給插件啓停。
不適合: 期望插件自帶 aria2、安裝即下載、或代管 aria2 進程與系統服務;這些不在設計範圍內。
插件以當前 DSH 進程權限運行,RPC 調用範圍等價於該進程能訪問的網絡與配置。安裝前建議閱讀倉庫源碼與 MIT 許可證,確認 RPC 密鑰與保存路徑符合你的安全策略。DSH 生態強調「一切皆插件」;SkillHub 爲社區目錄,與 DeepSeek / 幻方無官方從屬關係。
結尾¶
@rosmeowtis/dsh-aria2-rpc 的價值在於:在假定 aria2 已獨立部署的前提下,用四個精簡工具把 JSON-RPC 能力納入 DSH,並支持會話內任務完成通知。安裝後配置 RPC 與 ARIA2_RPC_SECRET,重啓 web profile 即可使用。
- 目錄頁:https://www.skillhub.cn/plugins/Rosmeowtis/dsh-aria2-rpc
- GitHub:https://github.com/Rosmeowtis/dsh-aria2-rpc