kaixinbaba/dsh-complete-notify 预览 preview

kaixinbaba/dsh-complete-notify

任务完成时播放提示音并弹出小通知(页面内 toast + 后台时系统通知)。纯浏览器方案,零系统依赖,跨 Windows/macOS/Linux。

Project Overview项目介绍

This is a native plugin built exclusively for the web profile of DeepSeek Harness (DSH), designed to send audible and visual alerts when a DSH task completes. To install it, users can run the DSH CLI command dsh plugin --profile web add dsh-complete-notify to pull the latest version from npm, or install directly from the GitHub repo by targeting github:kaixinbaba/dsh-complete-notify. After installation, users need to restart the DSH web service for the plugin to take effect, which can be done via launchctl kickstart -k gui/$(id -u)/com.dsh.dsh-web for launchd-managed instances. Local development can also use the link: protocol to point to a local source directory, so changes take effect immediately after a restart without needing to republish to npm.

When a DSH task finishes, the plugin triggers a status-colored toast notification in the top right corner of the DSH web interface, which includes a short task recap under 50 words, runtime statistics (duration, total tokens, number of steps), and a prompt to click to open the corresponding session. Each task status (completed, blocked, aborted, failed, max-tokens hit) gets its own distinct sound and notification color. If the DSH tab is in the background when the task completes, the plugin falls back to system notifications via the browser's Web Notification API, plus plays the matching status sound and flashes the tab title. This plugin is ideal for DSH web users who want immediate alerts when their AI tasks finish, even when working in another tab or app.

This plugin is released under the permissive MIT open source license, so it is free to use, modify, and redistribute for any purpose. It has several documented limitations: users must keep the DSH browser tab open to receive notifications, as closing the tab will prevent any alerts from being sent, and the current toast only uses a dark style that does not adapt to the browser's current light or dark theme setting. Most browsers enforce an auto-play policy that requires a first user interaction before allowing audio playback, but this requirement is automatically satisfied when a user sends their first message in DSH, so no extra setup steps are needed for most users.

这是一款专为 DeepSeek Harness(DSH)开发的原生插件,功能是在任务完成时播放提示音并弹出通知弹窗。插件采用纯浏览器实现方案,音效通过 Web Audio 合成,弹窗使用页面内 toast 组件,当 DSH 页面切到后台时自动切换为系统通知,不依赖任何系统通知命令,也无需额外音频文件,支持 Windows、macOS、Linux 全平台通用。

插件支持显示包含运行时长、总 tokens 消耗量、执行步骤数的运行统计,还支持生成不超过 50 字的一句话任务小结,点击通知即可直达对应会话。DSH 用户可在设置面板调整提醒开关、音量、不同任务状态对应的音效,还能测试音效和通知,首次测试通知时会请求浏览器站点级通知权限,授权一次即可永久生效。

这款插件采用 MIT 许可开源,完全免费使用。它的已知限制包括:必须保持 DSH 标签页开启才能收到通知,关闭标签页后无法接收推送,当前 toast 仅为深色样式,暂不跟随系统明暗主题切换。安装后可通过命令行卸载,本地开发也支持源码链接安装,修改代码后重启即可生效。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 warning1 项注意
  • Only 3 stars - very few users, little community feedback星标只有 3,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add dsh-complete-notify

把 kaixinbaba/dsh-complete-notify 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-complete-notify

npm version license

dsh-complete-notify cover

DeepSeek Harness(DSH)任务完成通知插件:任务完成时播放提示音并弹出小通知。

  • 纯浏览器方案:音效用 Web Audio 合成、弹窗是页面内 toast、页面在后台时改用系统通知(Web Notification API)——零系统依赖、零音频文件,Windows / macOS / Linux 通用
  • 不依赖任何系统通知命令(无 osascript / notify-send / PowerShell),通知权限是浏览器站点级授权,授权一次即可
  • 与官方运行指示灯同源的完成检测:会话列表快照的 running / completed 状态
  • toast 与系统通知附带运行统计(时长 / tokens / 步骤)与一句话小结(💬 recap,≤50 字),点击直达对应会话

安装

# 从 npm 安装(推荐)
dsh plugin --profile web add dsh-complete-notify
# 或锁定 GitHub 版本
dsh plugin --profile web add "github:kaixinbaba/dsh-complete-notify"
# 重启 dsh web 生效(launchd 托管时):
launchctl kickstart -k gui/$(id -u)/com.dsh.dsh-web

本地开发时用源码安装(link: 指向本地目录,改代码后重启即生效,无需每次走 npm):

dsh plugin --profile web add link:/path/to/dsh-complete-notify

使用

  1. 任务完成后:听到「叮咚」提示音 + 右上角弹出状态着色的小卡片(绿 ✓ 任务完成 / 黄 ⚠ 等待你的反馈 / 红 ✕ 任务中断或失败 / 橙 ⚠ 达到 token 上限),包含一句话小结(💬 recap,≤50 字)、运行统计(时长 ⏱ / tokens ⚡ / 步骤 🔧)与「点击打开会话」提示;点击卡片快速跳转到对应会话,5 秒自动消失
  2. 页面切到后台/其他标签页时完成任务:收到系统通知(标题与正文按结果状态区分,同样带小结与统计,点击通知会聚焦窗口并打开对应会话)+ 提示音 + 标签页标题闪烁
  3. 设置 → 任务完成通知:
    • 启用提醒 / 提示音 / 系统通知(页面在后台时)开关、音量滑块
    • 分别为绿色完成、黄色阻塞、红色中断选择不同音效
    • 下拉框按当前浏览器识别的操作系统分组:macOS / Windows / Linux 推荐预设 + 通用预设 + 静音
    • 「测试音效」「测试通知」按钮;首次点「测试通知」会请求浏览器通知权限,点允许
    • 全部设置保存在浏览器 localStorage(dsh.completeNotify.v1)

音效选择说明

音效由浏览器 Web Audio API 合成,不读取系统原生声音文件,因此跨操作系统稳定工作。预设名称是对应系统提示音的风格,不是调用 macOS/Windows/Linux 的系统音频文件;每个状态可以独立选择,也可以单独设为静音。

结果状态

结果状态以 Host 端 turn/end 的 reason.kind 为权威来源(客户端兜底推断:turn-error / turn-max-tokens 节点、被打断的 assistant 消息):

状态 颜色 文案
completed 🟢 绿 任务完成
blocked 🟡 黄 等待你的反馈(模型提问 / 等待审批)
aborted 🔴 红 任务已中断
error 🔴 红 任务失败
max-tokens 🟠 橙 达到 token 上限

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev review-workflow 下一个 Next dsh-llm-ollama →