前言¶
在 DeepSeek Harness(DSH)裏跑長會話時,常見做法是切到別的窗口等任務跑完。若只靠自己回頭刷新或盯着界面,容易漏掉已完成的那一輪。桌面或其它應用有系統通知,但 DSH 本身默認不會在會話從 running 變爲空閒時主動叫你一聲。
下面介紹的 dsh-popnotify(目錄名常寫作 Ruacha00/dsh-popnotify,npm 包名 dsh-popnotify)是維護者 Ruacha00 發佈的客戶端類插件:在側欄掛一個鈴鐺入口,監聽各會話運行狀態,並在你啓用的通道上發出完成提醒——系統通知、應用內 Toast、短促提示音,或三者組合。插件以純 JavaScript bundle 分發,無需單獨構建步驟。
這是什麼¶
一句話:Know the moment a DeepSeek Harness session finishes——在會話結束時,用你選定的渠道提醒你。
- 維護者:Ruacha00
- 許可證:MIT(見倉庫 README 徽章與
package.json) - 當前包版本:
0.1.0(以package.json爲準) - 運行環境:DeepSeek Harness ≥ 0.2.0,Web 或桌面構建;
engines.dsh爲>=0.2.0-0 <0.3.0 - 在 DSH 中的顯示名:
locale中爲 Session Notifier / 會話提醒,帶鈴鐺圖標,而非裸包名
插件只在瀏覽器端激活:dsh.client.platform 爲 web,immediately: true;宿主側 lib/index.js 爲空佔位,邏輯在 lib/client.js。
核心功能¶
下列能力均來自官方 README 功能表與說明。
-
側欄入口(Session reminders)
側欄增加鈴鐺項;若在面板關閉期間已有提醒觸發,會顯示未讀圓點。 -
系統通知
桌面通知展示會話標題;點擊可打開該會話並聚焦窗口。每個會話一個 notification tag,避免同一會話重複堆疊。 -
應用內 Toast
緊湊卡片,點擊直達已完成的會話;最多同時疊 4 條,每條約 9 秒後消失。 -
提示音(Chime)
完成後播放兩聲短音(880 Hz → 1318.51 Hz),音量可調。 -
Toast 位置可拖放
可拖動實時 Toast 或設置面板內的預覽,位置以視口比例{ x, y }存盤,窗口縮放後仍有效。 -
默認偏安靜
當前正在主視圖閱讀的會話不會提醒;空會話、子 agent 會話(可在設置中關閉忽略)等按規則過濾。 -
最近完成列表
面板內保留最近 24 個已完成會話,點擊可重新打開。
安裝與啓用¶
安裝前請確認本機 DSH 版本滿足 ≥ 0.2.0。插件安裝後即註冊到指定 profile 的 bundle 列表;桌面端通常在啓動時加載 bundle,安裝後需重啓該 profile 的宿主。
從 npm 安裝(推薦)¶
將 <profile> 換成你的 profile 名稱:
dsh plugin --profile <profile> add dsh-popnotify
安裝會在 $DSH_HOME/profiles/<profile>/package.json 的 dsh.profile.bundles 中追加 dsh-popnotify。可用下面命令確認配置層是否出現插件段落:
dsh --profile <profile> --dump-config # look for the "# == dsh-popnotify" layer
從 GitHub 安裝¶
dsh plugin --profile <profile> add github:Ruacha00/dsh-popnotify
dsh plugin --profile <profile> add github:Ruacha00/dsh-popnotify#v0.1.0 # pin a release tag
從本地目錄安裝¶
dsh plugin --profile <profile> add D:\path\to\dsh-popnotify
卸載¶
dsh plugin --profile <profile> remove dsh-popnotify
典型用法¶
經過上面的安裝並重啓宿主後,按 README 用法節操作即可驗證:
- 在側欄打開 Session reminders。
- 勾選需要的通道:系統通知、應用內 Toast、提示音。
- 若啓用系統通知,在面板內通過 Request permission 授予瀏覽器/系統通知權限。
- 啓動一個會話,切走窗口,等待其完成,觀察提醒是否符合預期。
設置保存在瀏覽器 localStorage,鍵爲 dsh-popnotify/settings/v1;首次安裝會顯示一次歡迎 Toast(dsh-popnotify/welcomed/v1)。
設置項(默認值)¶
| 設置 | 默認 | 說明 |
|---|---|---|
| System notification | 開 | 需通知權限;點擊打開會話 |
| In-app toast | 開 | 應用窗口內浮層卡片 |
| Chime | 開 | Web Audio 播放;首次用戶手勢後解鎖 |
| Volume | 60% | 僅作用於提示音 |
| Toast position | 右下 | 視口比例,可鼠標拖動 |
| Only when unfocused | 關 | 窗口有焦點時不提醒 |
| Ignore subagent sessions | 開 | 子 agent 會話完成默認不提醒 |
何時會觸發、何時會跳過¶
完成判定:uiSession.sessionStatus 從 running: true 變爲 false,或 completionUnread 變爲 true。之後會過濾:
- 尚無消息的空會話 → 跳過;
- 當前正在主視圖打開的會話 → 跳過;
origin === "subagent"且開啓忽略子 agent → 跳過;- 開啓「僅失焦時」且窗口有焦點 → 跳過;
- 同一會話 2 秒內重複 → 跳過。
README 總結爲:你正在看的那條會話保持安靜。
開發調試時,控制台可調用(見 README Debugging):
__dshPopNotify.fire("demo-session", "Test reminder") // 立即觸發一條測試提醒
__dshPopNotify.settings() // 當前設置
適用場景與注意¶
適合誰:經常在 DSH 裏並行或多輪跑 agent、需要「做完再回來看結果」的開發者;希望在桌面/Web 統一界面裏用系統通知 + 應用內 Toast + 聲音組合的人。
分類與權限:SkillHub 目錄將其標爲客戶端插件;邏輯在 DSH 宿主加載的客戶端 bundle 中執行,與頁面共享同一運行環境與 localStorage。安裝前應自行查閱 GitHub 倉庫 源碼與 MIT 許可證,確認符合你的安全與合規要求;插件並非 DeepSeek 或幻方官方出品,社區目錄 SkillHub 爲獨立站點。
依賴:peerDependencies 聲明 react ^18.2.0;無額外運行時 npm 依賴需單獨安裝(README 寫明 no runtime dependency to install)。
結尾¶
長會話只在你需要收尾時再佔用注意力。dsh-popnotify 通過監聽會話狀態,把「做完了」這件事送到側欄、系統通知、Toast 或提示音裏,並默認避開你正在讀的那條會話。若要查閱插件介紹或安裝入口,可看目錄頁 SkillHub:Ruacha00/dsh-popnotify 與源碼倉庫 github.com/Ruacha00/dsh-popnotify。