DSH Taskbar Badge: Windows Unread Badge and Window Position Restoration

前言

在 Windows 上使用 DeepSeek Harness(DSH)时,窗口最小化或切到后台后,很难一眼看出又有几条对话已经跑完、尚未点开。系统任务栏图标本身也不会像 Teams、Codex 那样显示未读数字。若还要在每次重启 Harness 后重新拖窗口、记尺寸,日常开发会更分散注意力。下面介绍的 DSH Taskbar Badge(仓库 HUHUhim/dsh-taskbar-badge)是社区维护者 HUHUhim 发布的客户端类插件:在任务栏 DSH 图标上叠加蓝色数字角标,并在关闭后下次启动时恢复窗口大小、位置与最大化状态。

这是什么

插件在 package.json 中的描述为:Windows taskbar unread badge and window-bounds restore for DeepSeek Harness。当前版本 0.1.0,许可证 MIT。分类为客户端;仅 Windows 10 / Windows 11 上生效,其它平台插件会加载但不执行任何逻辑。

核心功能

经 README 核实,能力包括:

  1. 任务栏未读角标:在 DSH 任务栏图标上显示蓝色数字,类似常见应用的 unread badge。
  2. 计数规则:统计已完成且未读的 DSH 对话;子 agent 会话与已归档会话不计入。
  3. 后台可用:DSH 最小化、在后台运行,或侧栏折叠时,角标仍可更新。
  4. 打开即消未读:进入对应对话后,该条未读计数清除。
  5. 窗口边界恢复:记住上次关闭时的窗口矩形与是否最大化,Harness 重启后写回;恢复时会限制在当前显示器工作区内。
  6. 随 Harness 启动:由插件 host 半在启动时拉起辅助进程,不写入 Windows「启动」文件夹。

运行依赖:支持插件 bundle(dsh.bundle)的 DSH 桌面构建;辅助程序为小型 .NET 可执行文件,需 .NET Framework 4.x(Windows 10/11 自带)。

工作原理(简述)

包分为两半:

  • Client 半(client.js):无 UI 的客户端插件,监听 session store,在有 N 条已完成未读会话时,把文档标题写成 [N] 前缀。
  • Host 半(index.js,经 cordis.patch.yml 注入):Harness 启动时运行 bin/dsh-taskbar-badge.exe。

辅助程序优先从 DSH 窗口标题读取 [N];若无前缀,则通过 Windows UI Automation 统计侧栏中已完成行作为后备。约每 800 ms 调用 ITaskbarList3.SetOverlayIcon 生成 24×24 角标。窗口位置使用 GetWindowPlacement / SetWindowPlacement,常态矩形保存在 %LOCALAPPDATA%\DSH\window-bounds.txt。

隐私方面:无网络、无遥测;仅读窗口标题及(后备路径下)侧栏状态行;本地写入日志与边界文件(见下文「注意」)。

安装与启用

插件市场

上架后可在 DSH → Plugins → Plugin Market 搜索 DSH Taskbar Badge 安装,安装后需完全退出并重启 Harness(仅刷新页面不够,bundle 在启动时组装)。

从 GitHub 添加

在 DSH → Plugins → Add plugin 中填写:

HUHUhim/dsh-taskbar-badge

也可粘贴完整仓库地址:

https://github.com/HUHUhim/dsh-taskbar-badge

然后完全退出并重启 Harness。

若曾使用本地开发版,请先卸载 dsh-taskbar-badge-bridge,否则会与同一 helper 重复运行第二个标题监视器。

重启后,当其它对话在后台完成时,任务栏图标应出现蓝色数字角标。

典型用法

插件无单独配置面板;安装并重启后即工作。

  1. 保持 DSH 在任务栏运行,另开或等待会话在后台完成。
  2. 观察任务栏 DSH 图标上的数字角标。
  3. 在 Harness 中打开对应对话,角标对应该会话的未读应减少。
  4. 调整窗口大小与位置后正常关闭 DSH;下次启动应恢复到上次边界(含最大化状态)。

辅助程序与 bridge 日志、窗口边界文件位于 %LOCALAPPDATA%\DSH\:taskbar-badge.log、taskbar-badge-bridge.log、window-bounds.txt。首次运行未签名的 dsh-taskbar-badge.exe 时,Windows SmartScreen 可能提示;完整 C# 源码在 bin/dsh-taskbar-badge.cs,可用仓库内脚本本地重编译:

powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\build-helper.ps1

适用场景与注意

适合:主要在 Windows 上长时间跑 DSH、常最小化窗口、需要任务栏级「有几条新完成对话」提醒,并希望重启后窗口布局不变的开发者。

注意:

  • 插件与 helper 以当前 DSH 进程权限运行;安装前建议浏览仓库源码与 MIT 许可证,确认可接受本地读写与 UI Automation 行为。
  • 仅 Windows;Node 引擎要求 >=20(见 package.json)。
  • 卸载:从 DSH 插件列表移除 dsh-taskbar-badge → 退出 Harness → 结束残留的 dsh-taskbar-badge.exe → 可选删除上述本地日志与 window-bounds.txt。无需清理「启动」文件夹。

DSH 生态强调「一切皆插件」;社区目录站点(如 SkillHub)与 DeepSeek / 幻方无官方从属关系,本文安装路径以 README 为准。

结尾

DSH Taskbar Badge 把「后台完成的未读对话」映射到 Windows 任务栏角标,并顺带解决 Harness 重启后的窗口几何恢复,对桌面端长时间并行多会话的场景很实用。

  • 目录页:https://www.skillhub.cn/plugins/HUHUhim/dsh-taskbar-badge
  • GitHub:https://github.com/HUHUhim/dsh-taskbar-badge
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye