Skip to main content

deepseek-design/packages/deepseek-ivideo

195Stars67Forks2Issues29Watchers

Native Video view for DeepSeek Harness with 27 editable video templates. Generate and refine videos directly with AI in conversations, plus automatic validation tools.

Evidence4/5methodologySourceInstallMaintenanceDSH versionSecurity scan
Machine-auditedInstall commandRepo verifieddsh-plugin topicLicenseREADMEAI wiki

ⓘ This plugin is a sub-package of the Devin-AXIS/deepseek-design monorepo — stars and activity count the whole repository.

Language
JavaScript
License
NOASSERTION
Branch
main
ai-designdeepseekdeepseek-harnessdesigndesign-studiodsh-pluginipolloworkipollowork-plugin

Install

cmdweb profile
$ dsh plugin --profile web add deepseek-ivideo

Run the command above in your terminal to install this plugin via the dsh CLI. You can switch Profile in the top-right corner. New to dsh? Read the beginner tutorial

Install via your agent

Install the DeepSeek Harness plugin Devin-AXIS/deepseek-design/packages/deepseek-ivideo for me: review the repository at https://github.com/Devin-AXIS/deepseek-design first, then run the install command and verify the plugin loads successfully.

Paste this instruction to the DSH Web GUI assistant — it will install and verify for you.

One-Line Positioning

deepseek-ivideo injects iPolloWork's HyperFrames Video Studio as a native Video view into DeepSeek Harness. Within conversations, AI can directly generate or extensively modify entire videos. Users can also select elements such as titles, images, or assets in the frame to trigger precise Ask AI modifications, which ultimately result in real editable HTML/CSS project files in the workspace.

Core Features

  • Provides a native Video view (label "Video") in the DeepSeek Harness conversation tab bar, alongside Design and PPT views
  • Allows AI to fully generate or extensively modify videos through conversation, and writes changes to the actual HyperFrames project files in the current workspace
  • After selecting titles, images, assets, or other elements in the frame, use Ask AI to trigger precise modifications—the plugin only prepares a draft without automatically sending
  • Built-in 27 editable video templates (covering dynamic titles, code explanations, data charts, product demos, brand intros, AI workflows, etc.), which can be applied to the current session project with one click, with automatic rollback on failure
  • Provides ipollowork_video_validate model tool to perform structured validation on the current session's video project and return limited results
  • Each session has an independent HyperFrames preview process; all leases are automatically recycled after 60 seconds, with automatic fallback when port conflicts occur

Technical Implementation

  • Languages: TypeScript + React (Studio frontend, Vite build) + Node.js (HTTP bridge and runtime process management)
  • Key Dependencies: @deepseek-ai/cordis (plugin injection and effects), @deepseek-ai/dsh-host-webserver (route registration), @deepseek-ai/dsh-tools (model tool registration), @deepseek-ai/dsh-workspace (workspace parsing)
  • Architecture Pattern: The server-side injects the ipollowork-video-studio plugin into the host via cordis.patch.yml; during the apply phase, it registers webServer routes under the /ipollowork-video prefix (carrying 7 HTTP APIs and Studio static resources), connects the workspace root, template directory, project initialization, and ipollowork_video_validate model tool to the host; simultaneously, client code is injected into the Harness Web side via dsh.client.inject, registering a conversation.view slot in conversations to render an iframe hosting the Studio; the client View and Studio exchange ask-ai-selection / ask-video-ai messages via postMessage (channel ipollowork-video-studio-host-v1), with event source validating both origin and source pointing to the iframe contentWindow
  • Entry Files: packages/deepseek-ivideo/lib/index.js (server registration and HTTP APIs), packages/deepseek-ivideo/lib/client.js (frontend Video view), packages/deepseek-ivideo/lib/runtime.js (HyperFrames process management), packages/deepseek-ivideo/studio/dist/index.html (Studio static resources)

Use Cases

Suitable for users who need to directly produce editable videos in the DeepSeek Harness workspace—creating product demos, data stories, brand intros, dynamic titles, teaching clips, or social media short videos. The pain point is that in regular conversations, you can only get one-time videos or screenshots and cannot continue fine-tuning individual objects; this plugin brings the actual HyperFrames project into video/<sessionId>/, allowing three interaction modes to alternate: AI generation, direct canvas editing, and selection-level Ask AI.

Prerequisites and Compatibility

DependencyMinimum VersionDescription
@deepseek-ai/dsh-client-runtime>=0.0.1-rc.1 <0.2.0-0Client runtime, required for DSH Web side
@deepseek-ai/dsh-client-ui-conversation>=0.0.1-rc.1 <0.2.0-0Conversation view slot mechanism (Video view registration depends on this)
@deepseek-ai/dsh-host-webserver>=0.0.1-rc.1 <0.2.0-0Host's HTTP route registration capability
@deepseek-ai/dsh-tools>=0.0.1-rc.1 <0.2.0-0Registers ipollowork_video_validate model tool
@deepseek-ai/dsh-workspace>=0.0.1-rc.1 <0.2.0-0Workspace parsing (required for video project file read/write)
@deepseek-ai/cordis^4.0.1Injection and effect framework (optional at build time)
react^18.2.0Studio frontend runtime
Node.js>=22Explicitly declared in package.json engines.node
PlatformmacOS / Windows / LinuxDepends on host DSH's web service and Node.js child processes; process.platform differentiates Windows from POSIX for process group signal handling
Native Modulessharp 0.34+, onnxruntime-node 1.23+Directly declared in package.json, loaded on demand by embedded HyperFrames runtime (image processing and AI inference)

Installation

dsh plugin --profile web add github:Devin-AXIS/deepseek-design/packages/deepseek-ivideo

Configuration

This plugin requires no user-level configuration. After installation, the plugin is injected into the host with the identifier ipollowork-video-studio (cordis.patch.yml:1-3) and automatically registers the Video view in the DSH Web side; at runtime, each process startup uses a 32-byte random token to protect iframe communication and HTTP API calls (lib/index.js:210), with all read/write operations restricted to the video/<sessionId>/ directory within the current workspace (lib/index.js:13-14, 93-126).

FAQ

Q: What is the relationship between this plugin and deepseek-design?

A: It is the "video" branch of the deepseek-design suite, specifically adding a Video view to the Harness conversation (README.md:13-17 / source/README.md:48-56). Like sibling plugins iDesign (Design view) and iPPT (PPT view), it shares the iPolloWork Studio contract and template protocol, but project directories are isolated from each other—you can install just this one.

Q: Will installing it also download the iPolloWork desktop app or the other two sibling plugins?

A: No. The npm package includes the browser resources needed for the Video view (packages/deepseek-ivideo/lib/, packages/deepseek-ivideo/studio/dist/), neither downloading the iPolloWork desktop application nor forcing installation of iDesign/iPPT; the three plugins' project directories (design/, design/-ippt/, video//) are isolated from each other and won't overwrite each other.

Q: Where are video project files saved?

A: All files are written to the video/<sessionId>/ directory of the currently registered workspace in DeepSeek Harness (source/shared/types/hyperframes-project.ts:14-16 / source/plugins/deepseek-ivideo/src/runtime.ts:236-247), containing real editable files like index.html, design-tokens.css, manifest.json, brief.json—not a closed cloud canvas; you can edit these files with any code editor, or have AI continue modifying them through conversation.

Q: What video templates are included?

