前言¶
在使用 DeepSeek Harness (DSH) 时,浏览器标签页休眠会导致 JavaScript 停止运行。这会导致审批、提问等卡片在网页端卡住。dsh-attention 是一个用于 DSH 的提醒插件,旨在解决网页休眠时错过通知的问题。通知由 dsh 宿主发出,不依赖浏览器的 Notification API。
功能¶
该插件提供以下能力:
- 网页休眠也能提醒:通知由 dsh 宿主发出,不走浏览器
Notification。标签被冻住时 JavaScript 停了,审批、提问、会话结束照样能弹窗。 - 卡片上直接处理:允许 / 拒绝、单选 / 多选、自定义输入(标题为「其他」)、写下一步,点完即提交,会话继续。不抢网页上的审批卡片。多题卡片会逐题勾选,点「提交」才一起发送。
- 官方卡自动关闭:原卡先答完时,插件会把同一结果交给 DSH 官方审批 / 提问卡,让网页里的卡片自动关闭,不需要刷新页面。
- 主题跟随:自制卡片亮色 / 暗色与当前页面一致,毛玻璃圆角;底部倒计时条从绿变到红。
- 两种卡片样式:默认自制卡片可在窗口里操作;系统通知卡片只负责点回会话。
- 回到已有会话:「回到会话」优先前置已经打开的 dsh 窗口或 Edge 应用,并切到对应会话;也可每次新开。
- 多显示器跟随:弹窗默认出现在当前聚焦显示器的右下角;找不到焦点屏幕时自动回退到主显示器。
- 按钮布局统一:审批卡片为「允许 / 拒绝」左右布局;会话结束 / 多选提交按钮在左侧,「回到会话」统一固定在右上角关闭按钮左侧。
- 当前窗口不打扰:dsh 标签正在聚焦时不弹;切到别的窗口、标签,或页面隐藏时才提醒。
- 子代理结束提醒独立控制:「子代理会话结束」开关默认关闭。开启后弹窗会明确标注身份,并且不提供回复输入框。
安装与启用¶
使用官方插件安装命令添加该插件:
dsh plugin --profile web add dsh-attention
安装完成后重启 dsh web。
典型用法¶
- 模型申请提权:当模型申请提权时,右下角会出现允许/拒绝窗口。点「回到会话」切回该会话。在右下角答完后,DSH 网页里的审批卡会自动关闭。
- 提问 / 选择:主会话单选点选项即提交;多选或多题先勾选再点提交;也可在「其他」里自己写答案。DSH 不允许受控子代理直接向用户提问。
- 主会话一轮对话结束:在窗口里写下一步并发送。子代理结束提醒默认关闭;开启后只提示并提供「回到会话」,不显示回复输入框。
- 标签休眠后再回来:隐藏超过约 8 秒会自动刷新一次(等同 F5),把还挂着的审批卡片重放出来。正在输入时不会刷新;将隐藏刷新时间设为
0(关闭)或-1(无限)都可关闭自动刷新。 - 设置控制:在设置 → 提醒 里用顶部开关控制通知总开关,再在分组里调整提示音、回到会话方式、样式等。
配置说明¶
配置覆盖 cordis.patch.yml 或 profile 里的 dsh-attention 的 config 字段。数值类配置约定:0 = 关闭该项功能,-1 = 无限(不设上限)。
| 字段 | 默认值 | 说明 |
|---|---|---|
enabled |
true |
总开关 |
notifyApproval |
true |
提权审批 |
notifyQuestion |
true |
提问 / 选择 |
notifyIdle |
true |
一轮对话结束后的下一步输入 |
notifySubagentIdle |
false |
子代理会话结束通知;弹窗不提供回复输入框 |
notifyStyle |
custom |
custom 自制卡片;system 系统通知 |
notifyTimeoutSec |
30 |
停留秒数;-1 无限,0 关闭自动消失 |
cardOpacity |
0.78 |
自制毛玻璃卡片不透明度,0.1–1 |
openSessionMode |
reuse |
reuse 复用已有窗口;new 每次新开 |
hiddenReloadMs |
8000 |
标签隐藏多久后唤醒要刷新(毫秒) |
settledMax |
50 |
记住多少条「已用弹窗答过」的记录,用于自动关掉网页卡片 |
sound |
系统默认提示音 | 设为 false 静音 |
choiceShellPath |
自动 | 自制卡片使用的 PowerShell(默认优先 pwsh 7) |
注意事项¶
- 交互方式:选择 / 允许 / 下一步走右下角自制窗口,不依赖系统通知按钮回调。
- 自动刷新机制:自动刷新是对标签休眠后 pending 卡片丢失的缓解,不是给连接层打补丁。
- 自动关闭限制:自动关闭依赖插件内存里的「已答记录」:超过
settledMax条后最旧的会被丢弃,此时若卡片被重放,需要手动点一次。 - PowerShell 版本:自制卡片优先用
pwsh7,缺失时回退 Windows PowerShell 5.1;系统通知仍用 5.1 的 WinRT Toast。 - 系统限制:自制卡片和系统通知只在 Windows 上弹出;其它系统装上后设置页和休眠唤醒刷新仍可用。
- 回到会话:「回到会话」按窗口标题 / PWA 名称匹配;dsh 若在后台标签里,可能只能把整个浏览器前置。
- 多开与前置:多开 DSH 时端口能区分实例和目标会话,但 Windows 无法可靠地前置普通浏览器里的指定标签;需要精确打开时选「新开」。
- 兼容性:适配 DSH 0.1.2-alpha.3 及其新版 Remote/Waterfall API,不兼容使用旧
apiProxy接口的 DSH 版本。
总结¶
dsh-attention 通过在 dsh 宿主层面提供通知,解决了浏览器标签休眠导致交互中断的问题。它支持在卡片上直接处理审批、选择和下一步输入,并能自动关闭网页上的原生卡片。如果你在使用 DSH 时经常遇到网页休眠导致审批卡卡住的情况,该插件是必要的补充。
- 目录页: dsh-attention (SkillHub)
- GitHub 仓库: anlifex/dsh-attention