鱼皮AI导航
鱼皮AI导航
  • 主页
  • 社区
  • AI工具
  • AI知识库
  • AI提示词
  • MCP
  • Skills
  • AI学习资源
  • AI资讯
  • GitHub开源
登录/注册

dsh-sound

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

语音音频
访问 GitHub
文档README

dsh-sound

English | 中文

DeepSeek Harness(DSH)Web 端插件:任务完成后播放通知铃声,并在需要人介入时 (审批、提问、计划评审、目标受阻、任务失败)播放注意提示音。

📬 已提交至 Awesome DSH Plugin — PR #752(等待维护者审批)

演示

源文件: docs/demo.mp4

截图

dsh-sound 设置

功能

六类事件完全独立

每类事件各自配置声音与音量(0–100%):

事件检测来源默认声音
回答完成 / 后台任务完成turn/end 且 reason.kind === 'completed';任务 → completed风铃
审批请求approval/requested 帧叮咚
用户提问question/requested 帧(不满足计划评审特征)叮咚
计划评审question/requested 帧(单问题 + 计划评审意图)叮咚
目标受阻goal 投影进入 blocked叮咚
后台任务失败 / 循环失败任务 → failed;turn/end 且 error;host/agent-error铃铛
  • 完成事件受「当前会话不响铃」限制;注意事件(审批/提问/计划评审/目标受阻/失败)始终响铃。
  • 用户停止(aborted)、killed 任务、max-tokens / blocked / interrupted 不响完成音。
  • 事件由连接层帧流(events.mux + events.host)精确检测。mux 打开时回放的 未决审批/提问(刷新恢复)不响;同一 rpcId 只响一次。
  • 事件流不可用、或连续解包失败时自动降级为快照 diff。
  • 多标签页:同时打开多个标签页时同一次事件只响一声(BroadcastChannel 决胜); 单标签页立即播放,不做 40ms 握手。

声音来源

设置面板里每类事件用 Radio.Group + Radio.Button 选择声音:

  • 内置合成音 — 叮咚 / 风铃 / 铃铛 / 完成 / 成功,Web Audio 实时合成,无需音频文件;
  • 静音 — 该事件不响;
  • 本地文件 — 选择任意 MP3/WAV 等文件;选中后该事件行下方会出现文件选择。 上传文件存入 IndexedDB(dsh-sound-audio),不受 localStorage 容量限制。

设置面板(设置 → 声音通知)

总开关、六个事件行(标题行右侧音量滑块,下方 Radio.Button 分段选择; 点击选项即选中并播放;选「本地文件」时出现选择/更换按钮与文件名)、 配置导入/导出。

安装

需要支持 bundle 插件的 DSH 版本(dsh.profile.bundles + dsh.bundle.patch), 且 PATH 中有 pnpm(corepack enable 或 npm i -g pnpm)。

▼
sh
复制代码
# 一键安装:pnpm 安装依赖并把本包加入 profile 的 bundles 层 dsh plugin --profile web add dsh-sound # 重启服务(或刷新页面),打开 设置 → 声音通知 即可配置

其他 profile 同理:dsh plugin --profile <name> add dsh-sound。

手动安装(无 pnpm 时)

  1. 把本包及依赖(@deepseek-ai/schemastery、@deepseek-ai/cosmokit、@standard-schema/spec) 复制到 $DSH_HOME/profiles/web/node_modules/;
  2. 在 $DSH_HOME/profiles/web/package.json 的 dsh.profile.bundles 中追加 "dsh-sound";
  3. 重启 dsh web。

