DeepSeek Harness 社区插件 · MIT 开源

给 Agent 配一套可自定义的铃声通知

为关键生命周期节点提供可配置、少打扰的声音提示。不用任何音频文件——所有铃声都由 Web Audio 实时合成,并可在插件配置中换成自己的声音。

它能干什么

一个轻量插件,围绕高价值节点提醒你,并允许按工作习惯细调。

🎵 十个事件,默认只开三项

开始执行、等待确认和本轮完成默认开启;其余过程事件按需打开,让提示音传达进度而不制造噪声。

🎛️ 每个声音都能自己换

在设置的插件配置中试听、上传自己的音频文件、一键还原。换上的声音会记住,刷新不丢,也不会占用工作区。

🎼 声音是「活」的

全部由 Web Audio 实时合成:零音频资源、包体极轻、可离线用。需要不同声音时,直接替换对应事件的音频。

🎧 在线试听十个可配置事件

这里使用当前版本的内置配方与 Web Audio 渲染方式;不加载音频文件。试听音量为 0.7,即默认 masterVolume。

🔊 点一下任意铃声即可解锁声音(浏览器自动播放策略)。

安装

从 DeepSeek Harness 源码仓库安装:

pnpm dsh plugin --profile bell add dsh-bell-notify

如果 PATH 上已经有 dsh:

dsh plugin --profile bell add dsh-bell-notify

启动:

pnpm dsh --profile bell

打开页面后先点一下页面任意位置(浏览器音频自动播放策略,点一次即可解锁声音),然后随便跑一个任务即可听到提示音。

卸载:

pnpm dsh plugin --profile bell remove dsh-bell-notify

🎵 十个可配置事件

每个事件都有内置铃声和独立开关;首次安装只开启需要介入或完成里程碑的三项。上方可试听全部十个可配置配方。

环节默认铃声首次状态听起来像
会话启动startup关闭一声轻柔的上扬,像开机
开始执行click开启短促的一声「叮」,出发了
开始思考notify关闭温柔的单音,进入状态
工具调用tick关闭清脆的「哒哒」两声,金属质感
工具完成drop关闭低低地落定,收尾
命令执行beep关闭一声短促的哔,有终端味
命令完成rise关闭上扬的双音,搞定
等待确认alert开启高频三连,叫你看一眼
本轮完成success开启上行大三和弦,成就感拉满
回到空闲confirm关闭单音缓缓落下,安静了

配置

所有可见控制都在 设置 → 插件 → 插件配置 → 铃声通知。“启用提示音”是唯一总开关,关闭即完全静音;不再提供右下角状态点或悬浮设置面板。下面是 profile 的常规运行参数:

选项默认说明
maxQueue8等待队列容量
maxConcurrent3同时播放的声音数(1 = 串行)
defaultCooldown1000规则默认节流窗口(毫秒)

启用状态和音量持久化在当前 profile。每个事件的开关、自定义音源和文件名都持久化在浏览器本地(localStorage + IndexedDB),刷新不丢。

卡片会显示运行版本。只有 profile 确认使用 npm 包时才启用更新;link: / file: 本地安装会显示为开发版本,并保持更新禁用。

常见问题

这是 DeepSeek 官方插件吗?

不是。它是 DeepSeek Harness(dsh)的社区插件,MIT 协议开源,不属于官方发行。

为什么点了没声音?

大概率是浏览器的自动播放策略——插件首次加载后需要你先在页面上点击一次,声音才会解锁。

在哪里配置提示音和更新插件?

在 Web 设置的插件 → 插件配置 → 铃声通知中。这里可以管理启用状态、音量、事件开关、自定义铃声,以及 npm 安装的更新。

为什么没有右下角状态点或悬浮面板?

它们已移除,避免遮挡会话工作区。启用状态、音量、事件开关、版本和更新都集中在插件配置卡中。

自定义的声音存在哪?

文件字节存在浏览器 IndexedDB,事件到文件的映射存在 localStorage。都在本地,不会上传到任何地方。