dingyi222666/dsh-session-notification 预览 preview

dingyi222666/dsh-session-notification

为 Deepseek Harness 提供会话完成等四种状态的通知响应,支持浏览器提示和提示词

Project Overview项目介绍

This is a native notification plugin built exclusively for the DSH web GUI. It sends alerts whenever a session finishes normally, hits an error, the agent asks a question, or requests permission for an operation. It plays a configurable sound alert, and if you are viewing another browser tab, it will also push a system notification to keep you updated. To install the plugin, you need DSH version 0.1.6-alpha.1 or newer, run the command dsh plugin --profile web add @dingyi222666/dsh-session-notification via DSH CLI, then restart the DSH web client to activate the plugin.

Each of the four notification types can be enabled or disabled individually, and you can assign a different sound to each type. The plugin comes with four built-in sounds synthesized via Web Audio, and you can adjust the master volume with a 0-100% slider. You can also upload your own custom audio file in MP3, OGG, or WAV format (max 1MB per file) to replace any built-in sound. All of your configuration preferences are saved to the browser’s localStorage, so they persist across browser sessions and sync across open tabs.

Browser system notifications are disabled by default, and you will need to grant browser permission after you turn the feature on. You can also select the notification scope to fit your workflow: alert for all sessions, alert only for the main session, or hold the alert until all subagents spawned by the main session have completed. There are a few known limitations documented: for example, a failed session that was never opened will be notified as completed, custom audio does not sync across browsers or profiles, and sound playback requires user interaction with the page per browser autoplay rules.

这是一款专门为DSH网页GUI开发的原生通知插件,当会话正常结束、会话发生错误、代理向你提问或者请求操作权限时,插件会发出提醒。它会播放提示音,如果你切换到其他标签页,还会发送系统通知让你及时获知状态。该插件要求DSH版本不低于0.1.6-alpha.1,可通过DSH CLI命令dsh plugin --profile web add @dingyi222666/dsh-session-notification安装,安装后重启DSH网页端即可生效。

插件支持灵活自定义配置,四种通知类型(会话完成、会话失败、代理提问、权限请求)都可以单独开启或关闭,也支持更换对应提示音。插件内置四种使用Web Audio合成的提示音,总音量可通过滑块调节,你也可以上传自定义的MP3、OGG或WAV格式音频文件(单文件大小不超过1MB)替换内置提示音。所有配置都存储在浏览器本地存储中,支持跨标签页同步。

默认情况下系统通知是关闭状态,开启后需要用户授予浏览器通知权限。你可以选择通知范围:所有会话都通知、仅主会话通知、或者主会话需等待子代理全部完成后再通知。插件也存在一些已知限制:未打开过的会话即使发生错误也会被标记为已完成通知,自定义音频不会跨浏览器同步,通知需要用户激活页面后才能正常播放。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 warning1 项注意
  • No license declared - all rights reserved by default; ask the author before commercial use or redistribution未声明开源许可证 —— 默认「保留所有权利」,商用或再分发前先问作者
  • 25 stars - an early-stage project星标 25,属于早期项目
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 @dingyi222666/dsh-session-notification

把 dingyi222666/dsh-session-notification 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-session-notification

npm version

English | 中文

A notification plugin for the dsh web GUI. When a session finishes, hits an error, asks you a question, or needs your permission, you get a heads-up: a sound plays, and when you step away from the tab a system notification keeps you in the loop.

Screenshots

The settings panel with the Notifications entry in the sidebar and the section content The sound picker for each kind (the official dropdown)
The Notifications settings section The sound picker menu

Install

# Install from npm (requires dsh >= 0.2.0-rc.2)
dsh plugin --profile web add @dingyi222666/dsh-session-notification
# Restart dsh web for it to take effect
dsh web

Everything lives in this plugin — no harness (host) changes:

  • The settings section is registered through the client slot system (settings.section), exactly like official sections.
  • Preferences persist in the browser (localStorage) and sync across tabs; nothing requires a host settings namespace or any other host-package change. (dsh 0.1.7 derives plugin config forms from Loader entries, so the node half has no namespace to reserve and stays inert.)
  • The settings shell maps only its own section ids to nav icons, so the Notifications nav row shows the shell's default gear.

The four notification kinds

Kind When it fires Default sound
Session completed A turn ends normally (turn/end completed) chime
Session failed A turn breaks with an error, or the host reports an agent error fault
Question asked The agent is waiting for your answer (question/requested) pop
Permission requested The agent requests an authorized operation (approval/requested) alert

Each kind can be enabled or disabled and reassigned to any of the four built-in sound effects (or muted). The four sounds are synthesized with Web Audio — no audio files are shipped — and the master volume is adjustable with the official-style slider (0–100%). A fixed loudness boost (~+6 dB) with a soft limiter on the playback chain makes every sound noticeably louder without distortion; custom audio feeds the same chain. The shared AudioContext is suspended as soon as playback is over and resumed by the next sound, so an idle notification never keeps the system audio stream (or a macOS sleep assertion) open.

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-qa 下一个 Next dsh-plugin-check →