Make sending a message in the DeepSeek Harness Web GUI feel alive: when you hit send, an epic themed particle burst erupts from your own message bubble and a matching Web-Audio sound plays. Only your messages trigger it — agent responses never do.
Everything is configurable in the Plugins settings section.
- Burst from your bubble — the explosion radiates from the actual message you just sent (measured from the live DOM), not the center of the screen.
- A dozen themed styles with descriptive names:
- Color burst — bright radial splash (default)
- Blood splatter — red gooey droplets with gravity
- Arcane shards — glowing purple-blue runes
- Juice fountain — a juicy colorful fountain that falls back down
- Neon glitch — neon pixel streaks with cyan/magenta light
- Silver sparks — silver-blue witcher-sign sparks
- Party confetti — colorful tumbling confetti
- Electric arc — fast electric blue spark burst
- Rising motes · Star twinkle — soft ambient options
- Off — no animation
- Sound auto-matches the style (e.g. Thud for Blood, Glitch for Neon, Magic chime for Arcane) — or pick any sound manually. All sound is synthesized in the browser with the Web Audio API (no audio files needed).
- Configurable live in Settings → Plugins → Interactive Chat: animation on/off + style + size, sound on/off + effect + volume.
This is a standard DSH web plugin, mounted by adding the package to the web profile and inserting its bundle patch:
dsh plugin --profile web add link:<path-to-this-package>or manually: copy/symlink the package into
~/.dsh/profiles/web/node_modules and extend
~/.dsh/profiles/web/cordis.patch.yml:
- insert:
- id: interactive-chat
name: 'dsh-interactive-chat'- insert:
- id: interactive-chat
name: 'dsh-interactive-chat'
# config is optional:
- id: interactive-chat
name: 'dsh-interactive-chat'
config:
enabled: true # false disables the whole plugin
announceToAgent: true # false skips the agent prompt section| Setting | Options |
|---|---|
| Animation | On / Off |
| Animation style | Color burst, Blood splatter, Arcane shards, Juice fountain, Neon glitch, Silver sparks, Party confetti, Electric arc, Rising motes, Star twinkle, Off |
| Size | ×0.5 – ×2.5 |
| Sound | On / Off |
| Sound effect | Auto (match animation), Pop, Chime, Whoosh, Arcane chime, Thud, Squish, Glitch, Sign, Off |
| Volume | 0 – 100% |
Setting are currently kept in the browser session (a static plugin that the web shell reloads on start keeps them for the session lifetime).
npm install # (dev only; there are no runtime deps)
npm run check # syntax check host+client + run tests
npm test # unit testsPublishing to npm is automated by .github/workflows/ci.yml whenever a v*
tag is pushed (uses the NPM_TOKEN repository secret).
MIT — see LICENSE.