dsh-session-attention:DSH Web 后台会话提醒

前言

用 DeepSeek Harness(DSH)跑多会话时,模型回复往往要几十秒甚至更久。窗口切到别的标签或别的应用后,很难凭肉眼判断「哪条会话已经跑完」或「哪条在等你审批、审计划、回答问题」。反复切回 DSH 看状态,会打断手头工作;完全不管,又容易漏掉需要人工介入的节点。

下面介绍社区插件 dsh-session-attention(维护者 renjianbuchai):在浏览器 Web profile 里,当你不在 DSH 窗口时,用系统通知、标签标题红点和 PWA 任务栏徽标三种方式提醒你;回到窗口后自动清除。它是纯客户端插件,不修改 DSH 核心文件,行为源自 DSH 0.1.x 内置的完成提醒逻辑,在 0.2.x 上通过公开平台 API 重建为可安装插件。

这是什么

dsh-session-attention 是面向 DeepSeek Harness 的后台提醒插件,分类为客户端插件。当前 package 版本为 0.1.0,许可证 MIT。

插件只做一件事:在合适时机提醒你「该看 DSH 了」,且仅在你已经不在窗口前时触发(document.hidden || !document.hasFocus()),避免你正盯着界面时被打扰。

核心功能

会话需要你注意时,三处信号会同时生效(各 API 在浏览器不支持时会单独 no-op,其余仍可用):

信号 说明
系统通知 桌面通知;标题带 DSH · 前缀(如 DSH · 回复已完成 / 英文 DSH · Reply finished),正文写出会话名,图标用页面声明的图标
标签标题红点 在浏览器标签 document.title 前加 ● 前缀;由 MutationObserver 维护,不接管 shell 对标题的改写
PWA 任务栏徽标 调用 navigator.setAppBadge(n),适用于已安装的 PWA(Chromium 系)

只在两个时刻触发(且窗口在后台):

  1. 回复完成:某会话的 running 从 true 变为 false。
  2. 会话在等你:某会话出现 pendingInteraction,类型为 approval(审批)、plan-review(计划审阅)或 question(提问)。

回到窗口时,上述三处信号会立刻清除。子代理(subagent)会话按设计跳过,不由你直接回应。

实现上,客户端订阅宿主公开 observable:uiSession.sessionStatus 与 sessions.list,据此推导上述边沿;宿主侧 lib/index.js 仅声明插件,不写文件、不开 socket。通知按会话用稳定 tag(done:<id> / pending:<id>)去重,重复事件会 renotify 重新提醒。

安装与启用

在已配置 DSH web profile 的环境中执行(命令同时写入依赖并在 profile 中启用插件,无需额外开关):

pnpm dsh plugin --profile web add github:renjianbuchai/dsh-session-attention

dsh plugin 是对 pnpm 的薄封装,也可使用本地目录 <dir>、github:<用户>/<仓库> 等 pnpm 写法。插件进入 awesome-dsh-plugin 目录后,也可在 DSH 插件市场一键安装(社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系)。

常见卡点:

  1. 若 pnpm 报 ERR_PNPM_MINIMUM_RELEASE_AGE_VIOLATION,可在同一条命令后加 --config.minimumReleaseAge=0(pnpm 发布冷却策略,与插件本身无关)。
  2. 浏览器弹出通知权限时请允许。未授权时标签红点和 PWA 徽标仍可用,桌面通知不会工作;插件不会在无用户手势的后台事件里再弹权限框(浏览器会忽略)。

环境要求

  • DSH:>= 0.2.1-alpha.1 < 0.3.0-0(README 注明在 0.2.1-alpha.1 上开发验证)
  • Node:>= 22.19.0(与 DSH 对 Node 的要求一致)
  • 使用浏览器 web profile;桌面通知依赖 Notification API;任务栏徽标依赖 navigator.setAppBadge(已安装 PWA、Chromium 系)

调试与自测

插件加载后,浏览器控制台可访问:

__DSH_ATTENTION__.permission  // 当前 Notification 权限
__DSH_ATTENTION__.log         // 近期决策:notified / skipped / failed 及原因
__DSH_ATTENTION__.test()      // 走插件同一路径发一条测试通知

若真实会话从未弹 toast,但 test() 能弹,多半是插件未触发;若 log 显示 notified 仍无 toast,需查 OS 专注助手、勿扰或 per-app 通知开关(Windows Focus Assist 等)。

适用场景与注意

适合:长时间用 DSH Web 跑任务、经常切标签或切应用、希望「后台跑完或等人操作时」有明确提醒的开发者。

注意:

  • 插件以当前 DSH 进程及浏览器上下文运行;安装前请自行查看 源码 与 MIT 许可证,确认符合你的安全与合规要求。
  • 桌面 toast 由浏览器与 OS 绘制;无 Notification 或通知被系统屏蔽时,只能依赖标题红点与 PWA 徽标。
  • 行为从 DSH 0.1.x 内置 completion-attention 移植而来,在 0.2.x 不 patch renderer 的前提下保持同类体验。

链接

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

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

小夜