Bing-Bryan/dsh-unread-dot
DSH插件:macOS Dock徽标(圆点=运行中,数字=结果)+气泡提示音,基于Badging API构建
Project Overview项目介绍
dsh-unread-dot is a native DeepSeek Harness (DSH) plugin built exclusively for macOS users who run DSH Web as a Chrome PWA. It adds unread indicators to the DSH app icon in the macOS Dock when you minimize or switch away from the DSH window. If a session is still running in the background, it displays a plain red dot with no number. If a session is completed or requires your input, it shows a numbered red badge and plays a short built-in bubble notification sound. The badge is automatically cleared when you return focus to the DSH window, and it uses Chrome’s Badging API so no notification permissions or banner popups are required.
This plugin is designed for DSH users who prefer running DSH as a standalone macOS PWA and often leave DSH running in the background while switching to other tasks. Instead of repeatedly switching back to the DSH window to check on the progress of your sessions, you can get a quick glance at the Dock icon to see the current status. The plugin subscribes to DSH’s session list and automatically maintains unread and read state for all sessions. It only counts new completion or waiting events that occur after the DSH window loses focus, so it never double counts or accumulates counts for older events. Running sessions are marked with a plain dot instead of being added to the unread count.
To install the plugin, you first use the DSH CLI to pull the plugin package from GitHub, then add the plugin name to the bundles array in your DSH profile’s package.json file. After that, you restart dsh web, and you can toggle all features on or off in DSH’s settings menu. The plugin only works on macOS with Chrome-installed PWAs, and does not support other operating systems or native DSH clients. It has no server-side dependencies, runs purely as a client-side plugin, and supports HMR hot updates so no restart is required after updates. The project is licensed under MIT, and the built-in notification sound is edited from a free Pixabay audio file that is free for commercial use.
这是专为 DeepSeek Harness(DSH)开发的原生插件,仅支持运行在 macOS 系统上,且要求用户提前通过 Chrome 将 DSH Web 安装为 PWA 应用才能使用。它会在你最小化或切走 DSH 窗口后,根据会话状态在 macOS Dock 的 DSH 图标上显示未读角标:会话运行中显示无数字红点,会话完成或需要人工处理时显示带计数的红色角标,同时播放内置水泡提示音。返回应用后角标会自动清除,它基于 Chrome Badging API 实现,不需要通知权限,也没有横幅打扰。
这款插件适合以 PWA 方式使用 DSH Web、经常让 DSH 在后台运行处理会话的 macOS 用户。如果你习惯切换到其他任务等待 DSH 生成结果,这款工具可以帮你不用频繁切回 DSH 查看进度,通过 Dock 角标就能快速掌握当前会话状态。它会自动订阅 DSH 的会话列表,维护未读和已读状态,仅统计窗口失焦后新发生的完成或等待事件,不会对旧事件重复累计计数。
安装需要通过 DSH CLI 执行指令拉取插件包,之后在配置文件的对应位置追加插件名,重启 dsh web 后就可以在设置面板中开启或关闭功能。它仅支持 macOS Chrome 安装的 PWA 版 DSH,不支持其他平台或原生客户端,无服务端依赖,属于纯客户端插件,支持 HMR 热更新,无需重启即可生效。项目采用 MIT 许可证,内置音效基于 Pixabay 免费商用音频剪辑,无需署名。
请帮我安装这个 DSH 插件。安装前先完成【兼容性检查 + 安全性检查】,检查通过再动手。
插件:dsh-unread-dot(Bing-Bryan/dsh-unread-dot)
仓库:https://github.com/Bing-Bryan/dsh-unread-dot
本站详情页:https://www.yhbd.top/plugins/bing-bryan-dsh-unread-dot/
本站登记:类型 plugin · 归类 原生 DSH 插件 · 许可证 MIT · ⭐ 3 · 最近提交 2026-08-15 · 主语言 JavaScript
按下面顺序执行,每步先把结论告诉我,再进入下一步:
【1 兼容性检查】
① 我这边:DSH 版本、Node 版本、操作系统、当前 profile(web / desktop)。
② 读它的 README、package.json、插件 manifest,列出它要求的 DSH 版本 / Node 版本 / 操作系统 / 外部依赖 / 需要另外先装的运行时。
③ 逐条比对,结论只写「满足 / 不满足 / 未知」三种;不满足的给出可行替代方案。
④ 检查是否和我已装的插件冲突:命令名重复、skill / tool 重名、端口占用、重复注册的 MCP server。
【2 安全性检查】
① 仓库可信度:和上面「本站登记」是否一致;star / fork 数、创建时间、最近提交,是否归档或长期停更。
② 安装脚本:逐行看 package.json 的 preinstall / install / postinstall,以及 install.sh、setup.ps1 之类脚本。出现 curl|bash、下载后直接执行、混淆代码、访问与插件功能无关的域名,立刻停下来告诉我,不要继续装。
③ 依赖:列出新增依赖,标出无人维护、或与知名包拼写近似的可疑包(typosquatting)。
④ 权限与副作用:它会读写哪些目录、访问哪些域名、需要哪些 DSH 权限(filesystem / network / shell / clipboard 等),以及怎么卸载和回滚。
⑤ 如果它要求 sudo / 管理员权限,或权限明显超出功能所需,先停下来问我。
【3 安装】
上面两步没有「不满足」和「高危项」时才执行;用官方推荐方式安装,不要自行提权。
【4 汇报】
用表格输出:检查项 / 结论 / 依据 / 是否需要我决策。拿不准的一律写「未知」并说明要我怎么确认——不要猜,也不要替我决定。
Send this message to DSH in your current session: it verifies compatibility and security first (answering met / not met / unknown item by item) and only installs once everything checks out — it will stop and ask you if it finds a high-risk item. The box scrolls; the copy is the full prompt. CLI install commands may not be accurate across systems, so DSH is the safer route.把上面这条消息直接发给当前会话里的 DSH:它会先核对兼容性与安全性(逐条给「满足 / 不满足 / 未知」),确认没问题再安装,有高危项会停下来问你。框内可滚动,复制到的是完整提示词;安装命令不一定准确,发给 DSH 更稳。
- Only 3 stars - very few users, little community feedback星标只有 3,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项
Compatibility兼容性
- DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
- External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
- Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册
Security安全性
- Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
- Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
- curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
- Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
- Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
- Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式
Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。
Or use CLI install (for developers)或使用命令行安装(适合开发者)
CLI Install命令行安装
dsh plugin --profile web add github:Bing-Bryan/dsh-unread-dot
把 Bing-Bryan/dsh-unread-dot 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-unread-dot
English · 中文
DeepSeek Harness(DSH)插件:最小化/切走时,在 macOS Dock 图标上显示未读红点,并在会话完成/需要你处理时播放水泡提示音。回到应用自动清除。