A: 27 built-in editable video templates covering dynamic titles, code explanations, data charts, product demos, brand intros, AI workflow demonstrations, and more (packages/deepseek-ivideo/lib/templates/*/manifest.json). Template filtering only allows templates with surface === "video" and category === "video" (packages/deepseek-ivideo/lib/index.js:20-22); Design and PPT templates won't be mixed in.

Q: Does Ask AI automatically send messages?

A: No. Ask AI only organizes the current video project or selected element's relative path, CSS positioning, text/alt/src, and computed styles into a conversation draft filled into the Harness input box (packages/deepseek-ivideo/lib/client.js:113-128 / source/plugins/deepseek-ivideo/src/client.tsx:20-30). The user must click send to submit—the plugin doesn't automatically execute tool calls; after selecting elements, context is sent to Harness via postMessage cross-iframe communication (channel ipollowork-video-studio-host-v1, with origin and source dual validation).

Q: Will multiple people editing simultaneously overwrite each other?

A: No. Video file writing goes through writeStudioText with baseUpdatedAt version checking (source/shared/studio-host/src/http.ts:161-163); if files have been externally modified since last read, a 409 conflict is returned prompting you to reload; writing uses temporary files + rename for atomic replacement, avoiding half-written states. Template application also validates in an isolated directory first, then atomically replaces—on failure, it restores the old project and restarts Studio (packages/deepseek-ivideo/lib/index.js:37-82 / README.md:68-75).

Q: Why doesn't the first version include voice cloning and Design System drawer?

A: The first version explicitly disables features.voice and features.designSystem switches in Studio (source/plugins/deepseek-ivideo/studio/src/main.tsx:48-54), with branding title fixed to iVideo by iPolloWork; these are global capabilities of the iPolloWork main project and aren't exposed to the DSH host in the current version—only Video templates, timeline, visual editing, animation, preview, and export capabilities are retained. Users needing these capabilities must use the iPolloWork desktop client.

Q: How to uninstall?

A: Run dsh plugin --profile web remove deepseek-ivideo. After uninstallation, the Video view will disappear from the conversation tab bar, but files in the workspace's video/<sessionId>/ won't be automatically deleted—please manually clean up if no longer needed.

Learning Curve

Beginner — After installation, no configuration is needed; you can start creating by selecting the Video view in conversation. AI generation, canvas fine-tuning, and Ask AI interactions can all be completed within the same interface—no code writing or config file adjustments needed; template application, validation, and export are all triggered via built-in buttons in Studio.

Known Issues and Limitations

  • First version does not include built-in voice cloning, voice settings, or Design System drawer: In Studio, features.voice and features.designSystem are explicitly set to false (source/plugins/deepseek-ivideo/studio/src/main.tsx:48-54); users needing these capabilities must use the iPolloWork desktop client.
  • Can only read/write video/<sessionId>/ subdirectory: All APIs force path restriction under the video/ prefix via safeRelativePath (packages/deepseek-ivideo/lib/index.js:13-14 / source/shared/studio-host/src/http.ts:46-60); other workspace directories won't be accessed by the plugin; cross-workspace symlinks are also rejected (source/shared/studio-host/src/http.ts:80-95).
  • Single file size limit 4 MB: Text reading and writing of video project files like index.html are constrained by MAX_TEXT_BYTES = 4 * 1024 * 1024 (packages/deepseek-ivideo/lib/index.js:14, 94-125); HTTP request body limit remains 20 MB (source/shared/studio-host/src/http.ts:10, 187), returning 413 when exceeded.
  • Session ID format restricted: Must match ^[A-Za-z0-9_-]{1,128}$ (packages/deepseek-ivideo/lib/index.js:13); sessions with IDs that are too long or contain special characters directly return 400.
  • Port allocation in 3100-3899 range by hash modulo: Each sessionId derives a fixed local port (source/shared/types/hyperframes-project.ts:1-8), probing up to 32 ports backward for available slots; if all are occupied, startup fails (source/plugins/deepseek-ivideo/src/runtime.ts:21, 258-307).
  • Runtime process has idle timeout: All leases are automatically recycled by SIGTERM after 60 seconds, with startup timeout cap at 45 seconds (source/plugins/deepseek-ivideo/src/runtime.ts:19-22, 405-410); Harness parent process and preview child process coordinate recycling via IPC disconnect events (packages/deepseek-ivideo/lib/preview-owner-guard.js:1-13).
  • Embedded HyperFrames runtime version differs from npm public release: The release package copies the local build artifact of vendor/hyperframes via stage-hyperframes-runtime.mjs (current source version 0.7.60) into lib/hyperframes/ at packaging time (package.json:55-57); it won't pull the same-named package from npm during installation; users wanting to upgrade must wait for the main repository to sync and re-publish.
  • Validation tool timeout 120 seconds: ipollowork_video_validate aborts the underlying process after execution exceeds 120 seconds (packages/deepseek-ivideo/lib/index.js:191, 220-238); particularly complex projects need segmented validation or simplified project structure.
  • Video export requires Puppeteer and Chrome: HyperFrames runtime dynamically loads browser via await import("puppeteer-core") (packages/deepseek-ivideo/lib/hyperframes/cli.js); ensure Chrome/Chromium that Puppeteer can launch is installed on the system before export.

Read the usage guide →

Install steps, key points, FAQ and compatibility for this plugin — auto-derived from indexed fields.

Listing badge

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/Devin-AXIS/deepseek-design/packages/deepseek-ivideo)

Paste this markdown into your GitHub README to link back to this listing. The badge only states the listing — not a security endorsement.

← Back to plugin directory