dsh-popnotify:在 DeepSeek Harness 會話結束時提醒你

前言

在 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 功能表與說明。

  1. 側欄入口(Session reminders)
    側欄增加鈴鐺項;若在面板關閉期間已有提醒觸發,會顯示未讀圓點。

  2. 系統通知
    桌面通知展示會話標題;點擊可打開該會話並聚焦窗口。每個會話一個 notification tag,避免同一會話重複堆疊。

  3. 應用內 Toast
    緊湊卡片,點擊直達已完成的會話;最多同時疊 4 條,每條約 9 秒後消失。

  4. 提示音(Chime)
    完成後播放兩聲短音(880 Hz → 1318.51 Hz),音量可調。

  5. Toast 位置可拖放
    可拖動實時 Toast 或設置面板內的預覽,位置以視口比例 { x, y } 存盤,窗口縮放後仍有效。

  6. 默認偏安靜
    當前正在主視圖閱讀的會話不會提醒;空會話、子 agent 會話(可在設置中關閉忽略)等按規則過濾。

  7. 最近完成列表
    面板內保留最近 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 用法節操作即可驗證:

  1. 在側欄打開 Session reminders。
  2. 勾選需要的通道:系統通知、應用內 Toast、提示音。
  3. 若啓用系統通知,在面板內通過 Request permission 授予瀏覽器/系統通知權限。
  4. 啓動一個會話,切走窗口,等待其完成,觀察提醒是否符合預期。

設置保存在瀏覽器 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。

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

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

小夜