前言¶
在 DeepSeek Harness(DSH)裏跑長任務時,窗口往往放在後臺:寫代碼、查資料、做別的活。Agent 停下來等你回答、等你授權工具、或等你批准計劃時,如果沒有任何提醒,很容易錯過交互,任務就卡在半道。
常見做法是反覆切回 DSH 看狀態,或自己寫腳本監聽日誌——都費事,且和 DSH 的審批、提問事件對不上。下面介紹社區插件 dsh-interaction-notify(維護者 waterc07,分類爲客戶端):在三種「需要你介入」的宿主事件上,彈出 Windows 系統通知、播放提示音,並可選任務欄閃爍;點擊通知可回到 DeepSeek Harness 窗口。插件爲 host-only,沒有瀏覽器半,也不向頁面注入腳本。
這是什麼¶
dsh-interaction-notify 是 DeepSeek Harness 的 Cordis 宿主插件:監聽宿主側的提問、工具授權審批、計劃批准事件,在本機完成 Toast、聲音與窗口激活。配置與狀態寫在 $DSH_HOME\dsh-interaction-notify\state.json(默認 $DSH_HOME 爲 %USERPROFILE%\.dsh),並可通過本機 HTTP 路由熱更新。
倉庫:https://github.com/waterc07/dsh-interaction-notify
社區目錄:https://www.skillhub.cn/plugins/waterc07/dsh-interaction-notify
核心功能¶
一次有效提醒最多帶來三種可感知信號:
| 信號 | 說明 |
|---|---|
| 系統通知(Toast) | 出現在 Windows 通知中心,應用身份爲「DeepSeek Harness 提示」(由開始菜單快捷方式註冊);標題與正文對應當前要處理的內容 |
| 提示音 | 默認播放內置 assets/notify.wav(C5→E5 雙擊音,默認音量 55);可改爲 Windows 系統音或靜音 |
| 任務欄閃爍 | DSH 主窗口在任務欄閃 5 次,作爲不打斷當前操作的補充提示 |
其它行爲(均來自 README):
- 同一交互只提醒一次:按審批
id或工具callId去重,內存保留最近 200 個 id。 - 防刷屏:非審批類通知受
minIntervalMs(默認 1200ms)限制,間隔內新提醒直接丟棄;審批請求永不節流,只去重。 - 前臺不打擾:默認
quietWhenFocused: true,DSH 已在最前時整條提醒(含聲音)跳過。 - 內容克制:通知僅一句標題 + 一句摘要,不含完整會話,也不上傳數據。
- 無第三方 npm 依賴:運行時依賴 Node 內置模塊與 Windows PowerShell 5.1。
三種觸發場景¶
| 場景 | 宿主事件 | 通知標題 | 通知正文(摘要) |
|---|---|---|---|
| 提問 | tool/call,工具名 ask_user_question |
需要你的回答 | 第一個問題(截斷 140 字);多題時追加「共 N 個問題」 |
| 授權審批 | approval/asked |
需要你的批准 | 工具名與可選 reason(reason 截斷 120 字) |
| 計劃批准 | tool/call,工具名 exit_plan_mode |
計劃已就緒,等待你的批准 | 提示點擊查看計劃並批准或修改 |
三類可分別用 events.question / events.approval / events.plan 關閉。
前置條件¶
安裝前請確認:
- Windows 10 / 11(Toast、AppUserModelID、
user32窗口 API)。 - DeepSeek Harness 桌面端(由宿主加載插件;
package.json中無dsh.client)。 - Windows PowerShell 5.1(
notify.ps1使用 WinRT,須固定調用 5.1,不能用 pwsh 7 替代)。 - 通知權限:系統設置中打開通知,並允許「DeepSeek Harness 提示」(回退到 PowerShell 身份時還需允許 Windows PowerShell)。
- Node.js:構建與安裝腳本使用;運行時由 DSH 自帶 Node 執行。項目在 Node.js v25.9.0 上驗證,README 建議較新 LTS(22+)。
插件以當前 DSH 進程權限運行;安裝前應自行查看源碼與 MIT 許可證(package.json 版本 0.1.0)。
安裝與啓用¶
推薦用倉庫自帶的 scripts/install.mjs 一次性寫入 profile 依賴、bundle、junction,並註冊開始菜單快捷方式(點擊通知回窗口依賴該步驟)。
先在 PowerShell 中確定 DSH 家目錄:
$dshHome = if ($env:DSH_HOME) { $env:DSH_HOME } else { Join-Path $env:USERPROFILE '.dsh' }
$pluginDir = Join-Path $dshHome 'plugins\dsh-interaction-notify'
New-Item -ItemType Directory -Force -Path (Join-Path $dshHome 'plugins') | Out-Null
git clone https://github.com/waterc07/dsh-interaction-notify.git $pluginDir
Set-Location $pluginDir
# 預覽,不寫文件
node scripts\install.mjs --profile desktop --dry-run
# 正式安裝(冪等)
node scripts\install.mjs --profile desktop
若腳本找不到桌面端 exe,可顯式指定:
node scripts\install.mjs --profile desktop --exe "<DSH 安裝目錄>\DeepSeek Harness.exe"
要點:
- profile 須已存在(至少啓動過一次 DSH 桌面端)。
- 安裝腳本會備份 profile 的
package.json,不會寫入 DSH 安裝目錄。 setup-shortcut.ps1失敗時安裝仍繼續,但點擊通知回窗口可能失效,需補跑該腳本。
安裝或升級後必須完全退出並重新打開 DeepSeek Harness;僅刷新頁面不會重新加載 bundle 列表。
卸載可使用:
node scripts\install.mjs --profile desktop --uninstall
典型用法¶
觸發在 agent 發起上述三類交互時自動發生。驗證安裝時,可在 DSH 內打開開發者工具執行 location.origin 得到形如 http://127.0.0.1:<port> 的本機地址(端口隨機,勿寫死),再調用測試接口:
$base = 'http://127.0.0.1:<port>'
Invoke-RestMethod "$base/api/dsh-interaction-notify/test" -Method Post -ContentType 'application/json' `
-Body (@{ title = '測試'; body = '來自 dsh-interaction-notify'; kind = 'test' } | ConvertTo-Json)
查看與修改配置(POST /set 立即生效;直接改 state.json 需重啓 DSH):
Invoke-RestMethod "$base/api/dsh-interaction-notify/state" | ConvertTo-Json -Depth 6
Invoke-RestMethod "$base/api/dsh-interaction-notify/set" -Method Post -ContentType 'application/json' `
-Body (@{ sound = 'silent'; events = @{ plan = $false } } | ConvertTo-Json)
常用配置字段默認值如下:
| 字段 | 默認 | 說明 |
|---|---|---|
enabled |
true |
總開關 |
events.question / approval / plan |
均爲 true |
分場景開關 |
sound |
"chime" |
"chime" / "system" / "silent" |
volume |
55 |
內置音效音量 0–100 |
quietWhenFocused |
true |
前臺時跳過提醒 |
clickToReturn |
true |
通知上「回到 DeepSeek Harness」按鈕 |
minIntervalMs |
1200 |
非審批類最小間隔 |
臨時關閉全部提醒:POST /set 傳 { "enabled": false }。僅關聲音、保留通知:{ "sound": "silent" }。
宿主路由僅接受本機 loopback 同源請求,另有 /log、/diag 等接口,詳見倉庫 README。
適用場景與注意¶
適合:在 Windows 上使用 DSH 桌面端、長時間後臺跑 agent,又需要在提問、工具授權、計劃批准時及時回到窗口的用戶。
不適合或非目標:非 Windows 平臺;期望在瀏覽器半或網頁裏改 UI 的場景(本插件無瀏覽器半)。
DSH 生態強調「一切皆插件」;SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。本插件當前 GitHub 星標爲 0,功能與接口以倉庫 README 爲準。
結尾¶
dsh-interaction-notify 把「agent 在等你」這件事落到 Windows Toast、提示音和任務欄閃爍上,並支持本機 HTTP 調配置與測通知。若你在 Windows 上常駐 DSH,可按 README 用 install.mjs 安裝、重啓桌面端後用 /test 自檢。