前言¶
DeepSeek Harness (DSH) 的插件生態支持通過插件擴展代理行爲。在運行長會話時,開發者往往需要離開電腦,此時需要一個機制來感知會話狀態的變化。dsh-helper 插件通過調用 Windows 原生通知能力,在會話結束、報錯或需要人工確認時提醒開發者。
核心功能¶
該插件主要解決會話狀態反饋的缺失問題:
- 任務狀態通知:監聽 DSH 事件,在代理會話空閒(任務完成)、報錯、需要多選確認或工具權限審批時,彈出原生 Windows Toast 提示。
- 完成提示音:會話結束時播放提示音,內置合成提示音,音量支持 0-100 調節,也可指定本地音頻文件。
- 設置與測試:在 DSH 設置面板提供開關配置和測試按鈕,可實時預覽三種通知類型。
- 零依賴與熱重載:通過
cordis.patch.yml管理配置,無需重啓 DSH 即可生效,不依賴本地編譯環境。
安裝與啓用¶
在使用前,請確保已安裝並初始化 DSH 的 Web 配置文件(即運行過 dsh web),且 DSH 版本不低於 0.1.2-rc.1。
執行以下命令進行安裝:
dsh plugin --profile web add dsh-helper@latest
安裝完成後,插件會自動創建 Delivery Identity(AppUserModelID 快捷方式),以確保通知在應用未聚焦時也能正常送達。
配置與使用¶
- 打開 DSH 設置界面,找到 Task Notifications (dsh-helper) 選項。
- 根據需求開啓或關閉以下開關:
notifyOnComplete:會話完成時通知。notifyOnError:會話報錯時通知。notifyOnConfirm:代理需要多選確認時通知。notifyOnPermission:工具觸發權限審批時通知。
- 調整提示音設置,包括音量(0-100)或指定本地音頻文件路徑(支持 wav/mp3/wma)。
- 點擊設置面板中的測試按鈕,預覽不同類型的通知效果。
技術原理與限制¶
- 平臺限制:通知機制基於 PowerShell WinRT Toast,僅支持 Windows 平臺。在 macOS 或 Linux 上,插件會加載但不執行任何操作(靜默空操作)。
- 聲音播放:聲音播放依賴 WPF MediaPlayer,若不可用則回退至
System.Media.SoundPlayer(僅支持 wav 格式且忽略音量設置)。 - 系統干擾:如果 Windows 的“專注助手”或“勿擾模式”處於開啓狀態,通知可能會被系統攔截。
- 安全性:設置面板的訪問路由
/_dsh/dsh-helper/settings僅綁定本地地址,防止跨域訪問。
結語¶
dsh-helper 爲 DSH 用戶提供了一種輕量級的會話狀態感知方案,適合需要長時間運行任務並希望即時獲知結果的開發者。