Skip to content
dsh.fish
Bundle

dsh-vidfetch

dsh-vidfetch — a DeepSeek Harness plugin to download videos.

Source
anaksunamu
License
MIT
Updated
Updated 2 days ago

Readme

# 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

```sh
dsh plugin --profile web add dsh-vidfetch
```

From this repository:

```sh
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:

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

Output:

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

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

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

## Requirements

- **DSH**: tested against the `0.1.1-rc.x` line.
- **Node**: `^22.19.0 || >=24.0.0`.
- **[yt-dlp](https://github.com/yt-dlp/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](LICENSE.md).
- **Not affiliated** with DeepSeek AI.
- Compatibility notes above are for DSH preview `0.1.1-rc.x`.

Install

dsh plugin --profile web add github:anaksunamu/dsh-vidfetch

Profile: web

  • This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source