DeepSeek Harness Hub
← 返回列表

任务栏提醒事件源Suef-666/dsh-tab-alert

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

后台任务需介入时闪烁提醒并推送实时状态

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/17 · 已提供中文文档
综合分
27.7
GitHub 分
27.7
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add Suef-666/dsh-tab-alert
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-runtime
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

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

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群