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 bytask_idorvideo_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): registerstools,webServer,settings, andshell; exposes 24 RPCs and 3 Agent tools; service endpoint isPOST /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.