前言¶
使用 DeepSeek Harness(DSH)时,会话可能在后台持续运行。最小化应用或切到别的窗口后,如果只依赖普通浏览器标签页,完成结果和待处理事项不一定醒目。
dsh-unread-dot 是一个 DSH 插件:在 macOS Dock 图标上显示未读红点或数字角标,并在会话完成、需要你处理时播放水泡提示音;回到应用后自动清除角标。
下面介绍它的定位、核心功能、安装启用方式,以及使用前需要注意的兼容性与安全事项。
这是什么¶
dsh-unread-dot 由 Bing-Bryan 维护,采用 MIT 许可,许可证标注为 MIT © 2026 Bing-Bryan。
它解决的问题比较具体:在 macOS Chrome 中把 DSH Web 安装为应用后,让 Dock 图标承担一个轻量状态提示入口。角标和提示音都来自插件本身,不依赖系统通知横幅。
核心功能¶
已核实的功能包括:
- 在 macOS Dock 图标上显示未读红点或数字角标
- 会话完成或需要处理时播放水泡提示音
- 回到应用后自动清除角标
- 基于 Chrome Badging API(
navigator.setAppBadge/navigator.clearAppBadge)实现 - 用点或数字区分运行中与未读结果
- 无权限、无横幅、无系统设置
- 订阅 DSH 会话列表,维护未读/已读状态
- 最小化或切走期间,仅新发生的完成/等待事件点亮角标并触发提示音
- 多窗口同时打开时,通过跨窗口锁保证提示音只响一次
内置音效 bubble.mp3 基于 Pixabay 音频剪辑制作。Pixabay 许可为免费商用、无需署名。
状态表现¶
插件用两类 Dock 图标状态区分会话状态:
| 状态 | Dock 图标 | 提示音 |
|---|---|---|
| 会话运行中 | 红点,无数字 | 不播放 |
| 会话完成或需要处理 | 数字角标 | 水泡提示音 |
| 回到应用 | 角标清除 | — |
对应的 Badging API 用法可以理解为:
navigator.setAppBadge(3) // 数字角标
navigator.setAppBadge() // 无数字红点
navigator.clearAppBadge() // 清除角标
数字用于表达未读结果,红点用于表达仍有会话在运行。
使用前提¶
该插件依赖 Chrome Badging API,因此需要满足以下条件:
- macOS Chrome
- 先在 Chrome 中打开 DSH Web
- 通过 Chrome 菜单「更多 → Cast, save and share → 安装应用 / Install…」将 DSH Web 安装为 macOS PWA
navigator.setAppBadge需在已安装的 Web App 上下文中生效
兼容性说明:
- Chrome 81+ 支持该 API
- Chrome 152+ 起,角标/通知会正确归属到 Web App 自身
安装与启用¶
安装分三步:安装插件包、把它加入 profile bundle 列表、重启 DSH Web。
先执行下面的命令,把插件安装到 DSH profile。这里以 web profile 为例:
dsh plugin --profile web add github:Bing-Bryan/dsh-unread-dot
安装命令中的 --profile web 是 README 示例,不是唯一指定 profile。
然后修改 profile 的 package.json,在 dsh.profile.bundles 中追加插件名:
"dsh": {
"profile": {
"bundles": [
"dsh-unread-dot"
]
}
}
这一步的作用是告诉 DSH Web 在启动时加载 dsh-unread-dot。
最后重启 DSH Web:
dsh web
重启后进入「设置 → Dock 角标与通知」进行配置。
设置与验证¶
设置页中可以用到的项目包括:
- Dock 角标:控制会话完成或需要处理时是否显示数字角标
- 运行中显示活动点:控制最小化或切走期间,会话正在生成回复时是否显示无数字红点
- 提示音(水泡):控制会话完成或需要处理时是否播放内置水泡声
- 测试提示音:点击后立即播放一次水泡音,用于验证声音是否可用
如果不确定声音是否生效,可以先点击「测试提示音」,再决定是否需要调整系统或浏览器音频设置。
典型用法¶
一个可复现的流程是:
1、在 Chrome 中打开 DSH Web。
2、通过「更多 → Cast, save and share → 安装应用 / Install…」把 DSH Web 安装为 macOS PWA。
3、执行安装命令:
dsh plugin --profile web add github:Bing-Bryan/dsh-unread-dot
4、在 profile 的 package.json 中把 dsh-unread-dot 加入 dsh.profile.bundles。
5、重启:
dsh web
6、进入「设置 → Dock 角标与通知」,点击「测试提示音」确认水泡音可以播放。
经过上面的步骤,在最小化或切走 DSH Web 期间,如果发生新的会话完成或需要处理事件,Dock 图标会显示角标,并播放水泡提示音;回到应用后,角标会被清除。
适用场景与注意¶
适合这类使用方式:
- 在 macOS Chrome 中运行 DSH Web
- 已将 DSH Web 安装为 PWA
- 希望用 Dock 角标和低打扰提示音替代部分通知横幅
需要注意:
- 插件以当前
dsh进程权限运行,安装前应检查源码与许可证 navigator.setAppBadge只在已安装 Web App 上下文中生效,仅打开普通网页标签页不一定满足条件- 旧事件不会累计重复计数,只有最小化或切走期间新发生的完成/等待事件才会点亮角标与提示音
- 多窗口同时打开时,跨窗口锁会让提示音只响一次
结尾¶
dsh-unread-dot 的价值在于把 DSH 会话状态放到 macOS Dock 上:运行中显示红点,未读结果显示数字,完成或需要处理时播放水泡提示音,回到应用后自动清除。
相关链接: