DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

Laplace-bit /

dsh-bell-notify

Verified

DeepSeek Harness (dsh) 社区插件:为 Agent 生命周期事件合成铃声 + 右下角呼吸状态点,每个事件可上传自定义音频。dsh plugin that rings bells and shows a breathing status dot for Agent lifecycle events.

★ 2 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@b9e28243

dsh-bell-notify 🔔

中文 · English

dsh-bell-notify 是 DeepSeek Harness(dsh)的社区插件——给 Agent 装上耳朵和心跳:工作全程用轻快的铃声陪跑,右下角一个会呼吸的小圆点随时告诉你它正在干嘛。

不用任何音频文件,所有铃声都是 Web Audio 实时合成出来的;每一个环节都可以换成你自己的声音文件。这是一个让你和 Agent 之间「有点默契」的小东西。

它不是 DeepSeek 官方发行的一部分,是一个 MIT 协议开源的社区插件。

截图

dsh-bell-notify 预览

它能干什么

🎵 每个环节都有专属铃声

Agent 的一举一动都会「响一声」,而且每个环节的声音都不一样:

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

error / failure 两个音效也内置好了,默认没启用,你可以在配置里按需接上。

🎛️ 每个声音都能自己换

觉得某个铃声不合胃口?点右下角小圆点,弹出设置面板,对每一个事件:

  • 试听默认音,或者试听你上传的音
  • 上传自己的音频文件替换默认音
  • 还原回默认

换上去的音会记住(刷新后还在),界面上还会显示你上传的文件名。铃声明明是合成的,却能长成你自己的样子。

🔴 一个会「呼吸」的状态点

右下角的小圆点不只是亮灯,它在用颜色和动作说话:

  • 🔵 蓝色脉动 = 正在思考
  • 🟠 橙色律动 = 正在干活(工具 / 命令)
  • 🟡 黄色闪烁 = 在等你确认
  • 🟢 绿色扩散 = 这一轮漂亮地完成了

它不抢戏、不弹窗、不加字,只是安静地陪着。想关掉它也行,配置文件里一个开关的事。

🎼 声音是「活」的

所有铃声都是实时合成的——不是一段段录好的音频文件。这意味着:

  • 零音频资源,包体轻到可以忽略
  • 声音可以随时通过配置调音高、节奏、时长
  • 离线可用,不联网、不加载外部资源

为什么做这个

你盯着终端等 Agent 跑,眼睛看累了,耳朵其实还闲着。给每个环节配一个轻轻的声音,你就能一边做别的事、一边用耳朵掌握进度——该看屏幕的时候(等确认、出错了),它自己会叫你。

这不是什么严肃的功能插件,更像是给 Agent 配了个小铃铛。🐕

安装

从 DeepSeek Harness 源码仓库里:

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

如果 PATH 上已经有 dsh:

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

npm 包带预构建产物,无需 pnpm ≥10 的构建脚本授权,直接可装。

启动:

pnpm dsh --profile bell

打开页面后先点一下页面任意位置(这是浏览器的音频自动播放策略,点一次即可解锁声音),然后随便跑一个任务,声音和状态点就会一起动起来。

卸载:

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

配置

在 profile 的 cordis.patch.yml 里改(Cordis 加载时会校验并补默认值):

enabled: true
masterVolume: 0.7      # 总音量 0-1
muteAll: false         # 静音,但状态点照常工作
maxQueue: 8            # 等待队列容量
maxConcurrent: 3       # 同时播放的声音数(1 = 串行,值越大越能重叠)
defaultCooldown: 1000  # 规则默认节流窗口(毫秒)
statusRevertMs: 1000   # 瞬态状态自动回归时长
showStatusIndicator: true

声音开关、自定义音源的替换与文件名,都持久化在你的浏览器本地(localStorage + IndexedDB),不在这个配置文件里——点小圆点就能改,改完立即生效、刷新不丢。

开发

pnpm install
pnpm build          # 产出 lib/index.js(Host)+ lib/client.js(浏览器)
pnpm test           # 单元测试
pnpm typecheck

想快速试听所有内置铃声?直接打开 preview.html,或访问项目主页在线试听全部铃声。

常见问题

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

为什么点了没声音? 大概率是浏览器的自动播放策略——插件首次加载后需要你先在页面上点击一次,声音才会解锁。这之后事件声音就能正常响了。

能只开声音、不要那个圆点吗? 可以。showStatusIndicator: false 关掉状态点,声音照常。

自定义的声音存在哪? 文件字节存在浏览器 IndexedDB,事件到文件的映射存在 localStorage。都在你本地,不会上传到任何地方。

许可证

MIT

—/ 5

No ratings yet

Verified DSH bundle

Commit b9e2824327c6

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout