前言¶
使用 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 上:運行中顯示紅點,未讀結果顯示數字,完成或需要處理時播放水泡提示音,回到應用後自動清除。
相關鏈接: