前言¶
在 DSH 裏跑長任務時,窗口最小化或切到別的應用後,很難知道某次對話的「一輪運行」什麼時候結束。DSH 本身若沒有後臺消息通道,只能反覆切回客戶端看狀態。dsh-turn-notify 是社區維護的客戶端插件,在 Windows 上於會話本輪運行結束時彈出系統通知,並可點擊通知嘗試把 DSH 窗口拉回前臺。
這是什麼¶
@99galaxy/dsh-turn-notify(GitHub:99galaxy/dsh-turn-notify)由維護者 99galaxy 發佈,分類爲客戶端插件。定位是:Windows 系統通知,在 DSH 會話本輪運行完成時提醒你(README 英文簡介:Windows system notifications for DSH turn completion)。
插件以 DSH 桌面客戶端提供的 dsh 命令安裝,通過包內 dsh.bundle(cordis.patch.yml)自動註冊,無需手動追加 insert。當前 npm 包版本爲 1.0.4(MIT 許可證)。
核心功能¶
下面介紹 README 中已說明的行爲,均需在 Windows、DSH 客戶端保持運行且 系統允許 DSH 發通知 的前提下才生效;DSH 完全退出後無法提醒。
- 回合結束通知:會話本輪運行結束後發送系統通知,標題和正文都會標明完成的是哪個對話。正文默認以「本輪已完成」爲前綴,下一行顯示「對話:\<會話名稱>」;若觀察到開始時間,會同時顯示耗時。
- 點擊行爲:點擊通知會嘗試將 DSH 窗口切回前臺;Windows 的前臺鎖定策略可能阻止強制置頂。
- 打擾策略:默認前臺、後臺均提醒;可將
notifyWhenFocused設爲false,在窗口在前臺且正在查看該會話時不提醒。 - 子代理:默認
skipSubagents: true,跳過子代理會話,避免重複打擾。 - 檢測方式:結合狀態訂閱、完成標記和兩秒輪詢檢測回合結束,並對同一完成周期去重。
說明:「本輪已完成」表示運行已結束,不區分成功、失敗或取消。僅靠輪詢且沒有完成標記時,兩次採樣之間結束的短回合仍可能漏報。
可選隱私:maskTitle: true 時,標題和正文中的會話名稱都顯示爲「會話已完成」。
安裝與啓用¶
需要 Windows、DSH 桌面客戶端,以及客戶端提供的 dsh 命令。
先做 npm 包安裝(桌面 profile 使用 desktop):
dsh plugin --profile desktop add @99galaxy/dsh-turn-notify
也可直接從 GitHub 安裝:
dsh plugin --profile desktop add github:99galaxy/dsh-turn-notify
再做客戶端側確認:重啓 DSH,並確保 Windows 允許 DSH 發送系統通知。安裝器通過包內的 dsh.bundle 自動註冊插件,無需手動追加 insert。
如需修改默認設置,在該 profile 的 cordis.patch.yml 頂層數組末尾添加配置覆蓋:
- id: dsh-turn-notify
config:
enabled: true
notifyWhenFocused: true
skipSubagents: true
maskTitle: false
message: 本輪已完成
配置項說明(默認值以 README 爲準):
| 配置項 | 默認值 | 作用 |
|---|---|---|
enabled |
true |
是否啓用通知 |
notifyWhenFocused |
true |
設爲 false 時,窗口在前臺且正在查看該會話則不提醒 |
skipSubagents |
true |
是否跳過子代理會話 |
maskTitle |
false |
設爲 true 時,標題和正文中的會話名稱都顯示爲「會話已完成」 |
message |
本輪已完成 |
通知正文前綴 |
配置需要 profile 提供 webServer 服務。修改配置後重啓 DSH,使客戶端重新讀取。
典型用法¶
經過上面的步驟安裝並重啓後,無需額外命令:在 DSH 中正常發起對話並等待一輪運行結束,即可在 Windows 通知中心看到提醒。
若希望「正在看這條會話時不彈窗」,在 cordis.patch.yml 中將 notifyWhenFocused 設爲 false 並重啓 DSH。
若不希望通知裏出現真實會話名,將 maskTitle 設爲 true,並視需要調整 message 文案。
從源碼本地打包安裝時(需 Node.js ≥ 22.19、Git;本地裝到 DSH 時還需 pnpm),在項目目錄執行 npm pack 得到 99galaxy-dsh-turn-notify-<version>.tgz,再執行:
dsh plugin --profile desktop add <插件壓縮包的路徑>
每次修改源碼後,需重新打包、安裝,再重啓客戶端。
適用場景與注意¶
適合在 Windows 上使用 DSH 桌面版、且經常後臺或最小化跑任務的開發者。不適合非 Windows 環境(插件面向 Windows 系統通知)。
安裝前建議瀏覽 GitHub 倉庫 源碼與 MIT 許可證;插件隨 DSH 客戶端進程運行,權限與客戶端一致。
DeepSeek Harness 生態強調「一切皆插件」;社區插件目錄託管在獨立站點,與 DeepSeek / 幻方無官方從屬關係。目錄頁:https://www.skillhub.cn/plugins/99galaxy/dsh-turn-notify。問題反饋可走 GitHub Issues。
結尾¶
dsh-turn-notify 用 Windows 系統通知補齊「本輪跑完」這一環的可見性,並支持前臺免打擾、子代理過濾和點擊回窗。倉庫:https://github.com/99galaxy/dsh-turn-notify。