dsh-unread-dot:在 macOS Dock 上顯示 DSH 未讀角標與水泡提示音

前言

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

相關鏈接:

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