前言¶
使用 DeepSeek Harness(DSH)Web GUI 时,模型回复完成后的状态提示不一定足够明显。尤其当页面失去焦点或切到其他标签页时,很难第一时间知道本轮回复已经结束。
dsh-web-notification 是一个面向 DSH Web 端的小型插件,用来在模型完成回复时显示系统级 Web 通知。
这是什么¶
dsh-web-notification 的核心定位是:在 DeepSeek Harness Web GUI 中,模型完成回复时显示系统级 Web 通知。
它面向 Web profile 使用,许可证为 MIT。GitHub 仓库为:
https://github.com/2h0n/dsh-web-notification
核心功能¶
下面是已核实的运行时行为:
- 每次模型完成回复时触发系统级 Web 通知,标题为
🐳 Model Replied,正文为本轮用户消息。 - 无用户消息时,通知正文回退到会话标题。
- 启动时及首次用户交互时自动请求通知权限;Safari 中请求权限需要用户手势。
- 按轮次去重,避免同一回复重复通知。
- 不注入可见 UI 元素。
- 多会话的回复会各自触发通知。
- 通知使用唯一 tag:
dsh-reply-done-<sessionId>-<turn>,并设置renotify: true。 - 构建侧通过
build.mjs将src/client/index.js打包为浏览器 bundle,并以__ModuleLoader__握手格式加载。
安装与启用¶
先安装指定版本压缩包到 web profile:
npx @deepseek-ai/dsh plugin --profile web add https://github.com/2h0n/dsh-web-notification/archive/refs/tags/v0.1.0.tar.gz
安装完成后重启 Web:
npx @deepseek-ai/dsh web
建议按下面的步骤验证:
1、浏览器控制台没有 dsh-web-notification 相关错误。
2、在同一会话发送两条消息,确认每条回复都会触发一次通知。
3、再次执行 npx @deepseek-ai/dsh web 后,插件仍然存在。
安装时注意:
npx @deepseek-ai/dsh plugin --profile web add安装该包时,会因包声明dsh.bundle自动追加到dsh.profile.bundles。- 如果改用
pnpm add安装,需要手动添加 bundle 条目。 - 如果安装报
ERR_PNPM_TARBALL_INTEGRITY,可先运行pnpm install --update-checksums,再重试。
本地开发与移除¶
本地开发需要 Node.js 22.19+ 或 24+。
执行构建:
node build.mjs
lib/ 是构建输出目录,不应手动编辑。
安装当前目录:
npx @deepseek-ai/dsh plugin --profile web add "$PWD"
然后重启 Web:
npx @deepseek-ai/dsh web
如需移除插件:
npx @deepseek-ai/dsh plugin --profile web remove dsh-web-notification
适用场景与注意¶
这个插件适合需要在 DSH Web 中离开当前页面后,仍能收到“模型已回复”提醒的使用者。
插件依赖浏览器通知能力,首次使用需要授予通知权限;Safari 中必须在用户手势中请求权限。由于插件会随 DSH Web 客户端加载,建议安装前检查源码、依赖声明与许可证;本文介绍的插件许可证为 MIT。
GitHub 仓库:
https://github.com/2h0n/dsh-web-notification