前言¶
在 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。