前言¶
DeepSeek Harness (DSH) 在后台运行时,用户容易忽略任务完成状态。现有的通知机制或窗口内 DOM 更新在切出窗口时不够直观。dsh-done-badge 插件利用 Windows 原生任务栏接口,在窗口最小化或离开期间,持续在任务栏图标上显示任务完成数量。
插件定位¶
本插件由 SkuraSshly 维护,采用 MIT 许可证。它解决的核心问题是:在用户离开 DSH 窗口时,如何通过系统原生 UI 反馈后台任务完成情况。
核心功能¶
- 离开期间任务完成 → 任务栏角标持续显示,数量实时累积。
- 子代理会话不计入:一个任务启动多个子代理只 +1。
- 切回主界面 → 角标保留 2 秒让人看清,然后消失,不再冒出。
- 串行更新队列:角标不会因 PowerShell 完成乱序而留下旧值。
- 零依赖:只使用系统自带 PowerShell,无需安装任何运行时。
安装与启用¶
通过 CLI 安装:
dsh plugin --profile web add dsh-done-badge
安装后重启 DSH Web 或桌面应用即可生效。
使用示例¶
- 发消息 → 最小化/切走 DSH。
- 后台每完成一个任务,任务栏 DSH 图标出现红色数字角标(完成几个显示几,持续显示)。
- 切回主界面 → 角标保留约 2 秒后消失、计数清零。
工作原理与注意事项¶
插件通过监听 session/event 的 turn/end 事件进行统计。服务端经过串行队列调用 assets/badge.ps1(零依赖脚本),利用 Windows 原生 ITaskbarList3::SetOverlayIcon 接口更新任务栏。
定位主窗口时依赖窗口标题 Deepseek Harness Desktop。如果任务栏角标未出现,可检查以下日志:
* %TEMP%\dsh-done-badge-helper.log:助手调用记录(含窗口句柄)。
* %TEMP%\dsh-done-badge-events.log:事件链日志(自动轮转 1MB)。
注意事项:
* 仅支持 Windows 任务栏角标。macOS 暂不支持原生角标,仅窗口内 DOM 角标。
* 零依赖,仅使用系统自带 PowerShell。
* 串行更新队列确保角标不会因 PowerShell 完成乱序而留下旧值。
总结¶
dsh-done-badge 为 DSH 提供了原生的后台任务反馈能力。配合 GitHub 源码(https://github.com/SkuraSshly/dsh-done-badge)可进一步查看实现细节。