DeepSeek Harness Plugin

STARDUSTLC666/dsh-hyperframes

Stars ★ 8 Downloads (30d) 2,006 Category Skills Added 2026-08-15 npm dsh-hyperframes

Twenty HyperFrames by HeyGen skills synced from the official upstream (HTML video authoring, animation, keyframes, audio/music-to-video, CLI, registry, slideshow, talking-head recut, website/product/PR-to-video and more), plus a bundled-resource health check.

Install

# from npm (prebuilt)

dsh plugin --profile web add dsh-hyperframes

# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)

dsh plugin --profile web add github:STARDUSTLC666/dsh-hyperframes

Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).

README

中文

dsh-hyperframes

DSH (DeepSeek Harness) video-creation skill plugin: installing it registers the twenty-one official HyperFrames by HeyGen skills into DSH (video from HTML: core workflow, animation, audio, captions, keyframes, creative templates, CLI, registry, website-to-video; synced with official v0.8.82).

Compatibility

Validation host: Harness 0.2.0-rc.1 built from official sources (commit 407e65c8) with Node 24.16.0 on 2026-09-28. All 23 plugin tests pass in an isolated environment; all 18 plugins mount together in one host registering 21 skills and 1 tools, with tool schemas and health-check contracts passing. No live ports or external services were exercised in this round.

Installation

dsh plugin --profile web add dsh-hyperframes

After restarting, say "turn this website into a HyperFrames video" to trigger it.

Uninstall

dsh plugin --profile web remove dsh-hyperframes

Then restart the web service. To clean up fully, also remove the plugin entry from your profile cordis.patch.yml if you overrode it.

Skills

Skill Purpose
hyperframes Router: HTML video compositions (styles/palettes/captions/audio-reactive/transitions)
hyperframes-core Core concepts and component model
hyperframes-animation Animation: GSAP/Anime.js/Lottie/Three.js/WAAPI adapters
hyperframes-audio Audio: voiceovers, audio-reactive visuals
hyperframes-keyframes Keyframe animation
hyperframes-creative Creative templates and styles
hyperframes-cli npx hyperframes CLI (init/check/preview/render/timeline/publish/cloud/transcribe/tts/doctor, ...)
hyperframes-registry hyperframes add registry block installation and wiring
hyperframes-studio Studio timeline conventions: track layering, caption track, safe zones
embedded-captions Embedded captions
faceless-explainer Faceless explainer videos
figma Figma asset integration
general-video General video production
media-use Media usage guidelines
motion-graphics Motion graphics
music-to-video Music-driven video
pr-to-video PR-to-video
product-launch-video Product launch videos
remotion-to-hyperframes Remotion project migration
slideshow Slideshow videos
talking-head-recut Talking-head recuts

Requirements

Node.js 22.19+ (22.x) / 24+ + FFmpeg (npx hyperframes).

Porting notes

Synced from the official heygen-com/hyperframes repository at v0.8.82 (2026-09-28): the complete packaged skills/ tree, 21 skills, copied as-is with no frontmatter changes. Since v0.8.20, hyperframes-studio (Studio timeline conventions) is new, the brief/storyboard/script docs moved from hyperframes-core to the hyperframes skill, media-use and music-to-video were substantially reworked (built-in motion primitives), and the embedded-captions scripts were upgraded upstream.

Multi-harness

Skills use the open Agent Skills (SKILL.md) format — not just DSH. Copy the directories under skills/ into another agent's skills directory:

Agent Skills directory
Claude Code ~/.claude/skills/
Cursor .cursor/skills/ (or project-local skills/)
Gemini CLI ~/.gemini/skills/
OpenAI Codex ~/.codex/skills/

Port once, use everywhere.

Health checks and reloads

hyperframes_health rereads every SKILL.md, verifies readable files, valid YAML frontmatter, names matching their directories, and nonempty descriptions/bodies, then queries the host's skills.get. The effective name, description, body and resource directory must match this plugin instance's loaded snapshot. Existing files alone do not prove successful or still-active registration.

Health checks do not mutate files or registrations. After changing a file or repairing one that failed initial loading, reload the plugin (or restart DSH). The result reports changed, not_registered or registration_failed until then. A previously loaded file that was temporarily missing becomes healthy again if its exact original content is restored and its registration remains active.

Each item retains name / ok / detail and adds code / fileOk / registered / registryChecked / reloadRequired. registered means the registry still matches the loaded version, so a changed file can have registered: true and ok: false. Missing or failed registry lookup produces registry_unavailable; a disposed plugin produces disposed. The public checkBundledSkills() is disk-only, while the original non-throwing parseSkillFile() helper remains available.

Development and shared implementation

src/index.ts declares only package identity, skill names and the resource directory. Parsing, validation, registration and health logic live in src/skill-bundle.ts. The canonical source is in dsh-hyperframes; Remotion carries an identical version-controlled copy. Each package builds and ships its own lib/skill-bundle.js, with no cross-package runtime dependency and no sibling checkout required for building or installation.

With dependencies already installed:

node node_modules/typescript/bin/tsc -p tsconfig.json
node --test "test/*.test.mjs"

When developing the sibling repositories together, edit the shared module and regression tests in HyperFrames, then synchronize:

# Run in dsh-hyperframes; updates only three shared files in sibling dsh-remotion
node scripts/sync-skill-bundle.mjs
node scripts/sync-skill-bundle.mjs --check

Both suites compare shared source and regression tests to prevent drift. A standalone checkout skips only that cross-repository comparison. Tests cover invalid YAML, unreadable files, empty bodies, rejected/inactive registrations, file changes and repairs, disposal races and cleanup failures, without invoking video or speech services.

License

MIT for the porting arrangement; skill content copyright remains with HeyGen.

Content from the project README on GitHub ↗

Links

More in this category

View the whole category →

Community comments

Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.