dsh-notify-xc
开发工具 活跃维护

dsh-notify-xc

xchannel1987/dsh-notify-xc

提供开箱即用的消息通知能力,支持Web、小程序等多端环境,内置成功、警告、错误等多类预设样式,可自定义时长与回调逻辑,轻量无依赖,接入成本极低。

0
Stars 标星
0
Forks 分支
0
Watchers 关注
0
Open Issues
JavaScript
主要语言
MIT
开源协议
37 KB
仓库大小
21 天前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:xchannel1987/dsh-notify-xc
git clone https://github.com/xchannel1987/dsh-notify-xc.git
git clone git@github.com:xchannel1987/dsh-notify-xc.git
README.md main

dsh-notify-xc

npm version
license
downloads
DSH

中文 | English

DSH 浏览器通知插件 —— agent 完成任务、运行出错或需要你输入 / 批准 / 审阅计划时,弹出系统级通知(Windows 通知中心气泡),点击气泡直达会话。

✨ 核心特性

🔔 任务完成通知

  • 会话从运行中变为停止时,弹出「任务完成」系统通知
  • 通知内容含会话标题 + 最后一条回复摘要(会话已打开时)

🛑 运行出错通知

  • 会话本轮以错误结束时(turn-error),弹出「运行出错」系统通知
  • 错误信息摘要随通知展示,便于第一时间定位
  • 与任务完成互斥:本轮出错只发「运行出错」,不发「任务完成」
  • 工具级单次失败与手动中断不通知(agent 通常会自行重试)

📢 需要输入通知

agent 等待你操作时立即提醒:

场景 通知内容
question 需要你的回答
approval 需要你的批准
plan-review 请审阅计划
  • 常驻模式(可配置):需要输入的通知不会自动消失,留在通知中心直到你处理

🖱️ 点击直达会话

  • 点击系统通知气泡,自动聚焦页面并打开对应会话
  • 通知带 DSH 官方图标,气泡更易辨认

📁 通知显示工作区归属

  • 开启后通知标题带 [工作区名] 前缀,多项目混跑时一眼定位
  • 工作区名从会话路径自动提取,兼容 Windows / POSIX 分隔符

⚙️ 通知类型可配置

三类通知各有独立开关(任务完成 / 需要输入 / 运行出错),按需开关互不影响。

🛡️ 防误报设计

  • 基线机制:页面加载 / 重连后首个快照仅作基线,不重放历史完成事件
  • 去重:同一 pending 请求不重复通知
  • 子代理过滤:子代理会话默认不通知(可开启)

📦 安装

# 使用 DSH CLI
dsh plugin --profile web add dsh-notify-xc

# 或使用 npm
npm install dsh-notify-xc

安装后重启 DSH,浏览器端 bundle 变更后刷新页面即可生效。

⚙️ 配置

设置 → 任务通知 分区(localStorage 持久化):

选项 默认值 说明
任务完成通知 true 是否通知任务完成
需要输入通知 true 是否通知需要你输入 / 批准 / 审阅
运行出错通知 true 是否通知运行出错
包含子代理通知 false 是否通知子代理会话
需要输入通知常驻 true 需要输入的通知不自动消失,直到你处理
通知显示工作区归属 true 通知标题带 [工作区名] 前缀
系统通知模式 始终发送 不发送 / 后台时发送 / 始终发送

首次点击页面会自动请求通知权限(浏览器询问),也可在设置页手动授权并发送测试通知诊断。移动浏览器不支持系统通知时,设置页会自动置灰并提示。

🎮 使用

  1. 打开 DSH 设置 → 任务通知
  2. 按需开关各类型通知(默认全开),确认权限显示「已授权」
  3. 点击「测试」按钮验证通知链路(无视发送模式直接弹一条)
  4. agent 完成任务、运行出错或需要你操作时,通知中心自动弹出气泡

🔧 兼容性

  • 基于 dsh-agent-notify 面向新版 DSH 的兼容重写,适配 DSH 0.1.2-alpha.4
  • 纯浏览器端插件(host half 为空),手写 bundle 无构建步骤
  • 设置页注册进官方 settings.section slot(与官方设置页同源 UI)
  • 依赖浏览器 Notification API(桌面 Edge / Chrome 可用);移动浏览器不支持时设置页置灰并提示(iOS 的系统通知仅支持 Service Worker Web Push,本插件未接入,不支持)

📄 许可证

MIT

🔗 链接