DSH Plugins Marketplace

DSH Plugins

Plugins

/

Development & Infrastructure

/

dsh-plugin-example

d

dsh-plugin-example

Manifest valid

A starter plugin to copy from: one right-sidebar tab with two languages, behaviour tests that mount the real bundle, and CI that runs the manifest preflight.

UI (client)hasBundlePatch

dsh-plugin-example

The example tab, as the host renders it

checked with dsh-plugin-toolkit

A DeepSeek Harness plugin in ~70 lines: one sidebar tab that says hello and counts clicks. It exists to be read, copied, and installed in one command.

dsh plugin add dsh-plugin-example

What it shows

PieceWhereWhy it is worth copying
The bundle envelopeclient.js first and last linesA client plugin is one file calling window.__ModuleLoader__.load({ id, factory }). No bundler, no relative imports.
The tabapply() → sidebarRightTabs.registerkind is what the tab is opened by; title is a function, because it is re-read when the language changes.
The bodyslots.register({ name: 'sidebar.right.pane.tab', key })The host injects the pane; you render its contents and inherit its theme.
Two languagesCOPY + ctx.locale.registerKeys missing from one language fall back to the other, so a half-translated plugin still renders.
The host halfindex.jsEmpty here on purpose: a plugin with nothing to serve does not need routes.

Check it

npm run check

check runs dsh-plugin verify .: it packs the tarball, installs it, imports the host half and mounts the panel from the installed copy. doctor reads the working folder and would still pass if files forgot client.js — verify is the one that notices. CI runs the same check through WJDdidi-1/dsh-plugin-toolkit@v1 with version: latest, so the pin below only affects your own npm test.

Test it

npm install
npm test

The one test mounts the real client.js in jsdom with the real React, through dsh-plugin-toolkit:

const panel = await mountClient({ file: 'client.js' });
assert.equal(panel.text(), 'Hello from a plugin');
await panel.click('[data-testid="bump"]');
assert.match(panel.text(), /Clicks: 1/);

That is the difference between "the bundle parses" and "the button works".

Requirements

Harness>=0.2.0 (the version that ships sidebarRightTabs)
Node>=18, for the test only
Permissionsnone: no network, no key, no telemetry

License

Apache-2.0.

Comments

Loading…

From the same category

awesome-dsh-plugin

by awesome-dsh-plugin

A curated list of plugins for DeepSeek Harness (dsh) · DeepSeek Harness 插件精选列表

Development & Infrastructure

★ 21.9k

CC0-1.0

Python

Nov 1, 2026

Index only — not installable

by 0xsline

DeepSeek Harness (DSH) ecosystem: curated plugins, tools, and infrastructure from dsh-external/hub and the public dsh-plugin topic.

Development & Infrastructure

★ 1.3k

CC0-1.0

Python

Oct 16, 2026

Index only — not installable

by Yuuyuko-uu

DSH 鱼的记忆:给会话一份会淡忘的长期记忆,每条都带时间

Development & InfrastructureMemory & ContextSessions & MessagesManifest valid

★ 451

MIT

JavaScript

Nov 1, 2026

dsh plugin --profile web add dsh-fish-memory

by SAOS-3624

Scene-aware storyboard for DeepSeek Harness: 9-16 numbered cells with timestamps + transcript + an audio envelope, packed into ONE image (384 tokens). Two tools: video_storyboard and video_zoom.

Tools & CapabilitiesVision & MultimodalDevelopment & InfrastructureManifest valid

★ 354

↓ 4.4k/wk

MIT

JavaScript

Nov 1, 2026

dsh plugin --profile web add dsh-video-storyboard

by uumit-ai

Open dsh web from your phone or another computer through a UUMit account, without running your own server or installing another program: a built-in tunnel client connects to UUMit's hosted tunnel, and

Tools & CapabilitiesDevelopment & InfrastructureTerminal & ClientsManifest valid

★ 305

↓ 303/wk

MIT

JavaScript

Oct 21, 2026

dsh plugin --profile web add @uumit-ai/dsh-uumit-remote

by xiajiajun516

DeepSeek Harness (DSH) backup & restore plugin — export, import, migrate and sync your complete DSH configuration, plugins, MCP servers, skills and workspace. One-click migration to another machine.

Development & InfrastructureManifest valid

★ 287

↓ 8.4k/wk

MIT

TypeScript

Nov 1, 2026

dsh plugin --profile web add dsh-config-manager