基于 Chrome Badging API(navigator.setAppBadge / navigator.clearAppBadge)实现——不依赖任何 macOS 系统设置,不需要通知权限,没有横幅打扰。
⚠️ 使用前提:请先在 Chrome 中打开 DSH Web,通过浏览器菜单 「更多 → Cast, save and share → 安装应用 / Install…」 把它封装成一个独立的 macOS 应用(PWA)——
setAppBadge只对已安装的 Web App 生效。
效果
| 场景 | Dock 图标 | 声音 |
|---|---|---|
| 会话正在运行(你不在时) | 🔴 红点(无数字)= 还在干活 | 静音 |
| 会话跑完(你不在时) | 🔴 红色数字 +1 = 结果在等你 | 🔊 水泡音 |
| 会话需要你处理 | 🔴 红色数字 +1 | 🔊 水泡音(每段离开期一次) |
| 回到应用 | 自动清除 | — |
为什么用 Badging API
本插件完全构建在 Badging API 之上,用它的三种状态编码「是否/何种新信息」:
navigator.setAppBadge(3) // 红色数字角标:3 个未读结果
navigator.setAppBadge() // 无数字红点:有会话正在运行
navigator.clearAppBadge() // 清除:回到应用,已读
- 无权限、无横幅、无系统设置:角标是系统级常驻标记,网页直接调用即可
- 点 vs 数字:数字 = 未读结果计数,纯点 = 运行中(这是 Badging API 能表达的最清晰差异)
- 兼容性:需将 DSH Web 安装为 PWA(Chrome「安装网页应用」),Chrome 81+ 支持该 API;Chrome 152+ 起角标/通知会正确归属到 Web App 自身
安装
安装插件包到你的 DSH profile(以
web为例):dsh plugin --profile web add github:Bing-Bryan/dsh-unread-dot在 profile 的
package.json的dsh.profile.bundles中追加:"dsh": { "profile": { "bundles": [ "...", "dsh-unread-dot" ] } }重启
dsh web,设置 → Dock 角标与通知 即可配置。
设置项
| 设置 | 默认 | 说明 |
|---|---|---|
| Dock 角标 | 开 | 总开关:跑完/等你处理时显示数字角标,回到应用清除 |
| 运行中显示活动点 | 开 | 最小化期间有会话在生成回复时,显示无数字红点 |
| 提示音(水泡) | 开 | 完成/需要处理时播放内置水泡声(bubble.mp3,0.4s) |
| 测试提示音 | 按钮 | 立即播放一次水泡音验证声音 |
工作原理
- 插件订阅 DSH 的会话列表(
sessions.list),维护未读/已读状态:回到应用(窗口聚焦)时,当前所有待处理状态标记为已读 - 最小化/切走期间,新发生的完成/等待事件才点亮角标与提示音(旧事件不会累计重复计数)
- 运行中的会话只显示活动点(红点),不进入数字计数
- 提示音用
Audio播放内嵌的 MP3(base64),跨窗口锁保证多个窗口同时打开时只响一次
兼容性
- macOS Chrome(安装为 PWA / 「Install page as app」)
- 角标:
setAppBadge需在已安装的 Web App 上下文中生效 - 无服务器端依赖,纯客户端插件,HMR 热更新零重启
许可
MIT © 2026 Bing-Bryan
内置音效 bubble.mp3 基于 Pixabay 音频:Nature bubble in water 剪辑制作(Pixabay 许可:免费商用、无需署名)。
liustack/modsearch
xgone/dsh-remote
wxkingstar/SpecFusion
dingyi222666/dsh-session-notification
Leon0555/dsh-lan-access
610la/dsh-notification-center