dsh-vidfetch
文件与数据 活跃维护

dsh-vidfetch

anaksunamu/dsh-vidfetch

一款轻量级集成工具,可为DeepSeek Harness智能体添加按需视频下载能力,部署无需复杂配置,支持调用下载多平台视频资源,无缝适配智能体原有工作流,使用门槛低。

0
Stars 标星
0
Forks 分支
0
Watchers 关注
0
Open Issues
TypeScript
主要语言
MIT
开源协议
51 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:anaksunamu/dsh-vidfetch
git clone https://github.com/anaksunamu/dsh-vidfetch.git
git clone git@github.com:anaksunamu/dsh-vidfetch.git
README.md main

dsh-vidfetch

Give your DeepSeek Harness agent the ability to download a video straight from a URL.

What it does

Registers a single tool, fetch_video, that the model can call to download the main video from any URL.

  • Downloads the best available audio+video stream into the directory the agent specifies.
  • Returns ok plus the list of files it wrote. Or a short error cause if the URL is unsupported.
  • No configuration file or extra setup on the agent side: just point dir somewhere writable.

Installation

dsh plugin --profile web add dsh-vidfetch

From this repository:

git clone https://github.com/anaksunamu/dsh-vidfetch.git 
npm install --prefix ./dsh-vidfetch
npm run build --prefix ./dsh-vidfetc
dsh plugin --profile web add ./dsh-vidfetch

Usage

The model calls fetch_video with two required parameters:

Parameter Type Description
url string The URL where the video is located.
dir string Output directory for the downloaded file.

Example call the agent makes:

{ "url": "https://example.com/watch/abc123", "dir": "~/downloads" }

Output:

{ "message": "ok", "files": ["downloads/video.mp4"] }

On failure, message contains a short error cause and files is empty:

{ "message": "Unsupported URL", "files": [] }

Requirements

  • DSH: tested against the 0.1.1-rc.x line.
  • Node: ^22.19.0 || >=24.0.0.
  • yt-dlp: provided by dependency.

Permissions & network

Clear the risk explicitly before trusting an agent tool:

  • Outbound network: each call fetches whatever URL the model passes. The plugin sends no telemetry and contacts no external service of its own.
  • Filesystem write: files land in the dir the model supplies (default: current working directory if empty). The model decides the path — point dir at a sandboxed or scratch folder if you don't want arbitrary writes.
  • Subprocess: runs a yt-dlp process per call; it inherits the host's environment.
  • Untrusted content warning: videos fetched from random URLs are untrusted files. Don't pipe them straight into execution pipelines.
  • No API key required by this plugin.

License & listing

  • License: MIT.
  • Not affiliated with DeepSeek AI.
  • Compatibility notes above are for DSH preview 0.1.1-rc.x.