xiaxingtianxia2-glitch/dsh-chime

xiaxingtianxia2-glitch/dsh-chime

为 DeepSeek Harness 复刻 opencode 的任务完成提示音,完成、提问、计划待审、出错四种场景播放原始音效,零外部依赖。

通知与集成chimedeepseek-harnessdsh

English | 中文

dsh-chime

Independently built with the dsh creation mode + Deepseek-V4-Flash0731

What is this

Replicates opencode's task-completion chime inside DeepSeek Harness: a crisp notification sound when a turn finishes, when the agent asks you a question, when a plan is submitted for review, or when a turn ends in error. All three sources are the original mp3 files from the opencode repository, embedded losslessly (base64 inside the client bundle). The plugin is fully self-contained with zero external dependencies.

How it works

  1. Host half (Cordis bundle entry) listens to agent/status (a running → idle transition means a turn finished; error-marked turns play the error sound) and tools/execute (queues the question sound the moment the ask_user_question question tool or the exit_plan_mode plan tool starts), enqueueing sounds as needed;
  2. webServer routes: /chime/poll serves the pending queue, /chime/debug exposes status and a listen-through entry;
  3. Client half (browser) polls /chime/poll every 250 ms and plays the embedded base64 sources via Audio.

Sounds

SoundTriggerSource (original opencode)
donea turn finishesbip-bop-01.mp3
questionthe question dialog appears / a plan is submitted for reviewyup-01.mp3
errora turn ends in errornope-03.mp3

Install

dsh plugin --profile web add dsh-chime

Or install from the GitHub source (identical content):

dsh plugin --profile web add github:xiaxingtianxia2-glitch/dsh-chime

Restart dsh web after install (the client channel is scanned at startup). This plugin listens at host level — every agent/session (including subagents) triggers it on completion.

Usage

Nothing to do — it just works. Listen and debug:

curl http://127.0.0.1:3080/chime/debug
{"pendingCount":0,"recent":["done","question"],"runningCount":1}

recent = recent enqueue history; pendingCount = queue length (consumed by the client every 250 ms); runningCount = live agent count.

Listen to a specific sound:

curl http://127.0.0.1:3080/chime/debug?play=done      # done | question | error

FAQ

  • No sound? Check the system volume and that the browser tab is not muted; then visit /chime/debug?play=done to test. If it enqueues but does not play, refresh the page to reload the client player.
  • Subagent completions also chime? Yes — host-level listening covers all agents, matching opencode semantics. Uninstall to stop: dsh plugin --profile web remove dsh-chime.
  • Question sound missing? The question sound triggers when the question tool starts (the moment the dialog appears); the plan-review sound triggers when the exit_plan_mode tool starts. Non-standard question/plan channels that do not go through these tools will not trigger it.
  • Still active after restart? Yes — bundle plugins are assembled from the profile on startup.

License

MIT