Skip to content
dsh.fish
Bundle

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.

Source
dsh-pub
stars
2 stars
License
MIT
Updated
Updated 11 days ago

Readme

# 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

```bash
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-plane `agent/status` event (`idle` = no driver remains scheduled) and serves the count at `GET /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):

```js
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 web` process 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 listed` until the listing commit deploys.

## License

MIT — see [LICENSE](./LICENSE).

Install

dsh plugin --profile web add github:dsh-pub/dsh-meow-cat

Profile: web

  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source