DSH AttentionPlugins Desktop:用桌面浮窗替代声音与浏览器通知

前言

在 DeepSeek Harness(DSH)里并行开多个会话时,若每个任务完成都提醒一次,打断会叠得很密。社区里 attention-plugins 用主线/支线优先级和浏览器系统通知来减负,但仍依赖页面与通知权限,最小化窗口或关闭权限后体验会打折。DSH_AttentionPlugins_Desktop(npm 包名 dsh-attention-toast,维护者 4478sc)沿用同一套优先级与事件模型,把提醒改成 Windows WPF / Linux GTK 的右下角桌面浮窗,由宿主常驻进程渲染,不抢焦点、不占任务栏,也刻意去掉了自定义声音。

这是什么

这是 attention-plugins 的桌面版:主线任务尽快打断你,支线可汇总,提问与审批始终打断;投递形态从「声音 + 浏览器通知」改为「桌面浮窗」。分类上属于 DSH 客户端插件:浏览器端跑通知引擎与设置,DSH 宿主通过 Typert 服务 attentionToast 拉起 toast_host.ps1(Windows)或 toast_host.py(Linux GTK3 / XWayland)。

与上游 0.2.2 相比,README 中的对照表写明:三档任务模式(含静默)、子智能体等待、会话静音等能力已合并进本仓库;侧栏主线星标与「点击浮窗打开会话」尚未实现。

核心功能

主线、支线与任务模式

输入框工具行的 ☆/★、会话行「…」菜单中的「设为主线任务」可标记多个主线。任务模式包括:

  • 主线模式:仅标记会话按主线立即弹浮窗,其余按支线汇总一次。
  • 均衡模式:未标记时全部按主线逐个提醒。
  • 静默模式:完成类事件不弹,提问与审批仍弹。

父会话结束而子智能体仍在运行时,可开启「等待子智能体」,整波空闲后再弹(可关)。会话行菜单可对单会话静音,该会话所有事件都不弹。

四类事件与门控

支持完成、出错、提问、审批四类,可逐项开关;提问与审批始终打断。「当前会话」分三档:仅在后台 / 失焦或后台 / 总是提醒。总开关默认开启;「当前会话也提醒」默认关闭(正在看的会话完成不打扰,窗口最小化时仍提醒)。

桌面浮窗行为

右下角堆叠,同屏约 1–6 个;按事件类型配色;自动关闭时长可选 4/6/8/12 秒;悬停暂停计时;点击或 ✕ 关闭;高度随内容自适应。浮窗无反向通道,暂不能点击打开对应会话。

审批联动(只读)

安装 dsh-approval-ledger 后,等待审批的浮窗可附带本地正则预判的风险等级(high/medium),仅供参考。批准 / 拒绝 / 取消只写入台账,不再弹结果浮窗。设置页显示台账连接状态、最近统计与最近 5 条记录。本插件只读 $DSH_HOME/approval-ledger/ledger.jsonl,不拦截或修改审批决策;台账异常时降级为无联动,不影响其它通知。

架构概览

数据从 DSH 客户端的会话状态与 pendingInteraction 进入通知引擎,经总开关、事件类型、当前会话与可见性门控后,通过 ctx.remote.attentionToast.show(payload) 到宿主;宿主以 stdin 一行一个 JSON 驱动浮窗进程。

路径 作用
lib/client.js 设置页、主线标记、通知引擎、门控、remote 调用
lib/index.js 宿主配置存储、浮窗进程生命周期、Typert 服务
lib/toast_host.ps1 Windows WPF 浮窗宿主
lib/toast_host.py Linux GTK3 浮窗宿主

安装与启用

要求:DSH 桌面版 ≥ 0.1.7(README 注明在 0.2.1-rc.3 / 0.2.0-rc.3 验证);Windows 需 PowerShell 5.1;Linux 需 python3 + PyGObject。package.json 中 engines.dsh 同为 >=0.1.7,当前发布版本为 0.2.2-desktop.13。

联网环境可直接安装(依赖自动拉取):

dsh plugin --profile desktop add dsh-attention-toast

离线或需打包 zod 等依赖时,README 给出 pack-plugin.ps1 打 tarball 再 plugin add 的路径示例;不要用 link: 安装,以免 DSH 重装或删 profile 时穿透 junction 清空源码目录。

安装后重启 DSH 桌面版。卸载:

dsh plugin --profile desktop remove dsh-attention-toast

并删除 ~/.dsh/storages/dsh-attention-toast 与浏览器中的 dsh-attention-toast:config。

典型用法

  1. 安装并重启 DSH 后,打开 设置 → Attention Toast,确认宿主连接状态正常。
  2. 在需要优先关注的会话上标 ★ 或设为主线任务;按需切换主线 / 均衡 / 静默模式。
  3. 用设置页的「测试浮窗」验证宿主;无反应时查看 $DSH_HOME/storages/dsh-attention-toast/host.log 末尾是否有 spawn 行。
  4. 浮窗不消失时先确认鼠标未悬停(会暂停计时),必要时点「重启宿主」;Linux 需 DISPLAY 可用(XWayland),纯 Wayland 且无 XWayland 的环境 README 标明不支持。

界面配置在浏览器 localStorage 键 dsh-attention-toast:config;浮窗外观(配色、时长、同屏数量)在 $DSH_HOME/storages/dsh-attention-toast/config.json。

适用场景与注意

适合在多会话并行、又不想被浏览器通知权限或页面可见性绑架的 DSH 桌面用户:窗口最小化或失焦时仍要在角落看到完成、出错、提问与审批。

插件以当前 DSH 进程权限运行,安装前请自行查看 GitHub 源码 与 MIT 许可证;审批风险预判仅为本地启发式提示,不构成安全保证。社区插件目录 SkillHub 条目 与 GitHub 仓库独立维护,并非 DeepSeek / 幻方官方应用商店。

结尾

DSH_AttentionPlugins_Desktop 在 attention-plugins 的优先级模型上,把提醒落到真正的桌面浮窗,并合并了三档模式、子智能体等待与会话静音等上游能力。需要详情与路线图(如浮窗反向打开会话、侧栏星标)可直接查阅仓库 README。

  • 目录页:https://www.skillhub.cn/plugins/4478sc/DSH_AttentionPlugins_Desktop
  • GitHub:https://github.com/4478sc/DSH_AttentionPlugins_Desktop
羽毛球分组比赛记分
小程序二维码

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

Xiaoye