配置持久化

  • 客户端配置保存在浏览器 localStorage(键 dsh-sound:config),读取时做字段校验与默认值兜底。 上传的本地音乐存入 IndexedDB(dsh-sound-audio),不受 localStorage 容量限制。
  • 配置键:enabled、quietCurrent,以及六个声音 + 六个音量字段—— completionSound / approvalSound / questionSound / planReviewSound / goalBlockedSound / failureSound(内置键 / none / local / data: URL / audio:<id>)与 completionVolume … failureVolume(0–1)。 localFiles 记住每类事件上次选的本地文件,切到内置音再切回时不丢。
  • 0.2.0 配置自动迁移:旧配置的 defaultSound 迁为 completionSound, voice/TTS 值降级为该类默认音,workspaces / debounceMs / 全局 volume / 语音设置等旧字段一律忽略。
  • 导出 / 导入:设置面板可把完整配置下载为 JSON(IndexedDB 音频引用内嵌为 data URL), 也可从 JSON 文件恢复——换浏览器 / 换设备无需重新配置。
  • 宿主端同时注册 dsh-sound 设置命名空间:rc.6 的 settings API 白名单 (dsh-host-apiproxy 的 WEB_SETTINGS_NAMESPACES)不会把第三方命名空间暴露给浏览器, 该注册为平台开放暴露机制后的无缝迁移预留(客户端存储接口外形与 settingsScope 一致)。

开发

▼
sh
复制代码
npm test # 宿主端 + 客户端 100 余项自动化断言(Node 即可,无需浏览器) npm run check # 语法检查

结构:

开发注意:profile 的 pnpm 使用 nodeLinker: hoisted,安装时会拷贝 file: 依赖到 node_modules——直接改本仓库不会立即生效,需要 重新执行 pnpm --dir ~/.dsh/profiles/web update dsh-sound,或把 ~/.dsh/profiles/web/node_modules/dsh-sound 换成指向本目录的软链。 Web 服务按请求读取 bundle 内容(只有 boot 页的 rev 哈希在启动时缓存), 刷新拷贝后浏览器硬刷新(Cmd+Shift+R)即可,无需重启服务。

  • lib/index.js — 宿主端:注册 settings 命名空间(schemas 校验 + 默认值)
  • lib/client.js — 浏览器端 bundle:事件检测、声音引擎(Web Audio / IndexedDB 音频)、设置面板
  • lib/types/index.d.ts — 宿主端类型声明
  • cordis.patch.yml — bundle 补丁层(插入 dsh-sound 行)
  • tools/ — 测试与验收脚本(不随 npm 包发布)

发布

▼
sh
复制代码
npm login # 登录 npm(建议开启 2FA) npm publish --access public

许可证

MIT

语音音频

快捷安装

复制到终端去安装插件

dshplugin--profilewebaddgithub:AI-Galaxy-GPU/dsh-sound

温馨提示

装插件等于在本机跑第三方代码,权限与你相同,能读文件、用凭据、访问网络,工具审批管不到。请只装可信来源,并尽量锁定 commit。

站长:程序员鱼皮 老鱼简历 商务合作 增值电信业务经营许可证
2026 鱼皮AI导航 | 沪ICP备19026706号-6
站长:程序员鱼皮 老鱼简历 商务合作 增值电信业务经营许可证
2026 鱼皮AI导航 | 沪ICP备19026706号-6
🔥热门工具
朱雀AI检测朱雀AI检测
朱雀AI检测助手朱雀AI检测助手
LovartLovart
老鱼简历老鱼简历
WritePass官网WritePass官网
面多多面多多
CursorCursor
星月写作星月写作
零感AI零感AI
墨得问题墨得问题
dsh 插件推荐
dsh-tool-lipsync
DSH 免费对口型口语视频生成插件,支持 3000+ 声音和 500+ 语言。
dsh-plugins#dsh-ding-sound
DSH 对话结束提示音:内置网络热梗原声(你干嘛哎呦、鸡你太美、神鹰哥等),设置面板可试听/切换/随机,支持自定义音频目录。
dsh-audiogen
面向 DeepSeek Harness Web 的 AI 音频插件 —— 多厂商 TTS、音乐、音效与音色设计,含侧边栏面板、模型对比、资源库与 Agent 工具。
dsh-voice-assistant
dsh web 语音助手:说出唤醒词(如「小鲸」)即可免手听写,说话内容自动转成文字填入输入框;支持口述编辑指令(发送、清空、换行、停止朗读),并可用中文朗读 AI 回复。语音识别基于 sherpa-onnx WASM 在浏览器本地运行,离线可用、无需 API Key。
dsh-voice-control
DSH 网页端语音控制:按住说话将语音转文字输入发送框(可自动发送),用浏览器语音合成朗读助手回复;右键麦克风打开设置面板,支持 Ctrl+M 全局快捷键。