Introduction

DeepSeek Harness (DSH) is a Web GUI environment centered on plugins as its core components. When developing agents that involve visual output, images or videos often need to be generated directly on a node canvas. dsh-vidgen-plugin is an official-style plugin developed for DSH, designed to solve multi-platform model invocation, node-based workflow management, and Agent toolset integration.

This plugin provides a complete video and image generation solution, including a ComfyUI-style node canvas, multi-provider configuration management, and tool interfaces that can be called directly by Agents.

Installation and Activation

The plugin is installed into the current DSH Profile using pnpm link.

# 1. Clone the repository
git clone https://github.com/xsluck/dsh-vidgen-plugin.git
cd dsh-vidgen-plugin

# 2. Go to the DSH Web Profile directory
cd ~/.dsh/profiles/web

# 3. Modify package.json and add the dependency and Bundle configuration
# Add the following to dependencies:
# "dsh-vidgen-plugin": "link:/absolute/path/to/dsh-vidgen-plugin"
# Add the following to dsh.profile.bundles:
# ["dsh-vidgen-plugin"]

# 4. Install
pnpm install

# 5. Restart DSH
npx @deepseek-ai/dsh web

After restarting, a 🎬 entry will appear in the sidebar, a “Video Generation” card will appear on the settings page, and three new tools will appear in the Agent tool list.

Core Features

Node Canvas Studio

The plugin provides a node-based canvas studio in the DSH Web interface, supporting the following node types:
* Text-to-Image
* Image-to-Image
* Image Source
* Text-to-Video
* Image-to-Video
* Keyframe

Node connection rules:
* Drag the dot on the right to connect nodes.
* When the input image source is 1, the node behavior is Image-to-Image.
* When the input image source is 2 or more, the node behavior is multi-image composition (passed via the extra_body.image array).

Keyframe:
* Supports 2 to 3 keyframe images.
* In testing, 3 keyframes can successfully generate a video.

Canvas snapshots:
* New canvases are automatically archived.
* Supports manually saving, loading, and deleting snapshots.
* Snapshot count is limited to 20.

Operations:
* Local image upload limit is ≤ 8MB.
* Supports zooming, panning, fullscreen floating, and click-to-zoom viewing.
* Supports running a single node or “Run All”.

Multi-provider Settings

The plugin allows independent provider lists to be configured for video and image generation. Each list can contain multiple platforms and supports setting the current provider.

Configuration flow:
* Manage providers in the “Video Generation” card on the settings page.
* Create, save, delete, load providers, or test the connection.
* “Fetch Models” feature: requests GET {apiUrl}/models using apiUrl and Key, automatically filters video or image models, and automatically fills the first item in the list as the default model.

Configuration priority:
User-provided providers > settings.yaml (dsh-video / dsh-imagegen) > draw-config.json > system fallback.

Configuration file location:
~/.dsh/vidgen-config.json (preferred) or the system temporary directory.

Agent Tools

The plugin exposes three Agent tools that can be called directly in DSH agent code:

  • list_video_models: lists the available video models for the current video provider.
  • generate_video:
    • mode='keyframes' + image_urls: Keyframe mode.
    • image_url: Image-to-Video mode.
    • wait=true: enables polling until the task completes and returns an mp4 URL.
  • poll_video_task: queries task status by task_id or video_id.

API Compatibility

The plugin provides OpenAI-style interface compatibility, supporting /videos, /images/generations, and /models.
Video polling requests are sent to {base}/agnesapi?video_id=…&model_name=….

Data and File Locations

Data generated by the plugin is stored at the following paths:

  • Configuration file: ~/.dsh/vidgen-config.json
  • Canvas snapshots: ~/.dsh/vidgen-snapshots.json
  • Generation history: ~/.dsh/vidgen-history.json
  • Current canvas: ~/.dsh/vidgen-graph.json

Note: Base64 encoding is only supported in the Image-to-Image pipeline.

Development and Structure

The plugin is organized as an official plugin package and mainly includes the following parts:

  • Host (lib/index.js): registers tools, webServer, settings, and shell; exposes 24 RPCs and 3 Agent tools; service endpoint is POST /dsh-vidgen/rpc.
  • Client (lib/client.js): mounts the sidebar entry, settings card, studio overlay, and tool panel slots.
  • Scripts (scripts/*.js): subprocess helper scripts responsible for configuration read/write, canvas snapshots, history records, HTTP requests, and cleanup; no third-party dependencies.

Development notes:
* After modifying lib/ or scripts/, DSH must be restarted for the changes to take effect.
* Syntax check command: npm test.

Uninstall

If you need to take the plugin offline, remove the related configuration from package.json and restart:

cd ~/.dsh/profiles/web
# Remove dsh-vidgen-plugin from dependencies
# Remove dsh-vidgen-plugin from dsh.profile.bundles
pnpm install
npx @deepseek-ai/dsh web

Conclusion

dsh-vidgen-plugin provides a complete video and image generation solution for DSH. It implements ComfyUI-like visual workflows through the node canvas and lowers the development barrier with Agent tools and an OpenAI-compatible interface. Developers can configure providers or call the functionality directly through code according to their needs.