Sound alerts for the DSH web UI: a chime when an answer completes and a three-tone prompt when your approval or question is pending, with optional custom WAV stored only in the local browser (pure client-side, zero assets).
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:WanchunLian/dsh-plugin-sound-alert
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
This plugin publishes its README in Chinese only.
DSH Web 轻量提示音插件(纯客户端 · 零资源文件 · 小而美):
- 回答完成时响铃(叮-咚 上行双音 / 可自定义 WAV)
- 需要授权 / 计划审阅 / 向你提问时响铃(三连提示音 / 可自定义 WAV)
- 设置入口:设置 → 提示音(Settings → Sound Alerts)
- 自定义铃声直接选本机 .wav 文件即可,Data URL 持久化在本机浏览器,不上传
提醒:本插件为第三方开发,安装前请审阅源码。
安装(本地 link,方式与 dsh-plugin-polish-my-expression 相同)
# 1) 在 web profile 中加入依赖(link 到本项目)
# 等价于在 C:\Users\wanch\.dsh\profiles\web 下执行:
# pnpm add "link:D:/mycode/dsh/dsh-plugin-sound-alert"
#
# 并把 "dsh-plugin-sound-alert" 追加进 package.json 的
# dsh.profile.bundles 列表(顺序放在最后一个 bundle 后即可)。
# 若用 dsh 命令:
# dsh plugin --profile web add "link:D:/mycode/dsh/dsh-plugin-sound-alert"
# 2) 重新安装/组合 bundle
# dsh plugin --profile web install
# 3) 重启 web profile 使新 bundle 层生效
# (在运行 GUI 的终端里 Ctrl-C 后重新 dsh web,或按你的启动方式重启)
对 GitHub 发布版使用者:
dsh plugin --profile web add github:WanchunLian/dsh-plugin-sound-alert
使用
- 打开 设置(齿轮)→ 提示音。
- 勾选 启用声音提醒。
- 完成音 / 授权音各自选择:
- 内置铃声:无需任何文件,WebAudio 合成;
- 自定义 WAV:点“选择 WAV…”挑一个本机
.wav(建议简短、≤3MB), 出现后可 试听 / 移除。
- 可选:提醒范围(仅当前会话 / 所有会话)、音量。
行为说明
| 场景 | 铃声 |
|---|---|
| 会话 busy 态结束(回答/处理完成) | 完成音 |
| 后台会话出现“已完成”提醒(范围=所有会话) | 完成音 |
| 授权请求 / 计划审阅 / 向你提问(pendingInteraction 出现) | 授权音 |
| 完成帧与等待授权同时出现 | 只响授权音(不重复打扰) |
- 默认 仅当前会话,避免子会话/后台任务频繁打扰;需要后台完成提醒时切“所有会话”。
- 内置防抖(完成 1.6s / 授权 0.5s),避免一帧多个事件重复响。
- 浏览器自动播放策略:页面有过任意一次点击/按键后即可发声;若从未交互,声音会被浏览器静默拦截(首次试听请先点一下页面)。
数据与隐私
- 配置与自定义 WAV 仅存于本机浏览器
localStorage(键dsh-plugin-sound-alert:cfg), 不上传、不写入会话;换浏览器/设备后需重新设置。 - 插件纯浏览器实现,不注册任何后端路由、不调用 LLM。
目录结构
lib/index.js 宿主半边(cordis 空壳,插件为纯客户端)
lib/client.js 浏览器半边:状态监听 + 声音引擎 + 设置页
cordis.yml bundle patch(web profile loader 入口)
docs/design.md 设计取舍说明
License
MIT
Links
More in this category
xmanrui/dsh-im★ 3118
Connect IM bots to DeepSeek Harness via QR codes or bot credentials (9 channels: Feishu, WeChat, DingTalk, WeCom, QQ, Slack, Telegram, Discord, and WhatsApp).
shaobeichen/dsh-pocket★ 2685
Remote phone access to the DSH Web UI: scan a QR code for LAN or public (cloudflared tunnel) access with real-time sync, a mobile-adaptive layout, and a settings tab.
OpenPetsHQ/openpets#dsh★ 1373
Bridges DeepSeek Harness lifecycle status, errors, and approval requests to a locally running OpenPets desktop companion.
c1overzz/dsh-bili-scroll★ 1150
Let your DSH agent browse Bilibili on its own, read subtitles, write a daily digest, and @ you when it finds something worth your attention.
inclusionAI/Avernet#deepseek-harness-channel-bcn★ 599
Connects DeepSeek Harness to Avernet's Bot Collaboration Network over WebSocket V2, with automatic onboarding, isolated agent sessions, tool-call events, and multi-bot routing tools.
zaofan-make/dsh-qqbot★ 213
QQ official bot channel for DeepSeek Harness (feature-rich fork of tencent-connect/dsh-qqbot): group and private chat with the full agent, sticker library with auto-tagging and AI meme replies, group management (join approval and mute), botplay interactive card events with paginated catalogs, user extension registry (custom slash commands and QQ tools), scheduled wakeups, remote approvals over QQ, and a floating dock web UI.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.