按工作区定制的任务完成铃声,以及审批、提问、计划评审、目标受阻、任务失败等需要人介入事件的注意提示音,支持内置合成音、语音播报与自定义音频。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-plugin-notify-sound
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:ldchaowin/dsh-plugin-notify-sound
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
English | 中文
DeepSeek Harness(DSH)Web 端插件:任务完成后按工作区播放可定制的通知铃声, 并在需要人介入时(审批、提问、计划评审、目标受阻、任务失败)播放注意提示音。
功能
完成铃声(按工作区)
- 会话「一次回答结束」(回合完成,
running: true → false)或后台任务完成时播放。 - 铃声按工作区解析:先查该工作区的单独配置,未配置则使用默认铃声。
- 声音来源三选:
- 内置合成音 — 6 种(叮咚 / 风铃 / 铃铛 / 完成 / 成功 / 静音),Web Audio 实时合成,无需音频文件;
- 语音播报(TTS) — 浏览器用系统中文语音朗读自定义文案(如「我做完啦!」),可选声音与语速;
- 自定义音频 — 上传任意 MP3/WAV 等文件。
注意铃声(需要人介入时)
以下事件始终响铃(不受「当前会话不响铃」限制):
| 事件 | 检测来源 | 默认声音 |
|---|---|---|
| 审批请求 | 会话 pendingInteraction: approval |
通用注意音 |
| 用户提问 | pendingInteraction: question |
通用注意音 |
| 计划评审 | pendingInteraction: plan-review |
通用注意音 |
| 目标受阻 | goal 投影进入 blocked |
通用注意音 |
| 后台任务失败 | 任务状态 failed |
铃铛(独立失败音) |
每类事件可单独覆盖声音(或跟随通用注意音),也可统一使用一句播报文案 (如「需要你的确认」)。
设置面板(设置 → 通知铃声)
总开关、「当前会话完成时不响铃」、默认完成铃声、每工作区完成铃声、 通用注意音 + 五类注意事件、语音设置(声音/语速/试听/刷新列表)、逐项试听与上传。
安装
需要支持 bundle 插件的 DSH 版本(dsh.profile.bundles + dsh.bundle.patch),
且 PATH 中有 pnpm(corepack enable 或 npm i -g pnpm)。
# 一键安装:pnpm 安装依赖并把本包加入 profile 的 bundles 层
dsh plugin --profile web add dsh-plugin-notify-sound
# 重启服务(或刷新页面),打开 设置 → 通知铃声 即可配置
其他 profile 同理:dsh plugin --profile <name> add dsh-plugin-notify-sound。
手动安装(无 pnpm 时)
- 把本包及依赖(
@deepseek-ai/schemastery、@deepseek-ai/cosmokit、@standard-schema/spec) 复制到$DSH_HOME/profiles/web/node_modules/; - 在
$DSH_HOME/profiles/web/package.json的dsh.profile.bundles中追加"dsh-plugin-notify-sound"; - 重启
dsh web。
配置持久化
- 客户端配置保存在浏览器 localStorage(键
dsh-notify-sound:config),读取时做字段校验与默认值兜底。 - 宿主端同时注册
dsh-plugin-notify-sound设置命名空间:rc.6 的 settings API 白名单 (dsh-host-apiproxy的WEB_SETTINGS_NAMESPACES)不会把第三方命名空间暴露给浏览器, 该注册为平台开放暴露机制后的无缝迁移预留(客户端存储接口外形与 settingsScope 一致)。
开发
npm test # 宿主端 + 客户端 50 余项自动化断言(Node 即可,无需浏览器)
npm run check # 语法检查
结构:
lib/index.js— 宿主端:注册 settings 命名空间(schemas 校验 + 默认值)lib/client.js— 浏览器端 bundle:完成/注意事件监听、声音引擎(Web Audio / TTS / Audio)、设置面板lib/types/index.d.ts— 宿主端类型声明cordis.patch.yml— bundle 补丁层(插入notify-sound行)tools/— 测试与验收脚本(不随 npm 包发布)
发布
npm login # 登录 npm(建议开启 2FA)
npm publish --access public
许可证
链接
同类插件
PolinniZhong/dsh-omi-voice★ 74
DeepSeek Harness 对话内朗读:点一下即可朗读、暂停、继续 AI 回复,豆包 TTS 自然音色(BYOK),只读最终回答并过滤代码、表格与图形,本地引擎,插件零 Key。
PensiveFei/dsh-voice-scribe★ 34
面向 Web UI 的语音输入插件:点按 Alt(或 Alt+空格)开始/停止听写,支持浏览器内置 Web Speech(零配置)或 OpenAI 兼容云端 ASR,可选经 DSH 已配置模型润色,带设置页。
WizisCool/dsh-ears★ 22
面向 DeepSeek Harness (dsh) 的语音输入插件:输入框的麦克风按钮把语音转成草稿文本,支持多种语音识别后端,可选经 dsh 自有 LLM 路由润色,并带原生设置页。
1624318455/dsh-plugin-tts★ 21
用免费 Edge TTS 或你自己的 RVC 音色朗读 AI 回复:消息朗读与自动朗读、长文自适应分块渐进播放(无缝衔接)、音色包仓库一键安装、便携 RVC 运行时。
qishuilalala/dsh-voice-mode#dsh-voice-mode★ 15
DeepSeek Harness Web UI 全双工语音对话:按钮或 Ctrl+Shift+V 进入,持续聆听(停顿自动发送)或按住说话,zipformer2 流式识别入可编辑草稿、可选唤醒词;回复按句 Edge TTS 朗读并显示实时字幕,开口即打断播放与回合(真 barge-in);识别模型本地推理、Edge TTS 在线合成,无需 API Key。
PerryLink/dsh-talk★ 13
DeepSeek Harness 的语音输入输出:麦克风语音转文字与文字转语音。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。