dsh-windows-notify:爲 DeepSeek Harness 補上 Windows 原生通知

前言

用 DeepSeek Harness(DSH)跑長任務時,窗口往往不在前臺:對話卡在「要你批權限」、AI 在等你答計劃確認、或一輪跑完/報錯,你只能靠偶爾切回去看狀態。DSH 本身會彈界面內交互,但 Windows 桌面上沒有系統級提醒,也不方便「點一下就把 DSH 拽到前面」。dsh-windows-notify 是社區插件(維護者 airenburen),在 Windows 10/11 上走 Toast 通知,並在權限類場景支持通知上的「允許 / 拒絕」直接結算,無需立刻回到 DSH 主界面。

這是什麼

dsh-windows-notify 面向 DSH 的 Windows 部署:監聽 Harness 裏「需要你操作」的狀態,彈出原生 Toast(操作中心可查、可配置顯示時限自動消失);點擊通知或通知上的「打開 DSH」可喚起主窗口(最小化還原、後臺置前)。除自動狀態通知外,還提供模型工具 notify_user、HTTP 接口及 ctx.windowsNotify 服務,供腳本或 AI 主動發通知。插件以 MIT 許可證發佈,當前 package 版本爲 0.1.0,要求 Node >=18。

核心功能

自動觸發的四類狀態

插件按 DSH 事件映射通知,默認開關如下(可在設置裏改):

狀態 DSH 事件 默認
需要授權(沙箱升級 / 工具需要批准) approval/request 開(可帶允許 / 拒絕按鈕)
AI 向你提問(含計劃確認) user-questions/request 開
一輪迴復結束 agent/turn-stopping 關(notifyTurnEnd 打開)
會話出錯 agent/error 開

權限待批時,通知文案類似「pwsh 想執行一條命令,需要你確認權限」;開啓 decisionButtons 時,Toast 上可直接點「允許 / 拒絕」完成本次審批。AI 提問類通知會帶選項預覽。同類通知按 tag 互相替換,並帶去重(同 tag 4 秒內不重複)與限流(默認每分鐘 20 條),減輕刷屏。

點擊通知回到 DSH

focusOnClick 默認爲 true:點通知正文或「打開 DSH」動作,會喚起 DSH 主窗口。

顯式發通知

  • Agent 工具:配置 agentTool 爲 true 時註冊 notify_user(改後需重載插件)。
  • HTTP:httpApi 爲 true 時開放 /plugins/dsh-windows-notify/* 路由(含發送等;路由僅接受本機迴環,詳見 README)。
  • 服務:宿主側可通過 ctx.windowsNotify 發通知。

前臺不打攪(whenFocused)

DSH 在前臺時,僅作用於上述四類自動狀態通知:silent(默認)只進操作中心、不彈橫幅不響鈴;skip 完全不發;notify 照常彈。notify_user / HTTP 顯式通知不受此限。

安裝與啓用

從 GitHub(推薦)

瀏覽器或帶 profile 的 CLI 部署:

dsh plugin --profile <profile> add https://github.com/airenburen/dsh-windows-notify

桌面端(Electron)若 CLI 被硬拒,可在側欄「插件」→ 安裝,填入同一 Git 地址。

裝完後重啓 DSH 宿主(客戶端半邊爲已構建 bundle,宿主會緩存模塊)。配置入口:設置 → 左側導航「通知」(order 55);若安裝了 DSH-better-sidebar,也可在「設置 → 側邊欄卡片 → 通知 → 齒輪」打開同一面板;未裝 better-sidebar 時,可退回到側欄「插件」→ 已安裝 → dsh-windows-notify →「配置」。

本地目錄(開發)

在插件源碼目錄執行:

cd <本目錄>
node tools/install-desktop.mjs

腳本會以 link: 方式裝入 desktop profile 並跑冒煙測試;開發時注意 README 中關於 node_modules 目錄聯接與 pnpm minimumReleaseAge 的說明。

典型配置項

設置面板字段均爲 .volatile(),改完立即生效。常用項摘錄:

字段 默認 說明
enabled true 狀態通知總開關
notifyApproval / notifyQuestion / notifyTurnEnd / notifyError 見上表 四類事件開關
displaySeconds 10 顯示時間限制;0 表示不限制
decisionButtons true 權限通知是否帶允許 / 拒絕
decisionButtonsFor safe-only 高危 danger-full-access 默認不發按鈕,只提示去界面確認
whenFocused silent DSH 在前臺時的自動通知策略
sessionFilter [] 按會話標題或 cwd 末段過濾狀態通知
language zh zh / en

權限按鈕通過自定義協議 dsh-notify: 回傳宿主決策,與點通知回到 DSH 的 dsh://open 分離;僅在協議註冊成功時渲染按鈕,避免系統彈出「選擇打開方式」。

適用場景與注意

適合誰:在 Windows 上長期使用 DSH 桌面端或帶 profile 的 Web 部署,且希望離開窗口時仍能收到「要批權限 / 要回答問題 / 出錯」等提醒,並可選在通知裏直接批權限。

平臺:依賴 Windows Toast;非 Windows 環境不適用。

安全與信任:插件以當前 DSH 進程權限運行,會註冊本機 HTTP 路由與 dsh-notify: 協議處理;安裝前請自行查閱 GitHub 倉庫 源碼與 MIT 許可證。決策 token 爲一次性、回傳僅限本機迴環;即使泄漏,最壞也只是代你完成一條已在等待的審批,仍受 DSH 授權策略約束。

DSH 生態主張「一切皆插件」;社區目錄站點與 DeepSeek / 幻方無官方從屬關係,本文檔描述的是第三方插件能力,以倉庫 README 爲準。

結尾

dsh-windows-notify 把 DSH 裏「卡在你這邊」的狀態接到 Windows 通知中心,並在安全審批場景支持通知內一鍵允許或拒絕,減少切窗口的成本。查閱條目與安裝說明見 SkillHub 插件頁,完整配置與 HTTP、聚焦上報等細節見 GitHub README。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