Back to home@tkwkeven

dsh-ytdlp

Video/audio download tools for DeepSeek Harness, powered by yt-dlp (video_info / video_download)

Stars
0
Language
JavaScript
Created
Aug 20, 2026
Updated
Aug 22, 2026

Introduction

dsh-ytdlp

English · 中文

License GitHub stars GitHub forks Last commit DSH plugin

Video/audio download tools for DeepSeek Harness (DSH), powered by yt-dlp. Registers two model-facing tools so the agent can inspect a video page before downloading and fetch the file to a local directory.

Channel-agnostic: the plugin only downloads to a local folder and returns absolute paths. Sending the file to the user is left to the session channel (e.g. Feishu: lark_send_media for files ≤30 MB, lark_send_bigfile for larger ones). Works in any DSH channel.

Tools

ToolDescription
video_infoQuery video metadata (title, uploader, duration, resolution, size) before downloading — confirms the link is fetchable and gives a content preview
video_downloadDownload a video or extract audio to a local directory, returns file paths and sizes

Supports every site yt-dlp supports: YouTube, Bilibili, Douyin, Kuaishou, Weibo, X/Twitter, and more.

Install

Place the package under a DSH profile (plugins/ or node_modules/) and enable it in cordis.patch.yml:

- insert:
    - id: ytdlp
      name: dsh-ytdlp
      config:
        ytdlpBin: /path/to/yt-dlp   # optional, auto-detected if omitted

Requirements: Node.js ≥ 20 and a yt-dlp executable (install with pip3 install --user yt-dlp or the official single-file binary). Audio extraction additionally needs ffmpeg.

Configuration

KeyDefaultDescription
ytdlpBinauto-detectPath to the yt-dlp executable (searched: config → ~/.dsh/bin/yt-dlp~/Library/Python/3.9/bin/yt-dlp/usr/local/bin/opt/homebrew/binPATH)
outdir~/Downloads/yt-dlpDefault download directory
downloadTimeoutMs1800000Download timeout in milliseconds (min 60000)

Development

node --check lib/index.js
node test/self-test.mjs

License

MIT