gameswu/dsh-notifacation-frame

gameswu★ 2TypeScript最后同步: 2026-08-15

在 GitHub 打开

dsh通知消息统一管理框架

README 摘要

dsh-notifacation-frame DSH 通知框架:统一管理通知事件,允许派生插件注册自己的通知项,并在设置页为每个通知项提供配置卡片。内置了会话任务完成、agent 提问、进程崩溃与若干报错事件的通知实现。 功能 - 统一通知事件管理 :所有通知项(内置 + 派生插件)走同一注册表、同一配置模型、同一投递管线(通道分发 + 历史环形缓冲)。 - 设置页配置卡片 :Settings → 通知 页为每个通知项渲染一张卡片——启用开关、通道复选(网页内提示 / 系统通知 / 日志)、由字段元数据驱动的派生插件配置项、测试按钮、最近通知历史。修改热生效,无需重启。 - 派生插件支持 :派生插件只需 inject: ['notificationFrame'] 并调用 ctx.notificationFrame.register(definition) ; definition.fields 声明的配置项由框架解析、校验、补默认后经 env.config 传入,配置修改时框架自动重激活(先 dispose 旧 setup,再以新配置重跑)。详见 派生插件开发指南 与 examples/dsh-notif-demo。 - 页内 toast + 系统通知 + 日志 :host 经 WebSocket 推送通知到浏览器(右上角 toast 栈,点击可跳转会话);Windows / Linux / macOS 系统通知尽力而为(带冷却防刷屏);可选通知日志文件。 内置通知项 通知项 事件 默认通道 默认状态 session-complete 会话 agent 完成任务( agent/status running→idle,可只通知顶层会话) web 开 ask-user-question agent 调用询问问题工具( tools/result ,工具名过滤,正文可带问题) 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 开 报错事件的选择理由: agent…

在 GitHub 查看完整 README →
工具/开发dshdsh-plugindsh-pluginsagent

分类