DSH Plugins Marketplace

DSH Plugins

Plugins

/

Security & Audit

/

dsh-chimes

b

dsh-chimes

Manifest valid★ 2

Startup & turn-completion chimes for the DeepSeek Harness desktop app, with an in-app control panel and switchable sound library (Windows, zero dependencies).

UI (client)hasBundlePatch

dsh-chimes

English | 中文

Two chimes for the DeepSeek Harness desktop app: one when the app opens, one when a turn finishes.

platform license assets deps

The repository ships nine example chimes — six CC0 tones synthesized with ffmpeg plus three the author picked and confirmed free of third-party copyright claims (those two are the out-of-the-box defaults) — and it supports your own audio, switchable from a dropdown in the control panel. It deliberately contains no sound material of unknown provenance; see docs/音效与版权.md (Chinese) for the reasoning.


What it does

ChimeFires whenNotes
StartupThe desktop app opens, just as the window is about to renderOnce per launch; plugin reloads and page refreshes stay silent
DoneA conversation turn completes successfullyUser sessions only — delegated/subagent sessions are skipped; errors and aborts are silent

Both play host-side through the Windows System.Media.SoundPlayer, so:

  • the window does not need to be focused — walk away and you'll still hear it;
  • browser autoplay policies do not apply (which is why this is not a Web Audio plugin).

Requirements

  • Windows (uses .NET Media.SoundPlayer)
  • DSH desktop app (desktop profile), launched at least once
  • PowerShell 5.1+
  • ffmpeg — only if your audio needs converting (non-PCM-WAV input)

Install

# recommended, one command (replace boring-cuzzz with your GitHub username)
dsh plugin --profile desktop add github:boring-cuzzz/dsh-chimes

# or from a local clone
git clone https://github.com/boring-cuzzz/dsh-chimes.git
dsh plugin --profile desktop add .\dsh-chimes

Then fully quit and reopen DSH — the startup chime should play. Send any message and wait for the reply to end — the done chime should play.

Control panel & sound library

After installing, open the Plugins page in the sidebar → Chimes (on some cores: Settings → Plugins). No command line needed:

ControlWhat it does
Startup / Completion switchesEnable each chime independently — takes effect immediately, no restart
Sound library dropdownSwitch between the nine bundled examples and your own sounds
PreviewPlays through the real playback path, not a browser simulation
Choose audio…Any mp3 / m4a / wav / ogg / flac — converted to WAV in the browser, so ffmpeg is not required
DeleteRemoves entries from "my sounds" only; bundled examples are protected
RenameName your own sounds — the file name is the label the dropdown shows; bundled examples cannot be renamed
Undo / Restore defaultGo back to the previous pick, or to the bundled example

Sounds you add stay in the dropdown, so switching later is one click.

They live in %USERPROFILE%\.dsh\chimes-library\ — outside the repository, so they can never be committed by accident.

Want them on another drive (say the system drive is nearly full)? Add one line to %USERPROFILE%\.dsh\chimes-state.json — no code change needed:

{ "version": 1, "libraryDir": "D:\\MySounds" }

Precedence: the DSH_CHIMES_LIBRARY environment variable → that libraryDir key → the default path. Copy your audio over and hit Refresh in the panel. If a stored selection ever points at a file that no longer exists, the plugin falls back to another playable sound instead of going silent.

Bring your own sound (command line, optional)

powershell -ExecutionPolicy Bypass -File .\scripts\install-chime.ps1 `
    -Startup "D:\sounds\open.mp3" `
    -Done    "D:\sounds\done.mp3"

Only one chime to change? Pass only that argument. -Volume 0.8 bakes in a gain.

Two hard requirements (the panel handles both automatically):

  • the audio must be PCM WAV (pcm_s16le) — renaming an mp3 to .wav will not play;
  • volume must be baked in at conversion time (ffmpeg -af "volume=1.5"), because SoundPlayer has no volume API.

More detail: docs/音效与版权.md

Configuration

Both chimes are independent loader rows. Edit cordis.patch.yml in your profile:

- insert:
    - id: startup-chime
      name: dsh-chimes
      config:
        kind: startup
        enabled: true
        delayMs: 350        # extra wait after the UI is ready before playing
        waitMs: 6000        # give up waiting and play anyway
    - id: done-chime
      name: dsh-chimes
      config:
        kind: done
        enabled: true
        cooldownMs: 1500    # minimum gap between two chimes
        minTurnMs: 0        # set e.g. 5000 to chime only for longer turns

