前言¶
DeepSeek Harness (DSH) 的設計理念是“一切皆插件”。當智能體需要處理網絡上的視頻資源時,通常需要開發者編寫額外的腳本或準備本地文件。dsh-vidfetch 插件解決了這個需求,它直接向 DSH Agent 註冊了一個名爲 fetch_video 的工具,讓智能體能夠直接從 URL 下載視頻,無需開發者手動編寫下載邏輯。
插件介紹¶
該插件由用戶 anaksunamu 維護,開源協議爲 MIT。它的核心價值在於簡化流程:智能體只需提供 URL 和目錄,插件會自動調用底層邏輯(依賴 yt-dlp)下載最佳音視頻流,並將文件路徑返回給智能體。
核心功能¶
- 工具註冊:向 DSH 註冊
fetch_video工具,供模型調用。 - 流下載:自動下載最佳可用的音頻+視頻流。
- 結果反饋:返回操作狀態(ok 或錯誤原因)以及寫入的文件列表。
- 零配置:不需要額外的配置文件或複雜的 Agent 側設置。
安裝與啓用¶
在確認環境滿足要求後,通過官方目錄安裝:
dsh plugin --profile web add dsh-vidfetch
使用方法¶
智能體調用 fetch_video 時需要提供兩個參數:
| 參數 | 類型 | 說明 |
|---|---|---|
url |
string | 視頻所在的 URL 地址。 |
dir |
string | 下載文件的輸出目錄。 |
示例¶
智能體發起的調用請求示例:
{ "url": "https://example.com/watch/abc123", "dir": "~/downloads" }
輸出格式¶
成功時:
{ "message": "ok", "files": ["downloads/video.mp4"] }
失敗時(例如 URL 不受支持):
{ "message": "Unsupported URL", "files": [] }
環境與權限¶
使用該插件前,需注意以下依賴與權限要求:
-
依賴版本:
* DSH:需在0.1.1-rc.x版本線測試通過。
* Node.js:需滿足^22.19.0或>=24.0.0。
* yt-dlp:通過插件依賴提供,無需單獨安裝。 -
網絡與文件權限:
* 出站網絡:每次調用都會根據智能體傳入的 URL 進行下載。插件本身不發送遙測數據,也不主動聯繫外部服務。
* 文件系統寫入:文件將寫入智能體指定的dir(若爲空則寫入當前工作目錄)。請確保目錄可寫,並在不可信場景下限制寫入路徑。
* 子進程:每個調用都會啓動一個yt-dlp進程。 -
安全提示:
* 從隨機 URL 獲取的視頻文件屬於不可信內容,不要直接將它們傳遞給執行管道或命令行工具。