kaotusi/dsh-task-notify

DeepSeek Harness (DSH) 系统级任务通知:需要审批 / 等待回复 / 任务完成(后台任务、子代理、工作流)→ 操作系统通知中心,带提示音 + 应用内铃铛面板、弹窗提示、清除按钮。

Project Overview项目介绍

This is a native plugin built exclusively for DeepSeek Harness (DSH) that delivers system-level task notifications for DSH workflows and events. It tracks three core event types: approval required, replies pending, and task completion, including background jobs, subagents, and full end-to-end workflows, and pushes notifications directly to the host operating system’s native notification center with custom, category-specific chimes. It supports two installation methods: the recommended approach uses the built-in dsh plugin add command line tool, while a manual file copy method is available for offline or restricted network environments. After installation, you must restart DSH and grant browser notification permission for the plugin to operate correctly.

The plugin adds a small bell icon to the bottom of DSH’s sidebar interface, which displays a numeric badge that shows the number of unread notifications. Clicking the bell opens a full notification panel that lists all past notifications in reverse chronological order, with each entry clearly marking the event type, status, and timestamp. Different event types trigger custom notification chimes to let you distinguish event categories without looking at the screen: approval events play two quick 880Hz tones, reply pending events play a single soft 660Hz tone, and completed tasks play two ascending tones from 523Hz to 784Hz.

The plugin is released under the permissive MIT open source license, and it only depends on packages that are already included in standard DSH profiles, with any missing peer dependencies automatically installed via pnpm when you use the official install command. It listens for events across all open DSH sessions instead of only the active single session, and uses browser localStorage to deduplicate notifications and avoid duplicate alerts across multiple open tabs. When the browser page is hidden, the plugin pauses polling for new notifications, and immediately pulls the latest notification queue when the page becomes visible again, with a built-in diagnostic row to check connection and permission status.

这是一款专为 DeepSeek Harness (DSH) 开发的原生系统任务通知插件,可捕获三类任务状态事件:需要审批、等待回复、任务完成(涵盖后台任务、子代理、工作流场景),将通知推送至操作系统的通知中心,还附带分类提示音、应用内铃铛通知面板、Toast 浮层通知和一键清理功能。支持通过 DSH 的 dsh plugin add 命令一键安装,也提供手动拷贝文件的离线安装方案,安装后需要重启 DSH 并授予浏览器通知权限。

插件在 DSH 侧边栏底部提供铃铛入口,带有未读通知数字角标,面板内按时间倒序展示所有通知,每条通知标注事件类型和状态。提示音按事件类型区分:需要审批是急促双响,等待回复是柔和单音,任务完成是上行双音。最多同时显示 3 条 Toast 浮层,6 秒后自动消失,通知队列上限为 300 条,支持全部已读、重发、测试通知等功能。

插件遵循 MIT 开源许可协议,仅依赖 DSH 标准配置已自带的通用包,安装时会自动补齐缺失的依赖。它全局监听所有会话的事件,而非局限于单会话作用域,使用 localStorage 去重避免多标签页重复推送,页面隐藏时暂停轮询,切回前台立即拉取,面板顶部还提供实时诊断信息方便排查问题。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 warning1 项注意
  • Only 4 stars - very few users, little community feedback星标只有 4,几乎没人在用,遇到问题缺少社区反馈
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 git+https://github.com/kaotusi/dsh-task-notify.git

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

READMEREADME

dsh-task-notify · 系统任务通知插件

DeepSeek Harness (DSH) 系统级任务通知插件 —— 需要审批 / 需要回复 / 任务结束(后台任务、子任务、工作流)三类状态,推送到电脑系统通知中心(带系统提示音 + 分类型合成提示音),并附带应用内铃铛面板、Toast 与「清理」按钮。

English: System-level task notifications for DeepSeek Harness. Three event kinds — approval required, awaiting your reply, task finished (background job / subagent / workflow) — are pushed to the OS notification center with chimes, plus an in-app bell panel, toasts, and a clear button.

功能特性 / Features

  • 🔔 侧栏底部铃铛入口,未读数角标;面板内展示全部通知(含时间、类型、状态)
  • 🔔 系统通知中心横幅(Notification API)+ 分类型 Web Audio 合成提示音:
    • 需要审批 = 急促双响(880Hz × 2)
    • 需要回复 = 柔和单音(660Hz)
    • 任务结束 = 上行双音(523→784Hz)
  • 🔔 Toast 浮层(最多 3 条,6 秒自动消失)
  • 🔔 「测试通知」「重发」「全部已读」「清理」按钮;面板顶部实时诊断行(系统通知权限 / 挂载 / 轮询状态)
  • 🌐 中 / 英双语界面(跟随 DSH locale)
  • 🧩 宿主组合行监听所有会话的事件(区别于动态插件的单会话作用域);队列上限 300 条

安装 / Install

需要 Node.js + pnpm(dsh plugin 底层调用 pnpm)。安装后重启 dsh web,刷新页面。

方式一:dsh plugin add(推荐)

dsh plugin --profile web add git+https://github.com/kaotusi/dsh-task-notify.git

若你的 profile 名不是 web,把 --profile web 换成实际 profile 名。 国内网络访问 github.com 不稳定时,可用方式二,或先配置代理。

方式二:手动拷贝(无需网络)

把本仓库 lib/、package.json、cordis.patch.yml 放进接收方 profile 的 node_modules(要求目录名严格为 dsh-task-notify,位于 @deepseek-ai/ 作用域下):

git clone https://github.com/kaotusi/dsh-task-notify.git
cp -r dsh-task-notify/{lib,package.json,cordis.patch.yml} \
      ~/.dsh/profiles/node_modules/@deepseek-ai/dsh-task-notify/

然后在 ~/.dsh/profiles/web/cordis.patch.yml 追加:

- insert:
    - id: task-notify
      name: '@deepseek-ai/dsh-task-notify'

说明:dsh plugin add 通过 dsh.bundle 清单(本包 package.json 中的 dsh.bundle.patch)自动完成上述两步。方式二仅用于无法使用 pnpm / 无网络的环境。

授权系统通知

重启后点击侧栏底部 🔔 铃铛 → 浏览器弹出通知授权框 → 允许;面板顶部诊断行显示 系统通知: granted 即就绪。

验证 / Verification

  • 面板诊断行:系统通知: granted · 挂载: 成功 · 轮询: 成功(N)
  • 触发任意后台任务(run_in_background)、审批(cordis 运行 / 沙箱提权)、子任务、工作流,通知中心应弹出对应横幅 + 提示音
  • 面板「清理」按钮可彻底清空全部通知(面板 + 宿主队列)

目录结构 / Layout

dsh-task-notify/
├── README.md          ← 本文件
├── LICENSE            ← MIT
├── package.json       ← 插件清单(含 dsh.bundle 与 dsh.client 声明)
├── cordis.patch.yml   ← 宿主组合补丁片段(bundle 层)
└── lib/
    ├── index.js       ← host 半部:事件监听 + 队列 + Remote 服务 + 诊断工具
    ├── typert.js      ← host 半部 typert 清单(strict codec,4+1 个端点)
    └── client.js      ← client 半部:铃铛/面板/Toast/系统通知/清理按钮

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

← 上一个 Prev dsh-doctor 下一个 Next dsh-cad-review →