前言¶
DeepSeek Harness (DSH) 採用插件化架構,允許開發者根據需求擴展功能。在智能體開發場景中,用戶常因切換標籤頁或窗口而錯過會話狀態更新(如任務完成、報錯、等待審批等)。dsh-away-notify 旨在解決這一問題,僅在用戶離開當前頁面時觸發桌面通知。
安裝¶
該插件依賴 Node.js >= 22.5。安裝命令如下:
dsh plugin --profile web add github:s11phere/dsh-away-notify
注意事項:
* Windows 跨盤符問題:如果 $DSH_HOME 與插件檢出目錄不在同一盤符,直接安裝可能導致靜默失敗(退出碼 0 但插件無效)。Windows 用戶需使用倉庫提供的安裝腳本或確保路徑在同一盤符。
* 重啓生效:安裝後需重啓 dsh web 並刷新瀏覽器頁面,新增 bundle 纔會被加載。
配置¶
配置文件位於 profile 的 cordis.patch.yml。該文件支持熱監視,但新增 bundle 後首次仍需重啓。關鍵配置項包括:
- id: dsh-away-notify
config:
onTurnComplete: true
onTurnError: true
onTurnAborted: true
onTurnMaxTokens: true
onApproval: true
onQuestion: true
onGoalComplete: true
suppressGoalRounds: true
rootsOnly: true
cooldownMs: 10000
openOnClick: true
persistent: true
dismissOnReturn: true
驗證安裝:
dsh --profile web --dump-config | grep -A2 dsh-away-notify
功能¶
- 原生通知支持:原生 Windows Toast(支持 WSL 環境)或 Linux
notify-send(缺失則僅記錄日誌),支持系統提示音。 - 點擊回跳:點擊通知可回跳至對應會話,支持多 DSH 實例區分,避免誤傷。
- 防刷屏與抑制:具備冷卻機制,同會話同類型通知替換而非疊加;支持根據在場狀態抑制通知,頁面失焦即視爲離開。
- 插件接口:支持被其他插件接管,允許其他插件聲明“這條會話別打擾”或指定點擊落點。
注意事項¶
- Node.js 版本:需要 Node.js >= 22.5。
- DevTools 行爲:打開瀏覽器 DevTools 會導致頁面失焦,插件會將其判定爲離開狀態。
- 配置項差異:
appName配置項已聲明但未實際使用;區分通知來源請修改appId。 - Token 安全:開啓
includeToken會導致鑑權 Token 進入本地通知歷史記錄。 - 自檢工具:可使用
node scripts/selftest-notify.mjs "標題" "正文"驗證通知通道是否通暢。
結語¶
該插件爲 DSH 用戶提供了僅在離開時觸發的桌面通知體驗,適合需要後臺運行並關注狀態變更的開發場景。更多細節見 GitHub 倉庫。