Back to home

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