前言¶
在 DeepSeek Harness(DSH)里跑智能体时,模型有时会停在审批或提问上等你点允许、填答案。窗口在前台时,审批卡片会出现在对应会话里;你若切到别的应用或把 DSH 放到后台,宿主本身不会为这类事件再推一条系统通知,任务可能长时间无人处理。
社区插件 dsh-approval-alert(维护者 yl216,分类:客户端)针对的是「你知道它在等,但不一定听得见、看得见」:用提示音、应用内右下角浮层、任务栏角标,并在窗口不在前台时补 Windows 系统通知;点「去处理」或点通知会尽量直接切到发起审批或提问的会话。下文按安装、日常使用与排查说明,事实以 GitHub 仓库 README 为准。
这是什么¶
dsh-approval-alert 是 DSH 的客户端侧提醒插件,当前包版本为 0.3.0(MIT 许可证)。它不绘制带「允许一次 / 拒绝」的审批卡片(那部分由 DSH 自带的 @deepseek-ai/dsh-client-ui-approval 负责),只负责:声音、右下角浮层、任务栏数字角标、后台时的系统通知,以及跳转到对应会话。
插件目录页:skillhub.cn/plugins/yl216/dsh-approval-alert。DSH 生态强调「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。
核心功能¶
审批、提问或计划评审出现时,行为随窗口是否在前台区分(README 中的对照表):
| 场景 | 效果 |
|---|---|
| 窗口在前台 | 提示音 + 应用内右下角浮层(含「去处理」);任务栏图标带数字角标 |
| 窗口在后台 | 在上述基础上增加 Windows 系统通知;点击通知等同「去处理」,切到对应会话并把窗口提到前台 |
| 同一请求长时间未处理 | 按设置中的次数与间隔重复提醒 |
补充说明(均来自 README):
- 三类事件各有开关:审批、提问 / 计划评审、任务完成(任务完成默认关闭,避免子智能体结束轮次时过于嘈杂)。
- 声音:8 种内置音效(Web Audio 现场合成)+ 可导入 wav / mp3 / ogg(≤1.5MB),存于本机浏览器存储;可按事件分别选音效、调音量。
- 重复提醒:次数 1–5,间隔 3–120 秒。
- 提醒方式:右下角浮层(默认开);「窗口在后台时弹系统通知」(默认开,关掉后仍保留声音与浮层逻辑,后台不再 toast)。
- 浏览器侧订阅
uiSession.sessionStatus,根据pendingInteraction等状态触发提醒,不参与approval/request责任链,避免提醒逻辑影响审批能否被回答。
安装与启用¶
安装使用仓库自带的 PowerShell 脚本(不要用名称自行拼接 dsh plugin add 类命令):
powershell -ExecutionPolicy Bypass -File scripts\install.ps1
脚本会幂等地:在 %USERPROFILE%\.dsh\profiles\desktop\package.json 的 dependencies 中加入 "dsh-approval-alert": "link:<本目录>";把包名追加进 dsh.profile.bundles;在 profile 的 node_modules 下建立指向本目录的目录联接。可选参数:装进 web profile 用 -Profile web;在 DSH 完全退出后用 -UsePnpm 走官方 pnpm 流程。
安装后须 完全退出并重新启动 DeepSeek Harness(仅刷新网页不够:浏览器 bundle 在启动时进入加载图)。
卸载:
powershell -ExecutionPolicy Bypass -File scripts\uninstall.ps1
卸载会撤回上述接线,并在同目录留下 package.json.bak 备份。
插件以当前 DSH 进程与 profile 权限运行;安装前请自行查看源码与 MIT 许可证,确认符合你的环境策略。
典型用法¶
启动 DSH 后,提醒会在需要时出现,界面无常驻悬浮按钮。
- 右下角浮层:有待处理审批等时贴在窗口最右下角;「去处理」跳转该会话,「设置」打开插件设置,「关闭」收起本次浮层。
- 系统通知:仅在窗口不在前台时弹出;点击行为与「去处理」一致。
- 设置入口:设置 → 插件 → dsh-approval-alert,与浮层内「设置」相同。
设置项包括:总开关;审批 / 提问与计划评审各自的开关、提示音、音量、重复次数与间隔;任务完成提醒;浮层与后台系统通知开关;自定义音效管理。
自检不必等真实审批:
- 设置页 「立即测试」 可演示一次审批提醒(声音 + 浮层)。
- 开发者工具控制台:
__dshApprovalAlert.testAlert() // 演示审批提醒
__dshApprovalAlert.testAlert('question')
__dshApprovalAlert.describe() // 焦点 / 通知权限 / 音频解锁等
__dshApprovalAlert.getSnapshot() // 完整状态
适用场景与注意¶
适合谁:长时间让 DSH 在后台跑任务、又需要及时响应审批或提问的开发者;希望用系统通知补位「窗口不在前台」场景的用户。
使用注意(README 已知边界):
- 必须重启 DSH 后新 bundle 才生效。
- 系统通知只在窗口不在前台时发送;若审批出现时你在看屏幕、重复次数为 1,之后切到后台可能不会补发通知;可将重复次数调到 2 以上以便后台再次提醒。
- 浏览器需用户手势后才会播放声音;在 DSH 内点击或按键即可解锁,设置页「运行状态」可查看音频是否就绪。
- 系统通知需在 Windows「设置 → 系统 → 通知」中允许 DeepSeek Harness;权限被拒时降级为提示音 + 浮层 + 任务栏角标。
- 「去处理」依赖宿主提供
uiWorkspace.openSession()或sessions.open();皆不可用时仅把窗口提到前台。 - 若完全无反应,可用 README 中的
test\verify-host.mjs(通过DeepSeek Harness.exe以 Node 模式运行)检查 profile bundle 与客户端 bundle 是否接好。
小结¶
dsh-approval-alert 把 DSH 等待审批或提问的状态变成可配置的提示音、应用内浮层与(后台时)系统通知,并尽量一键回到对应会话。需要安装脚本、重启与 Windows 通知权限配合使用。
- 目录页:https://www.skillhub.cn/plugins/yl216/dsh-approval-alert
- 源码与完整说明:https://github.com/yl216/dsh-approval-alert