HtO404
dsh-chime
Task-completion notification chime for the DSH web GUI: beeps when an agent turn finishes, even in background tabs. 10 preset sounds + custom import + volume.
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 15, 2026
- Updated
- Aug 15, 2026
Introduction
A task-completion chime for the DeepSeek Harness (DSH) Web GUI.
The moment a root agent turn finishes, it rings — even while the tab is in the background. Stop watching the task list; it will tell you the second you're done.
Contents
Features · Quick Start · Usage · How It Works · Presets · FAQ · Support · Agent Install
You kicked off a 20-minute task, then switched tabs to watch a video. 20 minutes later you come back: the task finished long ago — and you have no idea when.
— dsh-chime exists to fill that one second.
Features
| ⏱ Rings in the background Web Audio playback; works when the tab is hidden | 🎵 10 curated presets Seeded on first run, ready out of the box | 📂 Bring your own sound wav / mp3 / ogg — use your own audio |
| 🔊 Volume control 0–100% slider, preview on release | ⚙️ One panel, everything Settings → Plugins, preferences persist | ♻️ Survives restarts Static host + client plugin, auto-starts with DSH |
Quick Start
Option 1 — npm
dsh plugin --profile web add @hto404/dsh-chime
Option 2 — local folder
dsh plugin --profile web add link:C:\path\to\dsh-chime
Option 3 — manual
Place dsh-chime under node_modules/@hto404/ in your web profile, then append to ~/.dsh/cordis.patch.yml:
- insert:
- id: chime
name: '@hto404/dsh-chime'
Restart DSH (start-dsh.bat).
Usage
Live demo — try the controls yourself: docs/demo.html

- Restart DSH and open the Web GUI.
- Go to Settings → Plugins →「🔔 任务完成提示音」.
- Pick a preset, import your own sound, drag the volume, or mute — all applied and saved instantly.
- From then on, every finished task rings — even in a background tab.
Didn't hear anything the first time? Click 测试声音 once to unlock the browser's autoplay policy — everything works after that.
How It Works
| Role | What it does |
|---|---|
Host lib/index.js | Listens to agent/status; queues a notification when a root agent turns idle; serves /dsh-chime/poll, /dsh-chime/presets, /dsh-chime/preset-audio |
Client lib/client.js | Polls /dsh-chime/poll every 2s; plays the selected sound with Web Audio; the control panel lives in the settings.plugin.item slot |
Rule of thumb: only root agents (main sessions) trigger the chime — intermediate subagent completions don't. A long task with a dozen subagents won't ping you mid-way; you hear it only when the final result lands.
Presets
Preset directory: $DSH_HOME/dsh-chime/sounds (default ~/.dsh/dsh-chime/sounds). The 10 bundled sounds are seeded there on first run. Drop any mp3/wav/ogg into that folder and restart the plugin to add your own.
| Preset | Vibe |
|---|---|
| 01-欢快铃声 · Cheerful Bell | Light and pleasant, like good news arriving |
| 02-双声蜂鸣 · Double Beep | Classic electronic, no-nonsense |
| 03-消息弹出 · Message Pop | Short and light, presence without noise |
| 04-确认音 · Confirmation | Steady and assured, the ritual of finishing |
| 05-数字短音 · Quick Tone | One crisp note, unmistakable |
| 06-快速叮咚 · Fast Ding | Bright and loud, hardest to miss |
| 07-气泡通知 · Bubble Pop | Playful, a little cute |
| 08-清亮提示音 · Clear Chime | Airy and mellow, for softer tastes |
| 09-吉他通知 · Guitar Alert | A warm chord, like someone calling you |
| 10-游戏成功 · Game Win | A rising sense of victory — task done! |
Bundled sounds come from Mixkit Free Sound Effects under the Mixkit License (free for commercial use).
FAQ
The task finished but nothing rang — why?
Check, in order:
- Is Mute on, or the volume dragged to 0?
- Was it a subagent? dsh-chime only rings for root agents (main sessions).
- Did the browser block autoplay? Click 测试声音 once to unlock it.
Can I hear it while the tab is in the background?
Yes. Web Audio playback doesn't depend on page visibility — that's the whole point of dsh-chime.
How do I use my own sound?
Two ways: click 导入声音 in the panel and pick a local audio file, or drop an mp3/wav/ogg into the preset directory — it appears in the dropdown after a plugin restart.
Do I need to re-enable it after a DSH restart?
No. dsh-chime is a static, composition-mounted plugin — it starts automatically with DSH, and your sound settings persist.
Agent Install
Running an AI agent and want it to install this plugin for you? Point it at the instructions:
👉 AGENT-INSTALL.md — starts with "Agent,看这里" and walks any agent through installing this repo into DSH end-to-end.
Support
If it saved you from one extra glance at the task list —
give it a ⭐ so more people who've been walked around by their agents find it.
The point of a tool is to give your attention back to yourself. The eyes that used to watch the task list can rest now.
Apache-2.0 · Made for DeepSeek Harness · Sounds from Mixkit