dsh-done-alert:Windows 任務欄完成提醒與提示音

前言

在 DSH 裏跑長任務時,瀏覽器標籤頁未必一直在前臺;會話從 running 變爲 idle 後,若只靠側邊欄綠點,很容易漏看。社區裏已有基於 UIA 在任務欄 DSH 圖標上疊角標的方案(如 dsh-badge-notify),但缺少聲音、角標配色也與側邊欄語義不完全一致。下面介紹 dsh-done-alert:在 Windows 桌面上本地完成「提示音 + 任務欄角標」,不聯網,語義與 DSH 側邊欄小圓點對齊。

這是什麼

dsh-done-alert 是 DeepSeek Harness 的桌面側插件,維護者爲 P1gG0dG0d,倉庫 P1gG0dG0d/dsh-done-alert。它在 dthcle/dsh-badge-notify(MIT)基礎上二次開發:保留任務欄徽標與未讀計數邏輯,增加微信式提示音,並把角標/提示點配色改成與 DSH 側邊欄一致的綠/橙語義。當前 package 版本爲 1.2.1,僅支持 Windows(os: win32)。

核心功能

兩個能力均在 Windows 桌面本地完成,不依賴瀏覽器標籤頁是否打開。

提示音

宿主半端經 Media.SoundPlayer 播放 WAV,標籤頁未開也會響。

  1. 任意會話一輪跑完(running → idle)時播放 done.wav(微信式「叮咚」)。
  2. 出現提問待回答或權限申請待批准時播放更亮的 attention.wav。
  3. 同類提示音有最小間隔(默認 sound.minGapMs: 1500),避免連續完成時連響。

任務欄角標

在任務欄 DSH 圖標上疊畫鼠標穿透浮層:

  • 帶數字的圓角小方塊(圖標右上角):表示未讀的已完成會話數。「未讀」與側邊欄綠點同義——跑完時你正在看該會話則不計數;打開會話即已讀、計數減掉。可通過 badge.unreadOnly: false 改爲統計全部完成。
  • 顏色:綠 #22c55e 表示有未讀完成;橙 #f59e0b 表示有提問/權限待處理。兩者同時存在時默認優先橙色(badge.colorByAttention,默認開)。
  • 左邊緣提示點(可選):橙點=提問,黃點=權限申請(dots.group: "kind" 時每類一個)。

v1.1.0 起支持 badge.unreadTtlMs(默認 24 小時)對仍未讀的完成自動過期,避免隱藏會話把角標卡死;並提供 /chime 試聽與 logs/chime.log 播放錯誤記錄。v1.2.0 將 UIA 調用移入獨立 MTA 探針線程,避免任務欄 provider 阻塞拖死整個浮層。

安裝與啓用

在插件源碼所在目錄的絕對路徑下,用 desktop profile 安裝(命令來自官方 README,勿自行拼接 GitHub 短名):

dsh plugin --profile desktop add <本目錄的絕對路徑>

裝完一般無需重啓 DSH:宿主半端會把浮層載荷部署到 %LOCALAPPDATA%\DshDoneAlert\ 並拉起,數秒內任務欄 DSH 圖標上可見徽標;首個相關事件觸發提示音。設置 → 插件 → 完成提醒 中可查看狀態、啓停與清零。

配置

編輯 %LOCALAPPDATA%\DshDoneAlert\config.json,改完約 2 秒自動生效。常用鍵如下:

鍵 默認 說明
sound.enabled true 提示音總開關
sound.onCompletion true 完成時 done.wav
sound.onAttention true 提問/權限時 attention.wav
sound.minGapMs 1500 同類提示音最小間隔
badge.colorByAttention true 有待處理時角標變橙
badge.bgGreen / badge.bgOrange #22c55e / #f59e0b 角標綠/橙
badge.unreadOnly true 只統計未讀完成
badge.unreadTtlMs (v1.1.0,默認 24h) 未讀完成 TTL,0 爲永不過期
dots.question / dots.approval #f59e0b / #eab308 提示點顏色
uia.stuckMs 20000 UIA 探針無進展判定卡死
uia.maxStuck 3 同時棄置卡死探針上限

錨點、尺寸等其餘鍵與上游 dsh-badge-notify 相同,見其 README。

調參與管理

數據目錄爲 %LOCALAPPDATA%\DshDoneAlert\:

  • 預覽角標位置:寫入 preview.json,例如 {"enabled": true, "count": 8, "dots": ["question", "approval"]} 固定畫面調位置。
  • Loopback API(僅本機 POST):/api/dsh-done-alert/status|start|stop|clear|read;v1.1.0 另有 /chime 試聽。

與其他插件的兼容

dsh-study-ask(學習提問):提問標籤用 studyAsk 保留標籤掛在右側欄,行在左側列表被隱藏,無法靠「打開左側會話」標記已讀。v1.1.0 起,提問標籤頁開着時(retainedBy.studyAsk > 0)視爲正在看,完成不計數不響鈴;關標籤後照常提醒,再打開對應提問標籤即已讀並清計數。

適用場景與注意

適合在 Windows 上長時間掛 DSH、希望任務結束或待審批時有聲音且任務欄一眼可見的開發者。插件以當前 DSH 進程權限運行,安裝前請自行查看源碼與 MIT LICENSE。非 Windows 平臺不在支持範圍內。

DSH 生態強調「一切皆插件」;社區目錄 SkillHub 上的 dsh-done-alert 頁 爲獨立站點收錄,與 DeepSeek / 幻方無官方從屬關係。

結尾

經過上面的步驟,你可以在 Windows 任務欄上獲得與側邊欄語義一致的綠/橙角標,並在完成或需要關注時聽到本地提示音。詳情與 issue 見 GitHub:https://github.com/P1gG0dG0d/dsh-done-alert;目錄頁:https://www.skillhub.cn/plugins/P1gG0dG0d/dsh-done-alert。

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

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

小夜