AI-Galaxy-GPU/dsh-sound 预览 preview

AI-Galaxy-GPU/dsh-sound

DeepSeek Harness(DSH)Web 端插件:回合完成、审批、提问、计划评审、目标受阻、任务失败各有独立提示音与音量,内置合成音 / 静音 / 本地音频文件,Web 设置面板可配置。

Project Overview项目介绍

This is a native plugin built exclusively for the DeepSeek Harness (DSH) Web UI that plays customizable audio notifications when tasks complete or when human attention is required. It splits notifications into six independent event types, each of which can have its own sound source and volume adjusted separately. It also distinguishes between main agent and subagent events, with all subagent notifications muted by default, and includes an option to ignore all subagent events entirely. To install it officially, you need DSH with bundle plugin support and pnpm available on your system PATH, and you can complete installation with a single dsh plugin add command.

The plugin supports three types of sound sources: built-in synthesized sounds, mute, and custom local audio files uploaded by the user. Built-in sounds are generated directly via the Web Audio API, so no external audio files are required. User-uploaded local audio files are stored in the browser’s IndexedDB, which avoids the storage quota limits of localStorage, while plugin configuration settings are stored in localStorage. Unavailable or unreadable audio references are ignored gracefully, and playback failures do not break the plugin or the DSH UI.

The plugin can also be installed manually without pnpm, or installed directly from the GitHub source repository to track the main development branch. It is released under the open source MIT license, has no extra runtime dependencies beyond what DSH provides, and never initiates external network requests. It also does not access any files outside of the browser sandbox, so it poses minimal security risk to your system or your DSH instance. After installation, you just need to restart the DSH web server or refresh the browser page to access the plugin settings.

这是一个专为DeepSeek Harness (DSH) Web UI开发的原生插件,功能是在任务完成或是需要人工介入时播放可自定义的提示音。插件将提示分为六个独立事件,每个事件都可单独设置声音来源和音量,还支持区分主代理和子代理事件,子代理事件默认全部静音,也支持一键忽略所有子代理事件。

声音来源支持插件内置的合成音效、静音和用户本地音频文件三种选项,内置音效无需额外文件,直接通过Web Audio生成。上传的本地音频文件会存储在浏览器的IndexedDB中,不会受localStorage配额限制,配置信息则存储在localStorage里。

安装需要DSH支持bundle插件,并且系统PATH中有pnpm,执行一条dsh plugin命令就能完成安装,也支持手动安装或者从GitHub源码安装。插件遵循MIT许可协议,没有额外依赖,不会发起网络请求,也不访问浏览器沙箱外的文件系统。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 note1 项提示
  • 11 stars - an early-stage project星标 11,属于早期项目
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add @ai-galaxy/dsh-sound

把 AI-Galaxy-GPU/dsh-sound 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-sound

English | 中文

A DeepSeek Harness (DSH) plugin for the Web UI: play a customizable sound when a task finishes, and an attention sound whenever something needs a human.

📬 Submitted to Awesome DSH Plugin — PR #752 (pending maintainer approval)

Screenshots

dsh-sound settings

Features

Six independent events

Each event type has its own sound and its own volume (0–100%):

Event Detection Default sound
Turn end / background task completed turn/end with reason.kind === 'completed'; job → completed Chime
Approval request approval/requested frame Ding
User question question/requested frame (not plan-review shaped) Ding
Plan review question/requested frame classified as plan-review Ding
Goal blocked goal projection enters blocked Ding
Background / loop failure job → failed; turn/end error; host/agent-error Bell
  • Completion respects the “quiet current session” option; attention events (approval / question / plan-review / goal-blocked / failure) always ring.
  • User abort, killed jobs, and max-tokens / blocked / interrupted turns stay silent.
  • Events come from events.mux plus events.host. Mux-open replay of still-pending approval/question frames (refresh recovery) does not ring; each rpcId rings at most once.
  • When the event stream is unavailable or frames fail to unwrap, the plugin falls back to snapshot diffing.
  • Multiple tabs: the same event rings only once (BroadcastChannel tie-break). A single tab plays immediately, with no 40 ms handshake.

Separate subagent channel

Subagent-originated events are detected and routed independently from the main agent:

  • One-shot subagent jobs — a session/jobs entry with kind === 'subagent' (each parallel delegation completing used to ring the main completion sound; now it does not).
  • Subagent sessions — events whose session row is marked origin: 'subagent' / parentId (continuable subagents), including child-session turn ends, approvals, questions, goal projections, and failures.

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev DSHL 下一个 Next dsh-kuikly-expert →