前言¶
在 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 再導入(與目錄頁簡介一致)。
三套音效分別幹什麼¶
- 任務完成音效(A 池) —— 每次根會話裏一輪迴復正常結束(
turn/end,不含aborted),從 A 池隨機播一個;子代理自己的回合不算「任務完成」,不會誤響。 - 提醒音效(B) —— A 響完後開始倒計時;倒計時走完且這段時間裏沒有新消息、新對話或新任務,才補響一次 B。B 關着時連倒計時都不會開始。
- 授權 / 選擇提醒音效(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 / 幻方無官方從屬關係)。
典型用法¶
- 安裝並重啓 DSH 後,點左側喇叭圖標打開面板。
- 按需打開「任務完成音效(A)」「提醒音效(B)」「授權 / 選擇提醒音效(C)」。
- 用「批量導入音頻」填充 A 池;「選擇提醒音效」指定 B;C 卡片同樣可批量導入。
- 在 B 卡片設置間隔秒數(回車或失焦保存),或點預設。
- 正常聊天:每輪結束響 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 爲準: