gameswu/dsh-notifacation-frame 预览 preview

gameswu/dsh-notifacation-frame

DSH 通知框架:统一管理通知事件,允许派生插件注册自己的通知项,并在设置页为每个通知项提供配置卡片。内置了会话任务完成、agent 提问、进程崩溃与若干报错事件的通知实现。

catalog descriptioncatalog 简介 / catalog description:dsh通知消息统一管理框架

Project Overview项目介绍

This is a native plugin built exclusively for DeepSeek Harness (DSH), designed to centralize notification event management for the DSH ecosystem. It enables third-party derived plugins to register custom notification items, and automatically renders configuration cards for each notification in the DSH settings page. To install the plugin, you first clone the repository, run pnpm install and pnpm run build to generate the required output files, then use the dsh plugin command to add it to your target profile. It ships with several pre-built notifications for common DSH events, including session completion, agent questions, process crashes, and various error events, and requires DSH version 0.1.5-rc.1 or newer.

Once installed, all notifications (built-in and custom) are managed through a single registry, configuration model, and delivery pipeline. End users can configure each notification directly from the Settings → Notifications page, toggling enable/disable, selecting notification channels, and choosing or customizing notification sounds. All configuration changes take effect immediately without requiring a restart of DSH, and the framework supports hot reloading of custom notification configurations when they are updated. It is useful for both end DSH users who want centralized notification control and plugin developers who want to add custom notifications to their own plugins.

The plugin is released under the open source MIT license, so it is free to use, modify, and distribute for any purpose. It includes four built-in synthetic notification sounds that are generated on the client side via the Web Audio API, so no external resource files are required for these. Developers creating custom notification plugins only need to write a small amount of TypeScript code to register their notification, and the framework automatically handles configuration parsing, validation, and rendering of the settings card. The project includes complete unit tests, documentation for developing derived plugins, and a working example plugin to reference.

这是一款专为 DeepSeek Harness (DSH) 开发的原生通知框架插件,用于统一管理各类通知事件,允许开发者创建的派生插件注册自定义通知项,并在 DSH 的设置页面为每个通知项提供可交互配置卡片。框架内置了会话任务完成、智能体提问、进程崩溃以及若干错误事件的默认通知实现,要求 DSH 版本不低于 0.1.5-rc.1。

用户安装后可在设置→通知页面统一配置所有通知项,支持开关控制、通知通道选择(网页提示/系统通知/日志)、自定义音效配置,修改可热生效无需重启 DSH。支持为每个通知项单独配置内置合成音效或自定义音频URL,还会环形缓冲存储最近100条通知历史,支持会话跳转功能,对 DSH 多智能体团队场景做了兼容适配。

本项目采用 MIT 许可证开源免费使用,插件开发者可基于本框架快速开发自定义通知插件,仅需少量代码即可完成注册和配置自动渲染。安装需要使用 pnpm 进行依赖安装和构建,之后通过 DSH 命令行将插件添加到目标配置文件,重启 DSH 即可生效,自带完整单元测试和开发文档。

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

把 gameswu/dsh-notifacation-frame 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-notifacation-frame

DSH 通知框架:统一管理通知事件,允许派生插件注册自己的通知项,并在设置页为每个通知项提供配置卡片。内置了会话任务完成、agent 提问、进程崩溃与若干报错事件的通知实现。

DSH 0.1.5-rc.1 兼容(v0.4.0):要求 DSH >= 0.1.5-rc.1。 平台基线仍提供 @deepseek-ai/dsh-client-ui-primitives,但本插件选择在 src/client/ui.ts 本地供应商化 Button / Input / Pill / StateDot / Toast (样式只经 --dsw-* 主题令牌),让客户端 bundle 自足、避免跟随不同 rc 版本的原语 prop 面变化。客户端模块图注入 @deepseek-ai/dsh-api-session-controller(会话跳转)与 @deepseek-ai/dsh-client-ui-renderer(slots 服务); settings.section / shell.overlay 插槽在 0.1.5 未变。 settingsNamespace 助手自 0.1.2-alpha.2 起不再从 @deepseek-ai/dsh-settings 导出,本插件的设置命名空间直接使用字面量 dsh-notifacation-frame。提问通知在提问呈现时触发:新版走 user-questions/request 瀑布、旧版走 tools/pre-execute 工具名过滤, 同一会话 3s 内去重(不再等到用户回答完才弹)。 Agent Teams:teammate 属于子会话,session-complete 的 rootsOnly 默认经 agents.roots() 过滤,不打扰 teammate 完成;通知历史的“跳转” 优先走 sessions.subagentAddress() / openSubagent(),未知或已失效会话 安全降级为 no-op。平台新增的 @deepseek-ai/dsh-client-ui-dockkit 与本插件无关。

功能

  • 统一通知事件管理:所有通知项(内置 + 派生插件)走同一注册表、同一配置模型、同一投递管线(通道分发 + 历史环形缓冲)。
  • 设置页配置卡片:Settings → 通知 页为每个通知项渲染一张卡片——启用开关、通道复选(网页内提示 / 系统通知 / 日志)、音效选择(内置合成音效 / 自定义 URL + 试听)、由字段元数据驱动的派生插件配置项、测试按钮、最近通知历史。修改热生效,无需重启。
  • 自定义音效:每个通知项可独立配置音效——内置 4 种简短合成音效(叮 / 啵 / 钟声 / 警报,Web Audio 实时合成、零资源文件)或自定义音频 URL;通知横幅出现时播放,测试按钮可试听。
  • 派生插件支持:派生插件只需 inject: ['notificationFrame'] 并调用 ctx.notificationFrame.register(definition);definition.fields 声明的配置项由框架解析、校验、补默认后经 env.config 传入,配置修改时框架自动重激活(先 dispose 旧 setup,再以新配置重跑)。详见 派生插件开发指南 与 examples/dsh-notif-demo。
  • 页内 toast + 系统通知 + 日志:host 经 WebSocket 推送通知到浏览器(DSH 原生 Toast 横幅,逐条队列展示);Windows / Linux / macOS 系统通知尽力而为(带冷却防刷屏);可选通知日志文件。

内置通知项

通知项 事件 默认通道 默认音效 默认状态
session-complete 会话 agent 完成任务(agent/status running→idle,可只通知顶层会话) web 钟声 开
ask-user-question agent 调用询问问题工具(user-questions/request 呈现即触发;旧版 tools/pre-execute 工具名过滤,正文可带问题) web + system 叮 开
process-crash dsh 进程意外中止(uncaughtException / unhandledRejection / 非零退出码) system + log 警报 开
agent-error agent 的 step/turn 报错(agent/error) web + log 警报 开
agent-loop-config-start-failed 声明式 agent 启动失败 web + system 警报 开
tool-error 工具调用失败(tools/result isError,可按名单排除噪声工具) web 啵 关(工具失败通常由模型自愈,按需开启)
dsh-update dsh 包新版本检查(npm registry dist-tags 对比本机安装版本,启动 + 每 24h 周期) web + system 叮 开

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-running-liang →