dsh-bubble:任務結束時播放「咕嚕」氣泡提示音

前言

在 DeepSeek Harness(DSH)裏跑長任務時,模型可能連續調用多步工具,界面一直處於「運行中」。眼睛盯着輸出流,很難判斷這一輪是否已經真正收尾。有人靠切窗口、有人靠系統通知,但和「這一輪迴答結束」並不總是一一對應。

下面介紹社區插件 dsh-bubble(維護者 cccchensy):在整輪任務結束、輸出停止時,播放一串約 1.05 秒的原創「咕嚕」氣泡提示音,思路類似桌面版裏「回答完成」的輕提示——不搶注意力,但能立刻確認狀態已從運行變爲空閒。

這是什麼

dsh-bubble 是 DSH 生態裏的一個 client-only 插件 bundle:Host 端幾乎爲空實現,不寫 Session 事件、不註冊模型工具、不髮網絡請求。它在瀏覽器側監聽會話狀態,當某個會話從 running: true 變爲 false 時觸發一次播放;WAV 以 data URI 內嵌在構建產物裏,無需額外下載音頻文件。

插件在 SkillHub 目錄中歸類爲「趣味換裝」;倉庫 cccchensy/dsh-bubble 採用 MIT 許可證,README 標明在 DSH Desktop 0.2.1-rc.3 的 Web 界面下測試,平臺爲 web。

核心功能

何時響鈴

場景 行爲
會話從「運行中」變爲「空閒」——整輪任務結束、輸出停止(含期間多步工具調用) 響一次
子代理 / Agent Teams 子會話逐個結束 不響;整隊只在主任務收尾時響一次
多個會話幾乎同時完成 700 ms 去重,只響一次
切到其他會話、停留在設置或插件頁 仍會響(監聽掛在頁面級浮層)
頁面剛打開、尚未交互 遵守瀏覽器自動播放策略;第一次點擊或打字後解鎖音頻
輸入框下方小泡泡按鈕 靜音 / 恢復(斜線表示已靜音),狀態保存在 localStorage

子代理會話通過會話列表行的 origin === 'subagent' 過濾,只記錄狀態、不觸發提示音。

聲音與實現要點

提示音不是通用 ding,而是由 numpy 程序合成的氣泡聲:低沉「咕嚕」、兩枚上浮氣泡、C5–E5–G5 琶音與輕水花,mono 44.1 kHz,峯值約 −1.0 dBFS。試聽文件在倉庫 assets/bubble-chime.wav。

完成檢測訂閱客戶端 Remote 的 api-session/status,並以 ctx.sessions.list 作兜底;掛載時用當前狀態播種,避免硬刷新後爲歷史完成補響。Web Audio 不可用時回退到 <audio> 元素。

安裝與啓用

前置:DeepSeek Harness(README 測試於 Desktop 0.2.1-rc.3 的 Web 界面)、Node.js ≥ 20、pnpm;部分安裝路徑需要本機已安裝 git(由 dsh plugin 轉交 pnpm 處理)。

從 GitHub 安裝

將 <你的 profile> 換成你實際使用的 DSH profile 名稱:

dsh plugin --profile <你的 profile> add github:cccchensy/dsh-bubble

若當前 pnpm 不接受 github: 短寫,可讓 DSH 會話按 README「方式三」代爲克隆目錄並以 bundle 安裝到當前 profile,裝完需硬刷新瀏覽器。

裝完之後

  1. 硬刷新瀏覽器(Ctrl/Cmd + Shift + R):客戶端模塊多在啓動時加載。
  2. 在 DSH Plugins 頁面確認 dsh-bubble 已啓用(默認安裝即啓用)。
  3. 發一條消息並等待跑完,任務結束時應聽到氣泡提示音。

卸載:在 Plugins 頁面停用或移除 bundle 即可;不寫會話數據。

典型用法

日常無需配置項:啓用插件後照常使用 DSH。需要安靜環境時,點輸入框下方泡泡按鈕靜音;狀態會保留到下次打開同一瀏覽器配置。

想先聽音色,可在 GitHub 倉庫打開 assets/bubble-chime.wav,或查看 docs/bubble-card.png 中的波形說明。開發側可用 node scripts/build.mjs 重建內嵌 WAV 的 lib/client.js,用 node scripts/verify.mjs 做結構自檢(README 記錄 2026-10-29 驗證全綠)。

適用場景與注意

適合:長時間多步工具任務、需要「整輪結束」聽覺反饋、又不想被系統級通知打斷的 DSH Web 使用者。

限制(來自 README):

  • 0.1.x 未驗證;只在頁面打開時播放,頁面關閉不會響。
  • 已停止或被用戶取消的任務同樣算「輸出停止」,會響一聲(若要區分需在 src/client.template.js 的 fireCompletion 中自行擴展)。
  • 插件以當前 DSH 進程與瀏覽器上下文運行;安裝前建議閱讀 源碼與 MIT 許可證,確認接受其行爲與依賴。

DSH 社區目錄(如 SkillHub 上的 dsh-bubble 頁)是獨立站點,與 DeepSeek / 幻方無官方從屬關係;插件由社區維護者發佈,星標與分類以目錄與 GitHub 公開信息爲準(當前 GitHub 約 2 stars)。

結尾

dsh-bubble 把「整輪任務真的跑完了」做成一聲短促、圓潤的氣泡提示音,並處理好子代理與併發去重,適合作爲 DSH Web 界面上的輕量完成反饋。

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

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

小夜