前言¶
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 获取的视频文件属于不可信内容,不要直接将它们传递给执行管道或命令行工具。