Suef-666 / dsh-tab-alert

已收录

上游仓库没有提供项目描述。

main其他 查看源代码

安装

npx -y @deepseek-ai/dsh plugin --profile web add github:Suef-666/dsh-tab-alert

此安装命令根据 GitHub 仓库地址生成,是未经验证的安装起点。

README

维护者编写的文档快照。

在 GitHub 查看 ↗
提交版本 b8ac571同步于 2026年8月17日

dsh-tab-alert —— dsh 任务栏提醒与实时事件源插件

dsh-tab-alert 是运行于 dsh(DeepSeek Harness)宿主侧的插件,提供两项能力:

  • 任务栏提醒:dsh 在后台运行并需要用户介入时,通过系统通知提醒用户。 页面失焦或隐藏时弹出静音通知,浏览器在操作系统任务栏上闪烁图标 (Windows 下为橙色闪烁,Linux 下为通知与 Dock 脉冲)。
  • 实时事件源:订阅全量会话事件流,维护各会话的实时状态,并通过 WebSocket 端点对外提供统一的会话状态数据,供 dsh-pet 等外部消费方使用。

功能

任务栏提醒

仅在需要用户操作的场景触发提醒,普通回复不提醒:

场景说明
模型提问模型向用户提问
授权请求请求用户授权
方案审查请求用户审查方案
目标完成目标阶段进入完成
目标失败 / 阻塞目标阶段进入失败或阻塞
后台任务完成 / 失败后台任务结束
会话在别处完成未查看的会话已完成
dsh 完成当前回合普通任务执行完毕

提醒规则:

  • 通过浏览器 Web Notification 触发系统通知与任务栏闪烁,无需修改浏览器;
  • 首次触发时请求一次通知权限;用户拒绝后插件保持静默,不做页内降级;
  • 同一事件只提醒一次,新事件再次提醒;
  • 用户返回页面视为已处理,不再提醒;
  • 插件只订阅官方快照并创建通知,不修改其它插件状态,卸载即清理;
  • 事件同时发布为旁观式 tab-alert/attention(cordis 事件),供其它插件观察。

任务栏闪烁是浏览器与操作系统的行为,不同环境下表现可能有差异; 若静音模式不闪烁,可关闭 silent 对比验证。

实时事件源(中间件)

宿主侧维护各会话的状态机,把归一化的实时任务状态(会话标题、状态、等待原因、 流式文本等)通过 WebSocket 端点转发给外部消费方。一条数据流,多方复用。

  • 官方搭配:dsh-pet(uTools 桌面宠物插件) 直连该事件流,将实时状态渲染为桌面状态面板;
  • 第三方开发者可基于同一事件流开发自定义插件或独立客户端(状态面板、 托盘图标、播报、看板等)。

WebSocket 端点、数据格式、状态机语义、节流与重连、版本策略的完整说明, 见 protocol.md

安装

前置:dsh CLI 可用,目标 profile(如 web)已初始化。

# 安装(link: 开发链接;改源码后重建并重启 dsh 生效)
powershell -ExecutionPolicy Bypass -File .\install.ps1
# 或手动:dsh plugin --profile web add link:<绝对路径>

# 卸载
powershell -ExecutionPolicy Bypass -File .\uninstall.ps1
# 或手动:dsh plugin --profile web remove dsh-tab-alert

# 查看已装插件
dsh plugin --profile web list

link: 为符号链接开发模式,改源码无需重新安装;file: 为拷贝安装, 适合打包分发。卸载后重启 dsh 生效。

配置

可通过 dsh 行级 config 覆盖默认值(如 cordis.patch.yml 覆盖层):

- id: dsh-tab-alert
  config:
    enabled: true
    kinds:
      question: true
      approval: true
      planReview: true
      goalComplete: true
      goalBlocked: true
      jobCompleted: true
      jobFailed: true
      sessionCompleted: true
    silent: true              # 静音:只闪烁不响铃
    requireInteraction: false # true = 通知常驻直到手动关闭
    debug: true               # 控制台调试日志

构建与测试

npm install --ignore-scripts
node build.mjs                # 产出 lib/ 构建产物
node test\collector.test.mjs  # 逻辑单测(边沿检测 / 去重 / 重连基线)

项目结构

src/host/index.ts          宿主侧:会话状态机 + WebSocket 事件源
src/client/index.ts        浏览器侧:插件主体(订阅快照 → 提醒 → 事件总线)
src/client/collector.ts    事件差分逻辑
src/client/notifier.ts     Web Notification 提醒
src/client/status.ts       任务进度数据源
test/                      单元测试

License

MIT

项目文件与信号

以下项目是目录快照中检测到的公开仓库信号。

测试已检测

仓库信息

开发语言
TypeScript
许可证
MIT
最后更新
2026年8月17日 07:32

谨慎安装

请检查源代码、权限、生命周期脚本、依赖与网络访问;不受信任的插件应先在隔离环境中测试。