Skip to main content

iPolloWork/external-plugins/deepseek-harness/video-studio

4.3kStars833Forks76Issues552Watchers

Adds native Video view to DeepSeek Harness. Based on HyperFrames 0.7.60, enables direct generation, editing, and export of editable video projects within conversations, with validation tool support.

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

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

Language
TypeScript
License
NOASSERTION
Branch
main
agent-collaborationagent-skillsai-agentsai-workclaude-codecodexdeepseek-harnessdsh-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/iPolloWork/external-plugins/deepseek-harness/video-studio for me: review the repository at https://github.com/Devin-AXIS/iPolloWork 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 Pitch

deepseek-ivideo injects iPolloWork's Video Studio as a native Video view into DeepSeek Harness, allowing you to have AI draft or modify entire videos within conversations, apply 27 built-in templates, and trigger precise Ask AI modifications for selected elements on the canvas, ultimately exporting the final footage.

Core Capabilities

  • Provides a native Video view 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 file in the current workspace
  • After selecting titles, images,素材 (assets), or other elements on the canvas, trigger precise modification requests with Ask AI—the plugin only prepares drafts without auto-sending
  • Built-in 27 editable video templates that can be applied to the current session project with one click, with automatic rollback on failure
  • Provides ipollowork_video_validate model tool for structured validation of editable videos in the current session
  • Each session corresponds to an independent HyperFrames preview process, with all leases automatically recycled after 60 seconds and automatic fallback on port conflicts
  • Exports videos as finished pieces based on HyperFrames native export capability, with canvas operations directly applied to HTML/CSS/asset files

Technical Implementation

  • Languages: TypeScript + React (Studio frontend, Vite build) + Node.js (HTTP bridging 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), @deepseek-ai/dsh-client-ui-conversation (frontend conversation view slot)
  • Architecture Pattern: The server injects a plugin named ipollowork-video-studio via cordis.patch.yml, registers webServer routes under the /ipollowork-video prefix during the apply phase, connecting static resources, template directories, project initialization, and validation tools to the host; simultaneously injects client code into the Harness Web via dsh.client.inject, registering a conversation.view slot in conversations to render the iframe hosting Studio; Studio internally reuses the VideoPanel from the iPolloWork main project and bridges to host APIs via createDeepSeekVideoStudioHost
  • Entry Files: src/index.ts (server registration and HTTP API), src/client.tsx (frontend Video view), studio/src/main.tsx (Studio internal React application), stage-hyperframes-runtime.mjs (copies vendor/hyperframes local build artifacts to lib/hyperframes at packaging time, runtime only calls embedded cli.js)

Use Cases

Suitable for users who need to directly produce editable videos, marketing clips, social media content, or teaching segments within the DeepSeek Harness workspace. The pain point is that previously only one-time videos or screenshots could be obtained in conversations, with no way to continue fine-tuning individual elements; this plugin keeps the real HyperFrames project in video/<sessionId>/ and allows AI generation, direct canvas editing, and element-level Ask AI to alternate seamlessly.

Prerequisites & Compatibility

DependencyMin VersionDescription
@deepseek-ai/dsh-client-runtime>=0.0.1-rc.1 <0.2.0-0Client runtime, required for DSH Web
@deepseek-ai/dsh-client-ui-conversation>=0.0.1-rc.1 <0.2.0-0Conversation view slot mechanism (required for Video view registration)
@deepseek-ai/dsh-host-webserver>=0.0.1-rc.1 <0.2.0-0Host 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 / LinuxOnly depends on host DSH's Web service and Node.js child processes; process.platform distinguishes Windows from POSIX for process group signal handling

Installation

dsh plugin --profile web add github:Devin-AXIS/iPolloWork/external-plugins/deepseek-harness/video-studio

Configuration

This plugin requires no user-level configuration. After installation, the plugin is injected into the host as ipollowork-video-studio (cordis.patch.yml), automatically registers the Video view in the DSH Web client, uses a 32-byte random token to protect iframe communication and API calls, and all read/write operations are restricted to the video/<sessionId>/ directory within the current workspace.

FAQ

Q: What is the relationship between deepseek-ivideo and the iPolloWork main project?

A: deepseek-ivideo is a Video sub-plugin separately published by iPolloWork for DeepSeek Harness—the package.json name is deepseek-ivideo, containing only the browser resources needed for the Video view; installing it does not download or launch the iPolloWork desktop client, nor does it pull in the two independent plugins Design (deepseek-idesign) and PPT (deepseek-ippt) together.

