在 DSH(DeepSeek Harness)智能體開發中,通常缺乏對“審批請求”和“對話結束”等關鍵狀態的聽覺反饋。此插件通過監聽宿主事件,在上述時刻播放聲音提示,減少人工檢查的時間成本。
插件定位¶
這是一個 DSH 宿主插件,用於在審批詢問和一輪對話結束時播放聲音提示。插件由 anne43983959 維護,採用 MIT 許可證。它屬於純宿主半模塊,零外部依賴,不註冊工具、不註冊服務、不修改現有文件。
核心功能¶
插件通過監聽以下事件並播放預設音效,實現狀態感知:
- 審批詢問:監聽
approval/request事件。注意該事件屬於 cordis 的 waterfall 類型,監聽器必須調用next()放行,否則會否決整條審批鏈。 - 對話結束(主路徑):監聽
session/event中event.type === "turn/end"的事件。此路徑可利用 scope carrier 過濾子代理,避免子代理會話也觸發聲音。 - 對話結束(兜底):監聽
agent/turn-stopping事件。此路徑不依賴 scope,作爲兜底機制,延遲 2 秒後播放,確保主路徑未觸發時仍有反饋。 - 提問提示:監聽
tools/execute中ask_user_question事件,播放提示音。
安裝¶
在宿主環境中執行以下命令:
dsh plugin --profile web add github:anne43983959/dsh-audio-cue
安裝後必須重啓宿主實例,模塊與素材纔會生效。
配置¶
配置項需寫入 profile 的 cordis.patch.yml(插件自帶的配置或 profile 覆蓋):
| 鍵 | 默認值 | 說明 |
|---|---|---|
enabled |
true |
總開關 |
approval |
true |
審批詢問音開關 |
ask |
true |
提問音開關 |
turnEnd |
true |
一輪結束音開關 |
ignoreSubagents |
true |
忽略子代理的回合結束音 |
fallbackTurnStopping |
true |
兜底機制開關 |
fallbackDelayMs |
2000 |
兜底延遲(毫秒) |
selfTest |
false |
自檢音開關 |
selfTestMs |
2500 |
自檢音延遲(毫秒) |
素材要求¶
插件運行需要宿主目錄下包含以下素材文件:
assets/approval.wav:審批提示音assets/turn-end.wav:對話結束提示音
兩段素材均爲 44.1 kHz / 16-bit / 立體聲 WAV 格式。
兼容性與注意事項¶
- 兼容性:要求
dsh.compatibility.runtime >=0.1.1-rc.1 <0.3.0。 - 權限:插件僅讀取宿主事件,無額外權限需求。
- 自檢:開發時可運行
node scripts/smoke.mjs進行本地自檢。
生態背景¶
DSH 採用“一切皆插件”的架構。本插件託管於社區目錄,與 DeepSeek 及幻方無官方從屬關係。