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.

Bouncing Squares Example — DSH Plugin for DeepSeek Harness
← Plugins
B

dsh-bouncing-squares-example

Bouncing Squares Example

Example plugin for dsh-granular-settings: three bouncing squares, one per settings scope (session, workspace, global). Switch sessions and workspaces to watch each scope behave differently. Exercises toggle, text, color, slider, number, enum, and multiselect controls.

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

npx -y @deepseek-ai/dsh plugin --profile web add github:joao-paulo-santos/dsh-bouncing-squares-example#02558efa02605295e26ace1060483a43a5ca45e7
READMECompatibilityVersions

Compatibility and provenance

Bouncing Squares Example is published as dsh-bouncing-squares-example and currently resolves to version 0.3.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
8/27/2026

Versions

0.3.0stable
8/27/2026
0.2.0stable
8/26/2026

Related plugins

Loading related plugins…

Latest
0.3.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
8/26/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
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in

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 pluginsClient Ui Task Board@linxin666/dsh-client-ui-task-boardHost-authoritative task board for the DSH Web GUI with real session execution, Host cron scheduling, and optional cross-platform idle-sleep protection; mounted without DSH source changes.Remote Web Ui@linxin666/dsh-remote-web-uiScan-to-pair remote access for the dsh web GUI that shares one official interface: a QR beside the settings button pairs phones and PCs into the same Web GUI (a portrait-touch adaptation layer for phones, full desktop on PCs) through one-time tokens and r

README

dsh-bouncing-squares-example

A DeepSeek Harness (DSH) plugin, and the example plugin for dsh-granular-settings: three bouncing squares share your screen, each driven by one settings scope.

squarescopewhat changing it teaches
bluesessionone value per session: two sessions can show two colors at once
amberworkspaceone value per workspace: every session in the workspace shows the same
greenglobalone plugin-wide value: the same in every workspace, and it keeps bouncing with no session open at all

What to try

  • Open two sessions in the same workspace and give them different Session square colors. Each session square keeps its own color; both workspace squares match.
  • Switch workspace: the session and workspace squares follow the new context, the global square does not change at all.
  • Close every session: only the global square remains, because global values exist without a session context.
  • The workspace square's Text prefix (enum) and Text suffixes (multiselect) decorate its label. The global square's size (number) resizes it.

The settings it registers

Every scope registers the same four keys, show, color, text, speed, so the scope axis is easy to see, plus one or two types the others do not have:

scopekeystypes exercised
sessionshow, color, text, speedtoggle, color, text, slider
workspaceshow, color, text, speed, prefix, suffixestoggle, color, text, slider, enum, multiselect
globalshow, color, text, speed, sizetoggle, color, text, slider, number

Code tour

  • lib/index.js, host half: one gs.register call per setting, nothing else.
  • lib/client.js, browser half: each square is a handful of gs.useSetting(NS, scope, key) calls plus physics. The platform hook owns the session context, subscriptions, default fallback, and writes; module-scope flight state survives context switches. The global square reads the sessionless context, which is why it bounces with no session open.

How to install

Requires a DeepSeek Harness checkout and a profile, here web. Clone the dependencies and this plugin into a plugins folder:

mkdir -p ~/dsh-plugins && cd ~/dsh-plugins
git clone https://github.com/joao-paulo-santos/dsh-event-relay.git
git clone https://github.com/joao-paulo-santos/dsh-granular-settings.git
git clone https://github.com/joao-paulo-santos/dsh-bouncing-squares-example.git

# from the harness checkout
pnpm dsh plugin --profile web add ~/dsh-plugins/dsh-event-relay
pnpm dsh plugin --profile web add ~/dsh-plugins/dsh-granular-settings
pnpm dsh plugin --profile web add ~/dsh-plugins/dsh-bouncing-squares-example

# verify the profile still composes
pnpm dsh --profile web --dump-config

Then restart the harness. The squares appear immediately; their controls live in the settings dialog under Granular Settings.

Dependencies

  • dsh-granular-settings provides both halves this plugin talks to
  • dsh-event-relay carries the change doorbells (required by dsh-granular-settings)

Plugins dependent on this

(none, this is the end of the line: an example, not a platform)