前言¶
用 DeepSeek Harness(DSH)跑 Agent 时,审批、提问、轮次结束往往发生在后台会话里。窗口不在前台时,很容易错过需要人工介入的时机。常见做法是盯着界面、或依赖终端里的提示音,但终端通知与系统通知中心是两套体验,也不一定能「点一下回到那条会话」。
下面介绍社区插件 dsh-notify(维护者 bitterSmilezzz):在审批、提问、轮次完成、会话结束、出错等节点弹出系统原生通知,点击后聚焦 DSH 并切到对应会话。通知走渲染进程的 Web Notification API,桌面 App 里由宿主身份发出,不需要 terminal-notifier、osascript 等外部二进制,也不依赖额外授权流程。
这是什么¶
dsh-notify 是 DSH 的客户端类插件,npm 包名为 @bittersmilezzz/dsh-notify,源码与说明见 GitHub 仓库。它在 DSH 桌面或浏览器客户端内订阅官方会话与错误事件,用 Web Notification 投递横幅;权限等级为 low,不落盘、不 spawn、不发起外部网络请求,也不读取会话正文,只读会话标题与运行状态。
要求 DSH 0.2.1-rc.2 及以上(依赖 ctx.uiSession.sessionStatus 与 ctx.uiWorkspace.openSession 等入口)。Node.js 需满足 ^22.19.0 || >=24.0.0(见 package.json 的 engines)。
核心功能¶
六类事件与开关¶
可按事件单独开关:
| 配置键 | 含义 |
|---|---|
approval |
需要审批 |
question |
需要回答 |
turn |
轮次完成 |
sessionDone |
会话结束 |
error |
Agent 出错 |
subagent |
子代理完成(默认关闭) |
审批与提问属于阻塞性交互,通知始终送达;轮次完成、会话结束等会在运行时判断「后台跑完」或窗口不在前台时才提醒,正在看该会话时不打扰。
点击回到会话¶
点击通知会聚焦窗口,并在 App 内打开对应会话(不再新开浏览器标签)。导航优先使用官方 uiWorkspace.openSession;DSH 0.1.x 组合会回落到 sessions.open。
按会话聚合与隐私¶
同一会话的新通知会替换上一张卡片,并行会话各自独立(Windows 桌面版带 tag 的行为见 README「已知风险」)。可关闭「正文显示详情」,横幅只显示会话名。可配置免打扰时段(支持跨午夜),时段内仅静音轮次完成、会话结束、子代理;审批、提问与出错不受影响。
音效与语言¶
插件用 Web Audio 为不同事件合成短音效(同类 300ms 节流);关闭插件音效时,系统提示音一并关闭。通知文案跟随 DSH 界面 locale,支持中文与英文。
安装与启用¶
在目标 profile 下执行以下任一方式(命令摘自仓库 README):
# npm(推荐)
dsh plugin --profile <profile> add @bittersmilezzz/dsh-notify
# 或从 GitHub
dsh plugin --profile <profile> add github:bitterSmilezzz/dsh-notify
# 或本地路径
dsh plugin --profile <profile> add <path-to-repo>
安装或升级插件后需重启 DSH 宿主;设置里的开关拨动后即时生效,无需单独保存。
启用后,在侧边栏 Plugins 面板找到本插件,打开 配置表单(settings namespace notify,即「桌面通知」卡片)。浏览器环境首次使用需通过卡片上的「开启通知」完成 Web Notification 的一次用户手势授权;桌面 App 侧 README 说明对非 media 权限一律放行,Notification.permission 为 granted,无额外授权弹窗。
典型用法¶
- 按上一节安装并重启宿主。
- 在 桌面通知 卡片中打开总开关,按需勾选
approval、question、turn等事件。 - 将 DSH 窗口切到后台或处理其他会话,等待 Agent 触发审批、提问或轮次结束,确认系统通知栏出现提示。
- 点击通知,确认窗口聚焦且跳转到对应会话。
若 profile 未装配 dsh-client-ui-session,插件只会注册设置卡、不会发通知,且不会报错(见 README「已知风险」)。
适用场景与注意¶
适合谁:长时间并行多会话、需要离开窗口仍能收到「要审批 / 要回答 / 跑完了」提醒的 DSH 用户。
使用前请知悉:
- 插件以当前 DSH 进程的权限运行;安装前建议阅读 源码 与 MIT 许可证。
- 页面或窗口完全退出后收不到通知;桌面 App 收进托盘仍可收。多个客户端(桌面 + 浏览器)同时在线时,各端会各弹一次,无跨端去重。
- Windows 上关闭某条 toast 可能从通知中心移除该条;若随后被同会话的信息类通知顶掉,审批卡可能被误关,README 有详细说明。
- 在 Windows「设置 → 系统 → 通知」中若关闭 DeepSeek Harness 来源,本插件通知会静默不弹。
社区目录页:skillhub.cn/plugins/bitterSmilezzz/dsh-notify(独立策展站点,与 DeepSeek / 幻方无官方从属关系)。问题反馈可走 GitHub Issues。
结尾¶
dsh-notify 把 DSH 里几类高频「需要你看一眼」的事件接到系统通知中心,并用官方 UI 导航把点击动作收回到会话内。若你已经在用 DSH 0.2.1-rc.2 以上版本,可按 README 的安装命令接入,在插件卡片里按需开关即可。