前言¶
DeepSeek Harness(DSH)的桌面端窗口关闭后会收进托盘继续运行。当某个会话出现等待你审批、回答或确认计划时,原生的提示只是输入框上方的一张 composer 小卡片,没有声音、没有系统通知、没有任务栏提醒。这会导致你在别的屏幕、别的会话或最小化了窗口时,一个等待审批的操作挂很久才被发现。
dsh-approval-alert 插件监听客户端会话状态里的”待处理交互”(pendingInteraction),把提示提升为全窗口浮层 + 声音(系统通知可选),并在窗口不可见时周期性重复提醒。
插件介绍¶
dsh-approval-alert 是为 DeepSeek Harness(DSH)提供全局待办提醒的客户端插件。当某个会话出现等待你审批/回答/确认计划时,在窗口顶部弹出醒目卡片并播放提示音。系统通知默认关闭,可在卡片上一键开启。
插件不修改 DSH 本体(app.asar),是一个标准的 profile 插件包,DSH 升级后仍然存在。它依赖的都是客户端公开扩展面,没有引用任何内部模块。
核心功能¶
触发条件¶
插件监听 pendingInteraction.kind,根据不同类型弹出不同文案的卡片:
kind |
场景 | 卡片/通知文案 |
|---|---|---|
approval |
工具请求越权执行(工作区外写入、沙箱升权等) | 「有操作等待你审批」+ 工具名 |
question |
ask_user_question 等待回答 |
「DSH 在等待你的回答」 |
plan-review |
计划模式等待确认 | 「计划等待你确认」 |
同一个请求只提醒一次;请求被回答或取消后,卡片与通知自动消失。
交互方式¶
- 前往会话:切换到该请求所属会话,并把浮层收起 2 分钟;到期仍未处理会重新弹出并再次提醒。
- 稍后提醒:浮层收起 2 分钟,到期后重新弹出并提醒。
- 🔔 / 通知:即时开关提示音 / 系统通知(系统通知默认关),偏好写入
localStorage。 - 窗口最小化或切到别的虚拟桌面(
document.hidden)时,若请求仍在等待,每 60 秒重响一次,最多 15 次。
系统通知¶
本插件默认只弹顶部卡片 + 响提示音,不弹系统通知。需要时可在卡片上点「通知开」临时开启(偏好存 localStorage),或在代码里把 notify 改成 true。开启后通过渲染进程标准的 Notification API 弹出(Electron 桌面端显示为 Windows toast),点击通知会尝试聚焦窗口并直接打开对应会话。
安装与启用¶
前置条件¶
- DSH 桌面端(或带 Web UI 的 profile 部署),已至少启动过一次,存在
~/.dsh/profiles/<profile>/(桌面端默认desktop)。 - 桌面端安装插件后需要完全退出再启动:desktop profile 的 patch 不做 live 热更新。
方式一:插件管理器(推荐)¶
- 打开 设置 → 插件 → 安装;
- 输入本目录的绝对路径(例如
D:\...\dsh-approval-alert); - 结果提示
restart-required属正常,完全退出 DSH(含托盘图标)再启动。
插件管理器会自己写 profile 的 package.json / cordis.patch.yml,并把包登记为受管理的 bundle(会出现在插件栏/插件列表里,可停用、卸载、升级)。
方式二:本地脚本¶
把本项目推到 GitHub 后,其他电脑只需要:
- 打开 设置 → 插件 → 安装;
- 粘贴仓库地址,例如
https://github.com/greatZhaoFD/dsh-approval-alert; - 按提示完全退出并重启 DSH。
本地脚本安装方式(适合没有 UI 的场景):
pwsh -File scripts\install.ps1
脚本会复制本目录到 %USERPROFILE%\.dsh\profiles\<profile>\node_modules\dsh-approval-alert,备份 profile 的 cordis.patch.yml,并在补丁末尾追加一段带标记的挂载块(卸载脚本按标记精确移除):
# >>> dsh-approval-alert (managed by scripts/install.ps1)
- insert:
- id: approval-alert
name: 'dsh-approval-alert'
# <<< dsh-approval-alert
两种方式任选其一,不要同时使用(会重复挂载,导致弹两张卡、响两次)。
典型用法¶
安装后,让 DSH 触发一次审批(例如让 agent 在工作区外写文件),即可在窗口顶部看到提示卡片和听到提示音。卡片上包含「前往会话」「稍后提醒」按钮,以及「通知开」开关。
若窗口最小化或切到别的虚拟桌面,提示音会每 60 秒重响一次,最多 15 次。
适用场景与注意¶
插件适合需要频繁处理审批/提问/计划确认的开发者,尤其是使用多屏幕、多会话或经常最小化窗口的场景。
插件以当前 DSH 进程权限运行,安装前应检查源码与许可证。
短结尾¶
dsh-approval-alert 通过全窗口浮层 + 提示音解决了 DSH 原生审批提示容易被遗漏的问题,是提升 agent 协作效率的实用工具。
- 插件目录页:https://www.skillhub.cn/plugins/greatZhaoFD/dsh-approval-alert
- GitHub:https://github.com/greatZhaoFD/dsh-approval-alert