dsh-notify-lite:Windows 下的轻量 DSH 原生通知与任务栏未读角标

前言

在 DeepSeek Harness(DSH)里跑 Agent 时,窗口一旦被别的应用盖住,提问、工具授权和一轮回复结束往往只能靠切回 DSH 才发现。浏览器或系统自带的 Web Notification 能用,但与 DSH 会话、Goal 模式、审批链路的贴合度有限;自己写监听脚本又容易和官方事件模型不同步。

dsh-notify-lite(npm 包与 Host 侧标识为 dsh-notify-toast,清单公共 id 为 dsh.notify-toast)是维护者 game25011 发布的非官方 DSH 客户端类插件,面向 Windows 10/11 与 DeepSeek Harness Desktop 0.2.2-rc.1(engines.dsh 声明覆盖 0.2.2-rc.x 范围)。它在 DSH 未聚焦时用声音、Windows 原生 toast(含可选进度条样式)和任务栏未读角标提醒,并通过官方 ctx.settings 持久化配置;无常驻托盘或后台服务,MIT 许可。

这是什么

插件以官方 bundle 形态交付(Host + Web Client),通过 DSH 插件管理器安装或卸载,当前版本 0.4.3,npm 分发为 @game25011/dsh-notify-toast@0.4.3。维护方说明:主体代码由 AI 编程助手生成,人类维护者负责需求、调试、测试与发布;不访问外部网络、不修改 DSH 核心、不遥测。

按 README 中的经验描述,声音 + 原生通知 + 任务栏角标的组合可覆盖约 90% 日常提示场景(经验估测,非绝对保证)。

核心功能

下面按 DSH 事件与界面行为归纳已文档化的能力。

事件与提醒策略

场景 触发与行为
需要回答/确认 user-questions/request;标题「DeepSeek 想问你一个问题」,正文为问题原文前 N 字
需要授权(审批) approval/request;标题「DeepSeek 需要你的授权」,正文为「工具名 · 简短目的」;观察者采用 prepend + global,发布通知后仍 next() 委托,不改变审批结果
本轮回复结束 session/event 的 turn/end(completed);仅根会话,子代理默认不触发;标题随步数变化(1 步 / 2–4 步 / 5 步及以上文案不同);正文取最后一条助手回复首段,取不到则「点击查看」
目标模式汇总 goal active + armed 期间不逐轮提醒;在 complete / paused / blocked / Round 上限 / disarmed 后按 roundsStarted 增量只发一条;提问/授权仍即时
未聚焦才提醒 实时判断 document.hasFocus() 与 visibilityState;聚焦时不弹、不响

任务栏未读角标(Windows)

DSH 在后台时,在任务栏图标上按不同根会话计数(同一会话多次完成只计 1)。1–3 显示数字角标,超过 3 显示红点;回到 DSH 后自动清除,设置页可关闭。README 明确不做任务栏进度条或闪烁动画,角标通过 helper 一次性调用更新,不增加常驻进程。

原生通知与降级

  • Windows 原生进度 toast:Host 经 PowerShell/C#/WinRT 创建系统通知,内含 <progress>;近似时间后停止更新并收回横幅;通知中心保留受 ExpirationTime 约束。
  • 兼容降级:原生 helper 不可用或启动失败时退回 Web Notification;两条路径通知本身 silent,提示音由插件统一播放一次。
  • 点击回窗:Host 尝试 SetForegroundWindow 后置前窗口并打开对应会话;koffi 不可用时降级 window.focus()。
  • 合并:默认 2.5 s 内多个「完成」合并为一条。

声音与隐私

提示音含 Web Audio 合成的叮咚/风铃/清铃/轻点,以及内嵌 CC0 音效「弹一下」;音量 0–100,可关闭、可在设置页试听。正文长度默认 40 个 Unicode 码点(可配 20–60);隐私模式可只显示标题。可选功能「全部完成后改写标题」默认关闭,仅在至少两个根会话同时运行且全部成功结束后改写最后结束会话的标题。

明确不做

常驻托盘/后台服务、外部网络、修改 DSH 核心、遥测、调用模型。

安装与启用

README 要求:不要手改 profile 的 package.json 或 cordis.patch.yml;仅通过官方插件管理器或 GitHub Release / npm 包安装。

应用内插件管理器(推荐)

  1. 准备交付包 dsh-notify-toast-0.4.3.tgz(路径不要含空格),或先执行:
