dsh-video-downloader:为 DeepSeek Harness 提供媒体识别与下载工具

前言

DeepSeek Harness(DSH)通过插件扩展智能体能力。dsh-video-downloader 面向一个具体场景:当 agent 拿到一个视频或音频 URL 时,需要先判断它是不是媒体、属于哪个站点、质量如何,再把文件保存到本地。

下面介绍这个插件提供哪些工具、如何安装,以及使用时需要注意的边界。

定位

dsh-video-downloader 是 DSH 媒体下载插件,包名为 dsh-video-downloader,由 zimai233 维护,许可证为 MIT。

它按 hostname 识别 Bilibili、YouTube、Douyin、Xiaohongshu 等站点的媒体 URL,并向 agent 暴露三个工具:

  • video_analyze:只做分析,不下载。
  • video_download:把媒体 URL 流式保存到磁盘。
  • video_quality_parse:用正则解析质量与扩展名,不发网络请求。

实现上,它是纯 ESM 包,零构建步骤,发布包即运行时代码。核心判断逻辑导出为 isMediagetQualitygetExtdetectSite 等纯函数,可用于测试与二次开发。

核心工具

video_analyze

video_analyze 只分析 URL,不下载文件。它返回:

{ "isMedia": true, "site": "bilibili", "quality": "1080P", "ext": "m4s", "mimeHint": "video/mp4" }

字段包括:

  • isMedia
  • site
  • quality
  • ext
  • mimeHint

参数示例:

{ "url": "https://bilivideo.com/xxx.m4s" }

video_download

video_download 用浏览器风格请求头请求媒体 URL,并把响应流写入磁盘。默认写入路径为:

./downloads/<sanitized-filename>

它支持可选的 outPath 参数,也支持可选的 headers 对象;headers 会合并到默认的浏览器请求头中。

下载行为:

  • 流式写入本地文件。
  • 跟随重定向最多 5 次。
  • 60 秒超时。
  • 响应执行取消。

返回字段包括:

{ "savedTo": "./downloads/clip.mp4", "bytes": 1048576, "quality": "1080P", "ext": "mp4", "elapsedMs": 1500 }

参数示例:

{ "url": "https://bilivideo.com/xxx.m4s", "outPath": "./downloads/clip.mp4" }

如果需要自定义请求头,可以在参数里传入 headers 对象。

video_quality_parse

video_quality_parse 只做本地正则解析,不发起网络请求。它返回:

{ "quality": "720P", "ext": "mp4" }

参数示例:

{ "url": "https://example.com/video.mp4?height=720" }

安装与启用

下面介绍安装步骤。先确认要使用的 DSH profile,再执行插件安装命令:

dsh plugin --profile myprofile add dsh-video-downloader

经过上面的步骤后,插件会加入对应 profile。安装前建议检查 GitHub 仓库中的源码、README.md 和 MIT 许可证;启用后,插件以当前 dsh 进程权限运行,因此需要由使用者自行确认来源可信。

典型用法

可以直接用自然语言让 agent 执行任务,例如:

分析这个页面里的媒体:https://www.bilibili.com/video/BV1xx411c7mD

把这几个链接的 1080P 视频下载到 ./downloads 目录

agent 在执行时可能会调用下面这些工具参数。

分析媒体:

{ "url": "https://bilivideo.com/xxx.m4s" }

下载到指定路径:

{ "url": "https://bilivideo.com/xxx.m4s", "outPath": "./downloads/clip.mp4" }

解析质量与扩展名:

{ "url": "https://example.com/video.mp4?height=720" }

适用场景与注意

适合的场景包括:

  • 让 agent 判断一个 URL 是否为媒体文件。
  • 识别 Bilibili、YouTube、Douyin、Xiaohongshu 等站点。
  • 解析媒体质量、扩展名和 MIME 提示。
  • 把可访问的媒体文件流式保存到本地目录。

不适合的场景包括:

  • 绕过 DRM。
  • 绕过登录墙。
  • 获取平台付费内容。
  • 需要平台私有接口鉴权的复杂抓取。

安全边界要写清楚:只下载你有权获取的内容。这个插件负责媒体识别和文件流式保存,不负责破解版权保护、登录验证或付费墙。使用时应遵守各平台服务条款与著作权法。

获取

GitHub 仓库:

https://github.com/zimai233/dsh-video-downloader

许可证:

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

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

Xiaoye