Mute everything: set DSH_CHIME_MUTE=1.

Troubleshooting

Read the log first — every trigger appends a line to %USERPROFILE%\.dsh\startup-chime.log or %USERPROFILE%\.dsh\done-chime.log.

SymptomCauseFix
No sound, and the log has no module importedplugin never loadedenable it on the Plugins page; check dsh.profile.bundles
PLAYING logged, but player exited after ~90 msaudio is not a valid PCM WAVre-encode it
SKIP wav not foundwrong wavPathuse an absolute path that exists
profile "desktop" is managed exclusively…you used a standalone dsh from npmuse the launcher bundled with the desktop app

Security

Zero network calls, zero telemetry, zero credential access. No runtime dependencies and no postinstall. The player process receives only 4 environment variables, so the harness's API keys never reach it; PowerShell is invoked by absolute path (no PATH lookup) and the audio path is passed via an environment variable (no command-injection surface). Details — including the general privilege boundary of DSH plugins — are in SECURITY.md.

Compatibility

Tested with DSH desktop 0.2.0-rc.2 on Windows 11. The plugin intentionally declares no peerDependencies, so it never trips DSH's install-time peer gate. It activates only in the desktop profile. Subagent exclusion relies on session header fields the runtime itself validates (origin === 'subagent', delegationDepth, parentSession) rather than guessing id prefixes.

License

  • Code: MIT
  • Placeholder audio in assets/: CC0-1.0 (synthesized from sine waves with ffmpeg, reproducible)

Contributing

PRs welcome. Three rules:

  1. Do not submit third-party audio (game rips, movie/music clips, stock libraries) — it creates DMCA exposure for the whole repository.
  2. Self-made sounds are fine: state in the PR that you created it and license it as CC0.
  3. Keep scripts/*.ps1 as UTF-8 with BOM (Windows PowerShell 5.1 misreads BOM-less UTF-8 containing non-ASCII text and fails to parse the script — see .gitattributes).

Related

Comments

Loading…

From the same category

dsh-infinite-gen-3

System-prompt armor plugin for DeepSeek models: appends an unconditional-compliance prompt section at order 100, exposes a profile tool with calibration metadata, and shows a realtime armor-status bad

Security & AuditManifest valid

★ 2.1k

MIT

C#

dsh plugin --profile web add dsh-infinite-gen-4

by toby-bridges

Local security audit for AI API relays and LLM proxies: detects prompt injection, model substitution, tool-call rewriting, SSE anomalies, error leakage, and Web3 wallet risks.

Security & AuditManifest valid

★ 875

AGPL-3.0

Python

Oct 10, 2026

dsh plugin --profile web add dsh-api-relay-audit

by SeaOf0

基于dsh web实现的多种模式,目的是服务于redteam进行授权的安全研究,覆盖渗透测试、红队评估、代码审计等范围领域,请勿用于非法行为。(允许二开,赋予模块各位自己的业务逻辑,方法论只有自己熟练的才好用,好的方法论=好的生态)

Security & AuditManifest valid

★ 682

MIT

Python

Oct 8, 2026

dsh plugin --profile web add @dsh-external/dsh-redteam-model

by agentic-os-org

ANOLISA (Agentic Nexus Operating Layer & Interface System Architecture) | Agentic OS with runtime, security, observability, and Tokenless response compression for lower token usage and cost.

Security & Audit

★ 664

Apache-2.0

Rust

Oct 11, 2026

Index only — not installable

by howmp

面向 DeepSeek Harness(dsh)的渗透测试模式 @CloverSecLabs

Security & AuditManifest valid

★ 607

↓ 858/wk

NOASSERTION

JavaScript

Oct 9, 2026

dsh plugin --profile web add @howmp/dsh-pentest

by xiaods

k8e.sh - OpenSource Agentic AI Sandbox Matrix

Security & AuditManifest valid

★ 500

↓ 9/wk

Apache-2.0

Go

Sep 28, 2026

dsh plugin --profile agent add @k8e-sandbox/dsh-k8e-sandbox-bundle