npm pack @game25011/dsh-notify-toast --registry=https://registry.npmjs.org/
  1. 在 DSH 中安装 bundle:
    - Agent:plugin_manager → action: install_bundle,target: <tgz 绝对路径>
    - 官方 Desktop 的 desktop profile 由应用内插件管理器管理;自管 profile(web/headless)才适用对应命令行方式(见 README)。

  2. 在 设置 → 插件 确认 dsh-notify-toast 已启用。首次安装或升级后需重启一次 DSH,已加载的 Host JavaScript 模块需重启才会换成新代码。

  3. 打开 设置 →「通知」,点「发送测试通知」;「运行状态」块可查看 Host 连接、transport、设置持久化与最近提醒计数。

其他安装途径

  • 开发目录 link:plugin_manager → install_bundle → target: <插件目录绝对路径>;Host 侧 JS 未热更新时需重启 DSH。
  • 自定义市场索引(自托管,非 DSH 默认收录):
https://raw.githubusercontent.com/game25011/dsh-notify-lite/7564f13e8638bca2cdf0d7a5ce6dce0a6fc147d7/market-index.json

添加后搜索 dsh-notify-toast 可从市场安装固定版本。

卸载:插件管理界面禁用/移除,或 plugin_manager → action: remove_bundle,target: dsh-notify-toast。卸载后无后台进程残留;已写入 profile patch 的配置随插件移除而不再生效。

典型用法:设置页与日常流程

设置入口:设置 →「通知」(settings.section,id dsh-notify-toast)。改动即时生效,经官方 ctx.settings 写入当前 profile 的 patch 层,重启后保留。

日常建议流程:

  1. 安装并重启 DSH 后,打开通知设置,确认总开关与各子开关(提问、授权、本轮回复、任务栏角标、目标模式结束后汇总)符合你的工作习惯。
  2. 在「通知显示方式」中选 Windows 原生进度通知 或 Windows 兼容通知;若 helper 异常,插件会自动回退兼容路径。
  3. 用「发送测试通知」/「测试系统通知」验证声音与系统权限;若浏览器拒绝通知权限或 Host 不可用,设置页会显示状态而非崩溃。
  4. Agent 在后台跑任务时保持 DSH 未聚焦:需要人手时收提问/授权 toast;根会话一轮结束时收完成提醒;多会话时看任务栏 1–3 数字或红点。
  5. 使用 Goal 模式时,依赖「目标模式结束后汇总」减少逐轮打扰;长任务可把「合并间隔」从默认 2500 ms 按需调整。

常用配置默认值摘录(完整表见 README):

设置 默认 说明摘要
启用通知 开 总开关
正文长度 40(20–60) 超出加「…」
提示音 叮咚 含关闭与「弹一下」
音量 60 0 等同静音
合并间隔 2500 ms 0–10000
通知显示方式 原生进度 helper 失败自动兼容
通知自动移除时间 8 秒 3–30 秒,近似控制

适用场景与注意

适合谁:在 Windows 10/11 上使用 DSH Desktop、经常把 DSH 挪到后台、希望系统级 toast 与任务栏未读提示与 DSH 会话/审批/Goal 对齐的开发者或重度用户。

环境与权限:插件在当前 DSH 进程权限下运行;安装前应阅读仓库源码与 MIT 许可证,并知悉 AI 参与编写说明(AI-DISCLOSURE.md)。仅支持 Windows;engines.node 要求 >=20。

兼容性:README 针对 DSH 0.2.2-rc.1 维护兼容声明;上游处于预发布期,不作长效兼容承诺。0.4.3 修复 DSH 0.2.2 设置页导航图标重复(改用 settings.section.icon slot)。

生态说明:DSH 社区插件目录(如 SkillHub 上的条目)为独立收录站点,与 DeepSeek / 幻方无官方从属关系;本插件亦需通过自托管 market-index.json 或手动安装包进入你的环境,不会自动出现在每一处官方默认索引中。

结尾

dsh-notify-lite 把 DSH 的提问、授权、根会话完成和 Goal 汇总接到 Windows 原生通知与任务栏角标上,强调轻量、按需 helper、可配置与不打扰。若要查看版本说明与接口细节,可从仓库 README、docs/INTERFACE.md 与 GitHub 仓库 继续阅读;目录页:SkillHub - dsh-notify-lite。

羽毛球分组比赛记分
小程序二维码

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

小夜