Q: Where are video projects saved?

A: All files are directly written to the video/<sessionId>/ directory of the currently registered workspace in DeepSeek Harness (packages/types/src/hyperframes-project.ts:14-16 / src/runtime.ts:234-247), including index.html, manifest.json, brief.json, and other real editable files, isolated from iDesign's design/ and iPPT's design/<sessionId>-ippt/ directories to prevent mutual overwrites.

Q: Will Design or PPT views be automatically included after installation?

A: No. Video template filtering only allows templates with surface === "video" and category === "video" (src/index.ts:61-64); website, poster, and report templates are provided by the independent deepseek-idesign plugin, and PPT templates are provided by deepseek-ippt; the project directories of these three plugins are isolated from each other.

Q: Does Ask AI automatically send messages?

A: No. Ask AI only organizes the relative path, positioning info, text, assets, and styles of the current video project or selected elements into a conversation draft and fills it into the Harness input box (src/client.tsx:20-30), waiting for user confirmation before manually sending—this prevents AI from auto-submitting and causing uncontrollable changes.

Q: Will multiple people editing simultaneously overwrite each other's work?

A: No. Video file writes go through studio-host's writeStudioText, attached with baseUpdatedAt; if a file has been modified since last load, it returns a 409 conflict prompt for the user to reload (studio-host/src/http.ts:161-163); writes themselves use temporary files + rename for atomic replacement, avoiding half-written states.

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

A: The first version explicitly disables voice and designSystem feature toggles in Studio (studio/src/main.tsx:48-54), with the branding title fixed as iVideo by iPolloWork; these are global capabilities of the iPolloWork main project and are not exposed to the DeepSeek Harness host in the current version—only Video templates, timeline, editing, preview, and export capabilities are retained.

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 video/<sessionId>/ in the workspace will not be automatically deleted—please manually clean up if no longer needed.

Difficulty Level

Beginner — No configuration required after installation; you can select the Video view in conversations to start creating. AI generation, canvas fine-tuning, and Ask AI interactions can all be completed in the same interface without writing code or modifying config files; template application, validation, and export are all triggered via built-in buttons in Studio.

Known Issues & Limitations

  • First version does not include voice cloning, voice settings, or Design System drawer: Studio has features.voice and features.designSystem explicitly set to false (studio/src/main.tsx:48-54)—users needing these capabilities must use the iPolloWork desktop client.
  • Can only read/write video/<sessionId>/ subdirectories: All APIs force path restriction to the video/ prefix via safeRelativePath (src/index.ts:144-164 / studio-host/src/http.ts:46-60); other workspace directories are not accessible by the plugin; cross-workspace symlinks are also rejected (studio-host/src/http.ts:80-95).
  • Single file size limit 4 MB: Text file reads/writes like index.html in video projects are constrained by MAX_TEXT_BYTES = 4 * 1024 * 1024 (src/index.ts:43), different from iDesign/iPPT's 20 MB; HTTP request body limit remains 20 MB (studio-host/src/http.ts:10, 187), returns 413 when exceeded.
  • Session ID format restricted: Must match ^[A-Za-z0-9_-]{1,128}$ (src/index.ts:42)—session IDs that are too long or contain special characters return 400 directly.
  • Port allocation in 3100-3900 range by hash modulo: Each sessionId derives a fixed local port (packages/types/src/hyperframes-project.ts:1-8), probing up to 32 ports backward for available slots; if all are occupied, startup fails (src/runtime.ts:21, 258-307).
  • Runtime process idle timeout: All leases are automatically recycled via SIGTERM after 60 seconds, startup timeout cap is 45 seconds (src/runtime.ts:19-22, 405-410).
  • Embedded HyperFrames runtime version differs from npm public release: The release package copies vendor/hyperframes local build artifacts (current source version 0.7.60) to lib/hyperframes/ via stage-hyperframes-runtime.mjs at packaging time; it does not fetch a similarly named package from npm at install time; users wanting to upgrade must wait for the main repo sync and re-publish (package.json:66 / stage-hyperframes-runtime.mjs:7-47).
  • Validation tool timeout 120 seconds: ipollowork_video_validate aborts the underlying process after 120 seconds (src/index.ts:209-237)—highly complex projects need segmented validation or simplified structure.

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/iPolloWork/external-plugins/deepseek-harness/video-studio)

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