pitetow/dsh-notify-on-complete 预览 preview

pitetow/dsh-notify-on-complete

桌面通知插件 for DeepSeek Harness (dsh) —— 运行完成、提问、审批时提醒。零依赖 Cordis 插件。

Project Overview项目介绍

This is a native plugin built exclusively for DeepSeek Harness (DSH) that delivers system desktop notifications when DSH task runs complete. It also sends immediate alerts when the model asks the user a question or waits for user approval, such as sandbox escalation or tool permission requests. Each notification clearly displays the final task status, which can be completed, error, aborted, or max tokens hit. The plugin sends notifications via a detached child process using child_process.spawn, so it does not block the main DSH process and its delivery is never affected by DSH exiting.

The plugin determines when to send a notification by listening for two core DSH events. First, it listens for the session/event → turn/end event and records the latest end reason for root sessions, filtering out all subagent sessions. Second, it waits for the agent/status → idle event, which is DSH’s native signal that a full run has completed. It only sends one notification per full root run, so it will never spam users with multiple alerts for a single task. It is ideal for any DSH user that often runs tasks in the background and needs timely updates on task status or user requests.

The plugin requires Node.js version 22 or higher, which matches the base requirement of DSH itself. It has a peer dependency on @deepseek-ai/cordis@^4.0.1, which is usually pre-installed and provided by the DSH CLI automatically. It supports all major desktop platforms, automatically selecting the correct notification command based on the current OS, and will only throw a warning if the platform is not supported instead of crashing. It is open-sourced under the MIT license, and can be installed with a single one-line bash script provided by the developer. Users can also manually adjust configuration options like disabling system sound if needed.

这是一款专为 DeepSeek Harness (DSH) 开发的原生通知插件,会在 DSH 任务运行结束时向系统发送桌面通知,也会在模型提问或等待用户审批(沙箱提权、工具权限申请)时即时发送提醒。通知正文会明确标注任务结果,分为完成、失败、中止、达到 token 上限四种状态。插件通过 child_process.spawn 以分离子进程发送通知,不阻塞主进程,也不受 DSH 退出流程影响。

插件通过监听两个核心事件判断发送通知的时机:一是session/event → turn/end,记录根会话(排除子代理会话)最新的任务结束原因;二是agent/status → idle,即 DSH 本身发出的运行结束信号,当根代理回到空闲状态时才发送最终结果通知,保证一次完整运行只发送一条通知。适合所有经常在后台运行 DSH 任务,需要及时获取结果或处理请求的用户。

插件要求 Node.js 版本不低于 22,和 DSH 本身要求一致,依赖 @deepseek-ai/cordis@^4.0.1,该依赖一般由 DSH CLI 自带。它支持全平台,会自动根据系统选择通知方式,不支持的平台加载时会发出警告而非报错。项目采用 MIT 许可证开源,用户可通过官方提供的一键脚本完成安装。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 2 warnings2 项注意
  • Only 4 stars - very few users, little community feedback星标只有 4,几乎没人在用,遇到问题缺少社区反馈
  • Desktop client: installation downloads an executable - verify the publisher and checksums桌面客户端:安装会下载可执行文件,请核对发布者与校验和
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 github:pitetow/dsh-notify-on-complete

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

READMEREADME

dsh-notify-on-complete — Desktop Notifications for DeepSeek Harness · DeepSeek Harness 桌面通知插件

dsh-notify-on-complete — 运行结束通知与系统提示音

Send desktop notifications from DeepSeek Harness (dsh): get a system notification when a run finishes, and an immediate one when the model asks you a question (ask_user_question) or waits for approval (sandbox escalation / tool permission). The body reflects the result (completed / error / aborted / max-tokens).

DeepSeek Harness(dsh)桌面通知插件:运行结束时向系统发送桌面通知;会话进行中模型提问(ask_user_question)或等待审批(沙箱提权 / 工具权限)时也会即时提醒你回来处理。正文按结果区分(成功 / 失败 / 中止 / 达到 token 上限)。

Author: Luozy · License: MIT · 中文文档:README.zh.md

  • Zero runtime dependencies: no dsh internal packages, no ctx.shell. Notifications are fired via child_process.spawn as a detached child process — non-blocking and unaffected by the harness exit path.
  • Cross-platform: the notifier command is picked from process.platform (macOS osascript / Linux notify-send → kdialog / Windows PowerShell). Unsupported platforms are skipped at load with a warning, never throwing per-event.
  • System sound: macOS system sound (sound name "Glass"), Windows .NET SystemSounds, Linux canberra-gtk-play (falls back to paplay); disable with sound: false.
  • In-session blocking notifications: fires immediately when the model calls ask_user_question, or when a sandbox escalation / tool permission waits for approval — so you know to come back. Controlled by onBlocked / onQuestion / onApproval.
  • Top-level runs only: subagent sessions are filtered out (header.origin === 'subagent'), so a single CLI run produces a single notification.

功能特性(中文)

  • 零运行时依赖:不依赖 dsh 内部包,通知用 child_process.spawn 以 detached 子进程发出,不阻塞、不受 harness 退出影响。
  • 跨平台:macOS osascript / Linux notify-send → kdialog / Windows PowerShell 自动选择;不支持的平台加载时跳过并警告。
  • 系统提示音:macOS sound name "Glass" / Windows SystemSounds / Linux canberra-gtk-play(回退 paplay);可用 sound: false 关闭。
  • 会话中阻塞即时通知:模型提问或等待审批时立即提醒你回来;可用 onBlocked / onQuestion / onApproval 精细控制。
  • 只通知顶层运行:过滤子代理(header.origin === 'subagent'),一次 CLI 运行只弹一条。

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

← 上一个 Prev deepseek-vision 下一个 Next dsh-nuphus-mcp →