dsh-task-sfx:三套互不干擾的任務音效

前言

在 DSH 裏跑長對話或等代理寫完一整輪迴復時,眼睛不一定一直盯着界面。有人習慣用系統通知,但 DSH 的「一輪結束」「需要你點批准」「停下來問你選哪條路」是三種不同節奏——混成一種提示音很難區分。社區維護者 kanmanJO 的 dsh-task-sfx(npm 包名 dsh-task-sfx,GitHub kanmanJO/dsh-task-sfx)給 Web 端 DSH 會話裝三套互不相干的音效:回覆結束隨機響一聲、靜默超時補響一次、審批或選擇題出現時再響一聲。分類在社區目錄裏歸在「趣味換裝」;倉庫當前星標爲 0,許可證 MIT,版本 1.3.0(以 package.json 爲準)。

下面介紹它做什麼、怎麼裝、日常怎麼用,以及使用時要注意的幾點。

這是什麼

dsh-task-sfx 是標準 DSH bundle:Host 半訂閱會話與審批相關事件,Client 半在側邊欄提供設置面板並常駐播放引擎。開關、音效文件和提醒間隔都落在 <DSH home>/task-sfx/,與插件代碼分開,卸載或升級 bundle 一般不會丟配置。

音頻可以從本機導入;README 提到若找不到合適片段,可以用 filee 把視頻裁段轉成 MP3 再導入(與目錄頁簡介一致)。

三套音效分別幹什麼

  1. 任務完成音效(A 池) —— 每次根會話裏一輪迴復正常結束(turn/end,不含 aborted),從 A 池隨機播一個;子代理自己的回合不算「任務完成」,不會誤響。
  2. 提醒音效(B) —— A 響完後開始倒計時;倒計時走完且這段時間裏沒有新消息、新對話或新任務,才補響一次 B。B 關着時連倒計時都不會開始。
  3. 授權 / 選擇提醒音效(C 池) —— DSH 彈出審批(approval/request),或通過 ask_user_question、exit_plan_mode 把球交給你時,從 C 池隨機播一個。只提醒你看界面,不改變審批結果,也不替你作答。

三個開關獨立:只想要完成音就關 B、C;C 關着時審批來了也不出聲。

面板裏還能配什麼

  • A / C 池:支持批量導入本地音頻,列表裏逐條試聽、刪除;兩池互不影響。
  • B:單獨上傳一個文件,新文件會替換舊的(舊文件一併刪掉)。
  • 提醒間隔:1–43200 秒,面板提供 10s / 30s / 1m / 5m / 10m 預設;改完立即生效,正在走的倒計時按新時長重算。發消息、開新對話、起新任務會立刻作廢倒計時。
  • 格式與上限:mp3、m4a、wav、ogg、flac、webm 等常見格式;單文件最大 40 MB,每個池最多 200 條。
  • 界面:中英雙語,跟隨 DSH 當前語言。

瀏覽器不允許無用戶交互就自動出聲。首次使用請在面板裏點一次「試聽」,之後自動播放纔會正常。

安裝與啓用

本包無構建步驟、無 npm 依賴;裝完需重啓 DSH。左側邊欄會出現喇叭圖標(與「插件」「自動化任務」同級)。若改源碼開發,需重載插件並在瀏覽器按 F5。

方式一,從 npm(README 推薦):

dsh plugin --profile web add dsh-task-sfx

方式二,從 GitHub 倉庫:

dsh plugin --profile web add github:kanmanJO/dsh-task-sfx

方式三,在面板裏:

plugin_manager → install_bundle → target = dsh-task-sfx

--profile web 是官方示例裏的 profile 名;若你用的是 desktop 等,換成自己的 profile 即可。

社區目錄頁:https://www.skillhub.cn/plugins/kanmanJO/dsh-task-sfx(獨立站點,與 DeepSeek / 幻方無官方從屬關係)。

典型用法

  1. 安裝並重啓 DSH 後,點左側喇叭圖標打開面板。
  2. 按需打開「任務完成音效(A)」「提醒音效(B)」「授權 / 選擇提醒音效(C)」。
  3. 用「批量導入音頻」填充 A 池;「選擇提醒音效」指定 B;C 卡片同樣可批量導入。
  4. 在 B 卡片設置間隔秒數(回車或失焦保存),或點預設。
  5. 正常聊天:每輪結束響 A;安靜到倒計時結束再響一次 B;需要批准或需要你拍板時響 C。

數據目錄結構如下(<DSH home> 默認 Windows 爲 C:\Users\<你>\.dsh,可用環境變量 DSH_HOME 覆蓋):

<DSH home>/task-sfx/
├── config.json     # 三個開關、間隔(秒)、音效清單
└── sounds/         # 導入的音頻,文件名即條目 id

config.json 裏 enabledA / enabledB / enabledC 對應三個開關;提醒間隔以 seconds 爲準。老版本若只有單個 enabled,升級時會遷移爲 A、B 同開同關;C 無歷史字段,升級後默認關,需在面板手動打開。

適用場景與注意

適合誰:長時間掛着 DSH 寫代碼或跑任務、希望「寫完一輪」「別忘回來看批准」「靜音太久再提醒一下」用不同聲音區分的開發者。

運行與信任:插件在 DSH Host / Client 進程權限下讀寫本地目錄並通過同源 HTTP(/task-sfx/api)供面板使用。安裝前建議瀏覽 GitHub 倉庫 源碼與 MIT 許可證;社區目錄僅作發現入口,不替代你自己對 bundle 的審查。

環境要求(package.json):Node ^22.19.0 || >=24.0.0,DSH >=0.2.1-rc.3,Client 注入 Web 佈局與側邊欄。

結尾

dsh-task-sfx 把「回覆結束」「靜默提醒」「要你出面」拆成三套可獨立開關的音效池,配置持久化在 task-sfx 目錄。需要安裝命令與細節時,以 README 爲準:

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

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

小夜