@linxin666/dsh-chime
任务完成提示音 for the dsh web GUI: a ding-dong chime when the current session's agent turn completes, a floating volume control, and a Plugins-settings page (volume, mute, built-in sounds, custom-audio upload). Zero runtime dependencies — host half is plain Node, browser half is plain React.
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Mystery-God/dsh-chime说明文档
阅读完整 README ↗dsh-chime
任务完成提示音插件 for DeepSeek Harness Web GUI(dsh-web-ui 插件生态)。
当前会话的 agent 任务结束时播放提示音(叮咚),支持音量调节、静音、更换内置音效、上传自定义音频文件,设置页位于「设置 → 插件 → 任务完成提示音」。
功能
- 🔔 任务完成提示音:监听当前会话
running → idle跳变,任务结束瞬间响铃(切换会话 / 页面加载不误响) - 🎚️ 音量与静音:设置页内 0–100% 音量滑块与静音开关,改动即持久化
- 🎵 多种音效:内置「经典叮咚 / 柔和门铃 / 清脆提示 / 三连音」(Web Audio 实时合成,无音频文件依赖)
- 📁 自定义音频:上传本地音频文件(mp3 / wav / ogg / m4a / aac / flac / webm,≤16MB),保存到
~/.dsh/chime/audio/,可试听、可删除 - ⚙️ 设置页:注册在「设置 → 插件」,音量 / 静音 / 音效选择 / 上传管理全部图形化
- 💾 零运行时依赖:host 半体纯 Node 内置模块,浏览器半体纯 React,无需构建(
lib/即发布产物)
安装
# 安装到 web profile(dsh 插件市场 / dsh CLI)
dsh plugin --profile web add github:Mystery-God/dsh-chime
# 或直接改 profile 的 package.json / bundles 后 pnpm install
安装后重启 dsh web,即可在「设置 → 插件 → 任务完成提示音」中配置。
工作原理
lib/index.js — host 半体:~/.dsh/chime/settings.json 存储 + /api/dsh-chime/* 路由(设置读写、音频上传/播放/删除)+ agent 公告
lib/client.js — 浏览器半体:设置页(settings.plugins.tab)+ 完成监听(shell.overlay + useSessions 标准 props)
cordis.patch.yml — bundle patch:把插件行注入 profile 组合
- 路由带 loopback + same-origin 围栏(与 dsh-ssh 一致),LAN 暴露的部署不会对外提供这些接口
- 音量/静音/音效选择即时 PUT 到 host 持久化;浏览器内存中共享一份 store,设置页与完成监听实时同步
开发
node scripts/build.mjs # 把 src/ 复制为 lib/(无编译步骤)
node scripts/test.mjs # host 路由冒烟测试(使用临时 DSH_HOME,不碰真实配置)
本仓库无 TypeScript / 无打包器:src/ 是手写源码,lib/ 是发布产物(需提交,dsh 插件市场校验安装包时要求入口文件存在)。