前言¶
用 dsh 的 Web 界面跑 agent 任务,常见的工作流是「发完指令切去干别的,过一会儿切回来看看跑完没有」。切早了干等,切晚了任务已经停在那里等你输入。dsh-chime 针对的就是这个场景:当前会话的任务一结束,浏览器里播放一声叮咚,你不需要盯着页面等。
DSH 的理念是「一切皆插件」,这类界面上的小增强正适合用插件补齐。下面介绍 dsh-chime 的定位、功能与用法。
这是什么¶
dsh-chime(GitHub 仓库 mystery-god/dsh-chime)是面向 DeepSeek Harness Web GUI 的任务完成提示音插件,由 Mystery-God 维护,以 MIT 许可证开源。它在当前会话的 agent 任务结束时播放提示音,并支持音量调节、静音、内置音效切换和自定义音频上传。所有配置集中在 Web 界面的「设置 → 插件 → 任务完成提示音」页面里。
它是一个 dsh web 平台插件(package.json 中 dsh.client.platform 为 "web"),依赖 dsh-web-ui 的插件生态。
核心功能¶
只在任务真正结束时响铃¶
插件监听当前会话的 running → idle 跳变,任务结束瞬间响铃。切换会话或页面加载不会误响。
音量、静音与内置音效¶
设置页提供 0–100% 音量滑块与静音开关,改动即时持久化。内置四种音效——经典叮咚 / 柔和门铃 / 清脆提示 / 三连音——全部由 Web Audio 实时合成,不依赖任何音频文件。此外,package.json 的描述还提到悬浮音量控制(floating volume control)。
自定义音频¶
内置音效之外,可以上传本地音频文件:支持 mp3 / wav / ogg / m4a / aac / flac / webm 格式,单个文件不超过 16MB,保存在 ~/.dsh/chime/audio/,在设置页可以试听和删除。
图形化设置页¶
插件在「设置 → 插件」下注册「任务完成提示音」页签,音量、静音、音效选择、上传管理全部图形化操作。设置页与完成监听共享一份内存 store,任何一边改动另一边实时同步。
安装与启用¶
先安装插件到 web profile:
dsh plugin --profile web add github:Mystery-God/dsh-chime
也可以不走 CLI,直接修改 profile 的 package.json 依赖与 bundles,再执行 pnpm install。
安装后重启 dsh web,打开「设置 → 插件 → 任务完成提示音」:挑一个内置音效,调好音量,需要的话上传自己的音频。经过上面的步骤,之后每次当前会话的任务结束,浏览器都会响一声。
工作原理与安全¶
插件分为两个半体,没有构建步骤,lib/ 即发布产物。README 给出的结构如下:
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 组合
三点值得留意:
1、API 路由带 loopback + same-origin 围栏(与 dsh-ssh 一致)。把 dsh web 暴露在局域网时,这些接口不会对外提供服务。
2、host 半体只用 Node 内置模块,浏览器半体只用 React,零运行时依赖。
3、音量、静音、音效选择的每次改动都会即时 PUT 到 host,写入 ~/.dsh/chime/settings.json 持久化。
开发者视角¶
仓库没有 TypeScript、没有打包器:src/ 是手写源码,lib/ 是发布产物,需要提交——dsh 插件市场校验安装包时要求入口文件存在。开发时会用到两个脚本:
node scripts/build.mjs # 把 src/ 复制为 lib/(无编译步骤)
node scripts/test.mjs # host 路由冒烟测试(临时 DSH_HOME)
环境要求来自 package.json:Node ^22.19.0 || >=24.0.0,peerDependencies 为 react ^18.2.0。
适用场景与注意¶
适合的人群很明确:在 dsh web GUI 里跑 agent、同时还要处理别的事情的开发者。任务在后台执行时,一声提示音比反复切窗口确认省事得多。
安装前建议做两件事:
1、插件以当前 dsh 进程的权限运行,能访问 host 的文件系统与 API。安装前先到 GitHub 过一遍源码,确认行为符合预期。
2、确认许可证与你的使用场景兼容。dsh-chime 使用 MIT 许可证,README 的 License 章节有明确说明。
另外提醒:上传的音频文件存放在 ~/.dsh/chime/audio/,单个不超过 16MB,不需要的可以在设置页随时删除。
小结¶
dsh-chime 功能很小,但解决的问题每天都会遇到:任务结束的那一刻,你不用再切回页面确认。项目与目录条目如下:
- GitHub 仓库:https://github.com/Mystery-God/dsh-chime
- 社区插件目录:https://www.skillhub.cn/plugins/Mystery-God/dsh-chime
需要说明的是,skillhub.cn 是独立的社区目录,与 DeepSeek、幻方没有官方从属关系;插件本身以 MIT 许可证开源在 GitHub 上。