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.

Meow — DSH Plugin for DeepSeek Harness
← Plugins
M

dsh-meow

Meow

DSH web plugin: a synthesized meow sound when the harness needs confirmation, needs input, hits an error, or finishes a turn, with an enable/disable toggle in Settings.

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

npx -y @deepseek-ai/dsh plugin --profile web add github:nonmean/dsh-meow#af1dcf31f6c491ce3fa79d8f41135aff0fe6ff93
READMECompatibilityVersions
The Meow notification sound row in Settings → General

Compatibility and provenance

Meow is published as dsh-meow and currently resolves to version 0.1.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
9/24/2026

Versions

0.1.0stable
9/24/2026

Related plugins

Loading related plugins…

Latest
0.1.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
9/23/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 integrations-communication.

Acp App@deepseek-ai/dsh-acp-appThe dsh ACP profile bundle: automation-only JSON-RPC stdio and process lifecycle over dsh-baseRemote 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 rIm@xmanrui/dsh-im把十二种 IM 渠道和公网 AI Office 接入本机 DeepSeek Harness。 Connect twelve IM channels and a public AI Office to a local DeepSeek Harness.Univer Officedsh-univer-officeDSH × Univer integration with a bundled collaboration Gateway and Viewer: inline previews, live floating Worktree windows, and session-end review actions in DeepSeek Harness.

README

dsh-meow

Hear when DSH needs you — or is done. A DeepSeek Harness web plugin that plays a short synthesized meow in the browser at four moments, with an enable/disable toggle in Settings → General.

No audio file ships with the plugin: each meow is generated live with the Web Audio API, so there is nothing to download and no binary asset to trust.

Compatibility

Built and verified against DeepSeek Harness 0.1.7-alpha.2 with Cordis 4.0.4 on macOS and Node 24. It uses only published extension points — the approval/request and user-questions/request waterfalls, session/event, the webServer route registry, the slot registry, and the dsh.client bundle format — so it should keep working across patch releases.

The four moments

MomentHost observation pointMeow character
Confirmation neededa prepended listener on the approval/request waterfallquestioning rise, bright
Input neededa prepended listener on the user-questions/request waterfallsofter triangle
Something wrongturn/end with reason errorlow and long
Task doneturn/end with reason completedcontent, slightly higher

The approval listener is prepended so it fires only when an answerer is actually consulted: the approval service resolves the never policy before dispatch, so a session that auto-rejects approvals stays silent. The question listener is prepended and delegates with next(), so it observes the request without claiming it from the browser answerer.

Settings

Open Settings → General and find Meow notification sound. The master switch is the enable/disable control. While it is on, the row also offers:

  • one checkbox per moment (confirmation, input, error, done);
  • Include subagent sessions — off by default, so a delegated child's turn end does not meow;
  • a volume slider;
  • Test to hear the meow immediately.

The Meow notification sound row in Settings → General

The Settings → General row: master switch, one checkbox per moment, the subagent opt-in, volume, and Test.

Settings are stored in a plugin-owned file at $DSH_HOME/dsh-meow.json (by default ~/.dsh/dsh-meow.json), so toggling needs no profile reload.

Install

Install straight from GitHub (the built lib/ is committed, so no build step runs on install):

pnpm dsh plugin --profile web add git+ssh://git@github.com/nonmean/dsh-meow.git

Or, from a local checkout, point the profile at the directory:

pnpm dsh plugin --profile web add link:/path/to/dsh_meow

This appends dsh-meow to the web profile's bundle list and mounts its cordis.patch.yml host row. The browser half ships through the package.json dsh.client declaration and needs no separate roster row.

Then restart dsh web (or reload the page if the profile HMR picked the row up) and hard-refresh the browser so the new client bundle is fetched. The Settings row appears under General.

To remove it:

pnpm dsh plugin --profile web remove dsh-meow

How it works

  • Host half (lib/index.js) observes the four moments, keeps a bounded, per-kind-deduplicated queue, and serves three same-origin JSON routes: GET /meow/state, POST /meow/state, and GET /meow/events?since=N.
  • Browser half (lib/client.js) polls /meow/events every 700 ms and plays one synthesized meow per queued event, and registers the Settings row. The first poll adopts the host cursor without playing, so reloading a page never replays an old backlog.
  • Routes refuse cross-site callers (Sec-Fetch-Site: cross-site).

Browsers block audio until a user gesture. The player resumes its AudioContext on the first pointer or key event, and only schedules while the context is running, so a meow plays from the first event after you interact with the page.

Development

pnpm install     # or symlink node_modules as described below
pnpm build       # tsdown -> lib/index.js + lib/client.js (committed)
pnpm typecheck   # tsc --noEmit
pnpm smoke       # host- and browser-half smoke tests, no DSH runtime needed

The browser bundle is emitted in the DSH client module system's lazy-CJS factory format (window.ModuleLoader.load), with only the frozen platform-module table kept external. lib/ is committed on purpose so the plugin installs from a checkout or a git URL without a build step.

Troubleshooting

SymptomFix
No sound at allClick or type in the page once (browser autoplay policy), then Test.
Settings row missingRestart dsh web and hard-refresh; confirm the bundle is in the web profile's dsh.profile.bundles.
Meows too oftenTurn off individual moments, or keep Include subagent sessions off.
Meows on every tool errorThe plugin only meows on a turn that ends in error, not on recoverable tool errors; if a turn ends in error repeatedly, that is the signal.