DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Miran Fann Dsh — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
M

miran-fann-dsh

Miran Fann Dsh

Miran Fann for DeepSeek Harness: the GPU motion-graphics engine as dsh tools, skills and a Miran settings section.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:rakibulrocky14/miran-fann-dsh#f3d70314d79bbedd28e7251716d7ab731f01a105
READMECompatibilityVersions

Compatibility and provenance

Miran Fann Dsh is published as miran-fann-dsh and currently resolves to version 0.1.6-beta.1. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
10/19/2026

Versions

0.1.6-beta.1beta
10/19/2026

Related plugins

Loading related plugins…

Latest
0.1.6-beta.1
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
Not declared
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
10/19/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in ui-customization.

Web App@deepseek-ai/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profileExperimental Web profile layer for Agent Teams Remote and UI pluginsAb Chartdsh-ab-chartChart rendering tool with the browser card that draws its calls, in one publishable plugin packageWeb App@monotykamary/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)

README

Miran Fann

Miran Fann for DeepSeek Harness

Motion graphics on this Mac, from a dsh session. The plugin starts the Miran engine, hands its tools to the model as mcp__miran__*, and adds a Miran section to dsh Settings.

dsh session ──tool call──► dsh mcp-client ──stdio──► ~/.miran/bin/miran mcp
     ▲                                                     │
     └────────────── frame, video, project JSON ◄───────────┘

Install

The engine comes first; the plugin only connects to it.

npx miran-fann setup        # the engine in ~/.miran/bin/miran

Setup adds the plugin to the web profile by itself when dsh is installed, and every automatic update of the engine brings the plugin of the same version. To add it by hand, use Plugins in the dsh web sidebar with the address below, or:

dsh plugin --profile web add github:rakibulrocky14/miran-fann-dsh#v0.1.6-beta.1

dsh 0.2.1-rc.2 or newer is needed (npm i -g @deepseek-ai/dsh@next).

Restart dsh web after the install. dsh --profile web --dump-config shows the miran-fann layer when it loaded.

Sign in

Miran's tools run only for a signed-in install. Open Settings → Miran: the page shows the account, the engine version, the GPU backend and whether the tools are connected. Sign in runs the real flow (the browser opens miranfann.com, the engine receives the code); Sign out ends it. The plugin never fakes the sign-in and never works around it.

Settings

Everything on Settings → Miran is read from and written to the engine, so dsh, Claude Code and Codex agree:

PartWhat it does
AccountWho is signed in; sign in and out through the engine
EnginePath, version, GPU, setup command when missing
WorkspaceFolder the engine reads and writes
ToolsTool surface (default, lean, full); the engine's own choice
dsh toolsConnected state, reconnect
Live viewerStart the viewer, viewer theme, time units, preview quality
Render defaultsExport quality, file-size limit, default voice
API keysGoogle Gemini, ElevenLabs, OpenRouter, fal, Replicate
GenerationImage, video and draft models, per-call and per-day caps, spend so far
VoicesDefault voice, cloud voices, built-in voice
Feedback and updatesShare feedback, auto-update, version, update now
SkillsThe skills this plugin gives the agent

Keys go to dsh's credential store and to Miran's own key store, as secret fields. The page only ever shows the last four characters. An environment variable with the same name wins over both.

The Built-in plugins → Miran tab shows the same state as a card, with Open live viewer.

Tools and skills

The model sees the engine's tools as mcp__miran__<tool>. The default list is the engine's own MIRAN_TOOLS_DEFAULT; Settings → Tools offers the engine choice, lean (about 30 tools, the rest through runScript) and full (every tool in the schema).

Skills ship in skills/<name>/SKILL.md and load into dsh's skill registry, so /miran-... and model-side loading use the same files. Start with miran-dsh-studio; it names the others.

SkillTeaches
miran-dsh-studioThe order of work, research, the beat sheet, the handoff map
miran-dsh-directionsChoosing a visual direction per brief, never a house look
miran-dsh-referenceStudying reference videos and turning them into the film's own timing and motion
miran-dsh-designHierarchy, readable sizes, depth, real UI
miran-dsh-typeSetting, revealing and reading type
miran-dsh-motionEases, timing, holds, the motion library
miran-dsh-cutsShot length, cutting, transitions
miran-dsh-cameraDepth, pushes, 3D screens, rack focus
miran-dsh-soundMusic, events, levels, the drop
miran-dsh-polishFinishing, grade, export, captions
miran-dsh-launchThe arc of a launch film
miran-dsh-explainerThe structure of an explainer
miran-dsh-social9:16, hooks, captions, loops

Configuration

Profile settings live in cordis.patch.yml; every field has a default.

FieldDefaultMeaning
enginePath""Engine binary; empty means ~/.miran/bin/miran, then PATH (MIRAN_BINARY also counts)
workspace""Folder the engine reads and writes; empty leaves it to the engine
tools"default"default follows MIRAN_TOOLS_DEFAULT, lean lists about 30 tools, full lists all
viewertrueStart the live viewer with the engine
viewerPort47800Preferred viewer port; the next free one when taken

Troubleshooting

"Miran engine not found" — run npx miran-fann setup, or set enginePath to the binary. The settings page prints the path it looked for.

Tools connected, but a call says sign-in is required — open Settings → Miran and sign in; the engine gates every tool call on the account.

No Miran section in Settings — the browser half did not load. Check that dsh --profile <name> --dump-config lists miran-fann, then restart dsh web and reload the page.

A render returns no image — the engine sends images as MCP image parts; dsh shows them in the session. If a call returns text only, the engine refused the render and the message says why.

The viewer will not open — the port is taken. Change viewerPort, or stop the other viewer.