dsh-pub
dsh-meow-cat
A cat runs across the bottom of the DeepSeek Harness web UI with a synthesized meow every time a conversation turn ends.
- Stars
- 1
- Language
- JavaScript
- Created
- Aug 14, 2026
- Updated
- Aug 14, 2026
Introduction
dsh-meow-cat
Every time a conversation turn ends in the DeepSeek Harness web UI, a small cat 🐈 runs across the bottom of the window with a "喵~" speech bubble and a meow. The meow is synthesized at runtime — no audio assets, no external URLs, no dependencies — and the whole plugin is two plain JavaScript files plus a one-row bundle patch.
Install
npx dshpub add dsh-pub/dsh-meow-cat --profile web
The command pins the current public commit, validates the bundle contract, and forwards to the native dsh plugin --profile web add …. Restart your dsh web process afterwards; the cat loads with the next page load and runs for the first time when the in-flight turn ends.
How it works
- Node half (
lib/index.js): counts finished turns on the host-planeagent/statusevent (idle= no driver remains scheduled) and serves the count atGET /plugins/dsh-meow-cat/status. - Browser half (
lib/client.js): polls the endpoint, and on every increment runs a pure-CSS cat animation across a click-through fixed layer and plays the synthesized meow. - Meow synthesis: a 16-bit mono WAV is generated in memory — a 520→760→430 Hz pitch contour ("mi-aa-ou") with mid-note vibrato and a nasal harmonic stack — and played as a base64 data URI.
Configuration
Defaults work out of the box. To tune it live, set a JSON override in your browser console (re-read on every poll):
localStorage.setItem("dsh-meow-cat.config", JSON.stringify({
enabled: true, // master switch
pollMs: 1500, // status poll interval, min 250
volume: 1.0, // meow volume 0~1
debug: false, // console diagnostics
}))
Known limitations
- Browsers block audio until the page has seen a user gesture; the very first meow after a fresh page load may be silent (sending any message unlocks it).
- The turn counter is per
dsh webprocess and host-plane: the cat runs when any session in the process finishes a turn, and the count resets on server restart. - The registry badge reports
not listeduntil the listing commit deploys.
License
MIT — see LICENSE.