CoachLeong
dsh-notify
DeepSeek Harness桌面通知插件:模型开始输出、完成整轮、或需要你的处理(权限审批 / 提问 / 计划评审)时,发送浏览器桌面通知。
- Stars
- 0
- Language
- TypeScript
- Created
- Aug 16, 2026
- Updated
- Aug 16, 2026
Introduction
dsh-notify
DeepSeek Harness(dsh)桌面通知插件:模型开始输出、完成整轮、或需要你的处理(权限审批 / 提问 / 计划评审)时,发送浏览器桌面通知。模型卡在等你操作时,一条通知把你叫回来。

功能
- 开始输出时提醒:模型开始干活(轮次开始)时通知一次;
- 完成时提醒:模型完成整轮输出时通知一次;
- 需要你的处理时提醒:会话卡在等你时通知,文案带具体内容——
- 权限审批:「待审批操作:
bash/ 原因:危险」 - 提问:直接显示问题原文(超长截断 + 数量提示)
- 计划评审:提示打开会话评审
- 权限审批:「待审批操作:
- 点击通知直达会话:点通知即聚焦页面并打开对应会话;
- 5 个独立开关 + 中英双语界面;默认「仅页面不可见时提醒」(正盯着页面不打扰);
- 多标签页去重(Web Locks),同类通知按会话替换不堆叠。
安装
前置:本机已安装 dsh(npx @deepseek-ai/dsh web 可启动),且网络可访问 GitHub。
dsh plugin --profile web add github:fxomomi/dsh-notify
注意:pnpm ≥10 默认拒绝运行 git 依赖的构建脚本,第一次
add可能报错。按 dsh 提示,把打印出的包键复制进 profile 的pnpm-workspace.yaml(形如allowBuilds: { dsh-notify: true }),重新执行add即可。此授权允许本插件在安装时执行prepare构建脚本——请确认来源可信(建议钉住 tag:github:fxomomi/dsh-notify#v0.1.0)。
然后:
# 重启 dsh web(装载插件)
# 浏览器刷新 → 打开「设置 → 通知」
首次使用:打开想要的开关,点「申请通知权限」并允许(通知权限是每个浏览器独立的,换浏览器/机器需重新授权)。
设置项
| 开关 | 说明 |
|---|---|
| 启用通知 | 总开关 |
| 开始输出时提醒 | 轮次开始通知 |
| 完成时提醒 | 轮次结束通知 |
| 需要处理时提醒 | 审批 / 提问 / 评审通知 |
| 仅页面不可见时提醒 | 默认开:页面在后台才通知,正盯着页面不打扰 |
卸载
dsh plugin --profile web remove dsh-notify
# 重启 dsh web 生效
FAQ
配置为什么存浏览器 localStorage,而不是 dsh 的设置系统?
dsh 0.1.0-rc.6 的配置客户端只向浏览器暴露官方白名单命名空间,第三方插件的设置命名空间读写会得到 settings-not-exposed。同时,通知偏好(尤其通知权限)本身就是浏览器级事实,localStorage 语义正合适;且本插件本地配置的接口形状与官方 SettingsScope 对齐,未来框架开放后可无缝迁移。
为什么收到通知但没有声音/横幅? 检查操作系统通知设置(Windows:设置 → 系统 → 通知 → 浏览器)。
通知只在页面不可见时弹?
默认行为(「仅页面不可见时提醒」开关)。document.hidden 是页面级可见性:只要标签页开着且可见,即使切到应用内其他会话也不算"隐藏"。需要"随时都弹"就关掉该开关。
兼容性
- 开发与验证基于 dsh
0.1.0-rc.6。框架为开发者预览阶段、迭代较快,升级 dsh 后建议复测; - 浏览器需支持 Notification API 与 Web Locks(Chrome / Edge / Firefox 现代版本均可)。
开发
npm install
npm run typecheck && npm run build # 产出 lib/index.js 与 lib/client.js
# 本地联调:dsh plugin --profile web add <本仓库路径>(符号链接安装)
# client 改动:build 后刷新页面;cordis.patch.yml / Node half 改动:重启 dsh web
License
MIT