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.

Web Ding — DSH Plugin for DeepSeek Harness
← Plugins
W

@falling-ts/dsh-web-ding

Web Ding

DSH Cordis plugin: announces the moment an agent finishes (turns idle) by pushing a 'done' signal from the Host half into the falling-ts-web-ding settings namespace, which the browser client half mirrors live and answers with a synthesized 'ding' tone via the Web Audio API. The tone is played ENTIRE

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

npx -y @deepseek-ai/dsh plugin --profile web add github:falling-ts/dsh-web-ding#afa2e978c5d5b83ce984143ce547bbdb38bafe22
READMECompatibilityVersions
Settings page: the **提示音配置** section, two blocks each with its own switch and tone

Description

DSH Cordis plugin: announces the moment an agent finishes (turns idle) by pushing a 'done' signal from the Host half into the falling-ts-web-ding settings namespace, which the browser client half mirrors live and answers with a synthesized 'ding' tone via the Web Audio API. The tone is played ENTIRELY by front-end JS in the browser — the Host/node backend never emits audio and no Windows/system notification is used.

Compatibility and provenance

Web Ding is published as @falling-ts/dsh-web-ding and currently resolves to version 0.4.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/17/2026

Versions

0.4.0stable
9/17/2026
0.3.1stable
9/10/2026
0.3.0stable
9/9/2026
Show 8 more versionsCollapse versions
0.2.1stable
9/4/2026
0.2.0stable
8/31/2026
0.1.5stable
8/30/2026
0.1.4stable
8/30/2026
0.1.3stable
8/30/2026
0.1.2stable
8/28/2026
0.1.1stable
8/27/2026
0.1.0stable
8/27/2026

Related plugins

Loading related plugins…

Latest
0.4.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 1
Weekly downloads
0
Last push
9/16/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-baseIm@xmanrui/dsh-im把十一种 IM 渠道和公网 AI Office 接入本机 DeepSeek Harness。 Connect eleven IM channels and a public AI Office to a local DeepSeek Harness.Pocketdsh-pocketPut DeepSeek Harness in your pocket: one package, one settings page, and scan a QR code on your phone to access DSH on your computer in sync (LAN + public network, real-time screen mirroring).Chat Importdsh-chat-importImport conversation history from 25+ AI coding agents into DeepSeek Harness as resumable sessions — tool calls, reasoning and results kept intact, with reverse export and sync. | 把 25+ AI 编程 Agent 的聊天记录导入 DeepSeek Harness 继续对话,保留工具调用、推理与结果,支持反向导出与同步。

README

dsh-web-ding

A DSH Cordis plugin that plays a "ding" in the browser the moment an agent finishes (runs to idle). The sound is synthesized entirely by front-end JavaScript (Web Audio API) — the Node/Host side never plays audio and no Windows/system notification is used.

Built by following the architecture of dsh-force-compact: a pure-listener Host half + a browser client half connected by the official settings/document-updated mirror channel.

What it does

LayerWhat happens
Host (index.js + src/)Listens for the agent/status idle transition (all turns done, including sub-agents, before the next human turn; a fresh idle session that never ran, and repeated idle ticks, stay silent). Publishes { phase:'done', at, sessionId } into the falling-ts-web-ding settings namespace. Never emits audio, never calls the OS.
Browser (web/client.js)Mirrors the namespace live via settingsScope. On a strictly-newer done signal it synthesizes a short ding (three sine oscillators + exponential decay envelopes) with the Web Audio API and plays it through the tab — and, at the same moment, pops a Win11-style toast in the bottom-right corner. Clicking the toast slides in a notification drawer listing every turn-end message (kept in browser localStorage, capped at 100, deduped by signal at), with per-message delete and a clear-all button. Everything stays front-end: no backend audio, no OS notification.

Install

dsh plugin --profile web add github:falling-ts/dsh-web-ding

Requires the web app to ship the client bundle (the dsh.client declaration in package.json does that automatically).

Configuration (falling-ts-web-ding namespace, $DSH_HOME/settings.yaml)

Two independent blocks, each with its own switch and its own tone:

Block 1 — 弹出用户选择 (question popup ding) — plays when the harness pops a user-question chooser in the browser. Detection is client-side on the DOM ([data-question-key] anchor of the QuestionComposer): the Host half sees no question frame, so this block is entirely browser-side.

FieldTypeDefaultMeaning
questionEnabledbooleantrueSwitch for the question-popup ding.
questionVolumenumber 0..10.7Web Audio playback gain.
questionFreqnumber 80..4000880Fundamental frequency of the ding (Hz).
questionDecayMsnumber 100..4000900Tone decay length (ms).

Block 2 — 回合结束 (turn-end ding) — the classic agent/status idle-transition tone. The Host observes agent/status; on the idle transition (all turns done, including sub-agents, before the next human turn; fresh sessions that never ran and repeated idle ticks stay silent) it publishes the done signal.

FieldTypeDefaultMeaning
turnEndEnabledbooleantrueSwitch for the turn-end ding (Host skips publishing when off).
turnEndVolumenumber 0..10.7Web Audio playback gain.
turnEndFreqnumber 80..4000880Fundamental frequency of the ding (Hz).
turnEndDecayMsnumber 100..4000900Tone decay length (ms).

Besides the ring, each turn end drops a bottom-right toast (Win11-style, auto-dismisses after 6 s). Click it to open the right-side notification drawer: the last 100 turn-end messages are kept in the browser's localStorage (key falling-ts-web-ding.notify.v1), each row can be deleted individually, and a "全部删除" button clears them all. The message log is front-end only — the Host never reads or writes it.

You can also adjust both blocks from the 设置 → 提示音配置 panel, each with its own switch and its own "试听" (preview) button.

Browser autoplay policy

Browsers block audio until a user gesture. The client warms the AudioContext on the first pointer/key interaction (and on the preview button), so: interact with the page once (or press 试听) and you will hear the ding at every agent turn end. An audio context in a background tab may be suspended by the browser itself — keep the tab visible to hear the tone.

Development

# mount as a dev overlay (plain JS, no build step)
dsh web --patch $(pwd)/cordis.patch.yml   # if supported by your CLI
# or install from a local path
dsh plugin --profile web add /path/to/dsh-web-ding

See AGENTS.md for the plugin's own rules (pure Host listener, no backend audio, no OS notification, only sanctioned settings-mirror channel to the browser).

Screenshots

Settings page: the 提示音配置 section, two blocks each with its own switch and tone

Settings page: the 提示音配置 section — "弹出用户选择" and "回合结束" blocks, each with its own switch, volume, frequency and decay length, all live-editable without a restart, each with a 试听 (preview) button to warm the browser AudioContext.


License

MIT