前言¶
DSH 跑完一輪對話是「靜悄悄」的:你去幹別的,回來才發現它早答完了;這一輪花了多少額度,也只能切到網頁裏翻。這個插件把兩件事拉到你眼皮底下:一輪真正結束時響一聲,同時左上角彈一行「本輪扣費 / 餘額」,十秒後淡出。
它叫 _turn-sound,是一個 DeepSeek Harness(DSH)插件,維護者 Buir5,分類屬於客戶端(dsh.client.platform = web)。下面按插件本身來介紹:它做什麼、怎麼裝、怎麼用、有哪些坑。
這是什麼¶
一句話定位:一個把「回合結束」和「這一輪花的錢」做成提示音與可拖動浮層的 DSH 插件。
插件分爲兩半:
- 宿主半區跑在 Node 裏,負責記賬(
ledger)和提供音頻; - 客戶端半區是右下角一個 38px 的金色鈴鐺,點開是設置面板。
它解決的具體問題:DSH 答完一輪沒有提醒,額度消耗也沒有當面反饋,用戶要麼錯過,要麼事後去網頁查賬。這個插件把這兩個動作放進當前窗口。
核心功能¶
README 列出的能力如下,均按原文覈對:
| 能力 | 說明 |
|---|---|
| 回合結束提示音 | 檢測到這一輪真正結束(不是流式中)才響,同一輪只響一次 |
| 扣費浮層 | 左上角顯示「本輪扣費 / 餘額」,可拖動,10 秒淡出,位置記在瀏覽器裏 |
| 額度賬本 | 監聽 session/event 的 assistant/message.usage,按模型單價算人民幣 |
| 餘額校準 | 優先走 deepseekAccount.getBalance(),取不到再回落 API key / 舊快照 |
| 自定義音頻 | 面板裏選本地 MP3/WAV 上傳,或直接用內置提示音 |
需要留意的是:人民幣金額是「按 token 單價估算」,和官方賬單可能存在分位差異;餘額取的是賬號接口的真實值。兩者口徑不完全一致,浮層上把兩者並列展示正是爲了方便對照。
安裝與啓用¶
README 沒有提供 dsh plugin add ... 之類的命令,而是走 profile 依賴方式,原文如下:
# 1) 放進 DSH 的 profile 依賴
# ~/.dsh/profiles/desktop/package.json 里加:
# "_turn-sound": "file:C:/path/to/_turn-sound"
# 並在 dsh.profile.bundles 里加上 "_turn-sound"(放第一位纔會排在最上)
# 2) 讓 DSH 認得這個包(關鍵,缺了它插件不會進應用圖)
# 包自帶 cordis.patch.yml:
# - insert:
# - id: _turn-sound
# name: _turn-sound
兩個步驟各自的作用:第一步把包掛進 profile 依賴並加入 bundles;第二步的 cordis.patch.yml 纔是讓 DSH 真正加載它的關鍵,缺了它插件不會進入應用圖。裝完重啓 DSH,右下角出現金色鈴鐺即生效。
包內自帶 cordis.patch.yml,package.json 中也通過 dsh.bundle.patch 指向它,因此不必手工寫加載邏輯。
典型用法¶
按 README 的順序:
- 點鈴鐺打開面板;
- 勾「啓用」、選聲音、調音量 / 浮層透明度;
- 「試聽」確認音量,「測浮層」看額度樣式;
- 「保存」寫進
~/.dsh/turn-sound/config.json。
數據目錄爲 ~/.dsh/turn-sound/,內含 config.json、ledger.json 和上傳的音頻。
更新檢查是插件自身行爲:啓動時讀倉庫根目錄的 version.json(fetch + no-store)。若遠端版本比本地新,鈴鐺右上角出現紅點,面板底部顯示 v當前 → v最新 · 去更新,點開是 Release 頁;無網絡時靜默跳過,不影響播放。
適用場景與注意¶
適合:在 Web 客戶端里長輪次使用 DSH、希望在離開窗口時也能感知「答完了」、並且想知道每輪大概花了多少錢的開發者。
注意事項如下:
- 插件以當前 DSH 進程的權限運行,安裝前應檢查源碼與許可證(倉庫根目錄提供
LICENSE,package.json標註 MIT)。 - 只在 Web 客戶端掛載,需
dsh.client.platform = web;客戶端文件必須包在window.__ModuleLoader__.load({...})裏,頂層export會讓渲染層報Unexpected token export並導致整個 web boot 判定失敗。 - 回合結束判定依賴「流式按鈕消失 + 5 秒靜默窗口」。如果 DSH 改了按鈕的無障礙標籤,需要同步修改
busyUI()裏的選擇器。 - CNY 金額是估算值,餘額是真實賬號接口值,兩者可能因分位而不一致。
版本與許可:README 附帶的 package.json 顯示版本 0.3.1,協議 MIT,Node 要求 >=18;作者爲 知乎老哥。星標與客戶端分類以社區目錄頁爲準。
結尾¶
這個插件的價值在於把「回合是否結束」和「這一輪花了多少錢」從 DSH 後臺和網頁賬單裏,挪到了當前窗口的提示音與浮層上,成本是多一個常駐的鈴鐺和一份本地賬本。
目錄頁:https://www.skillhub.cn/plugins/Buir5/_turn-sound
GitHub:https://github.com/Buir5/_turn-sound