前言¶
在 DeepSeek Harness(DSH)里跑命令时,沙箱拒绝或需要更高权限时,宿主会在会话输入框上方弹出审批面板。如果你当时在看别的会话、Edge 被最小化,或窗口不在前台,这条审批很容易被漏掉,命令会一直挂着。
下面介绍社区插件 dsh-approval-reminder(维护者 In-clude):在 DSH Web 界面中,每当有待处理的审批请求时,通过 Microsoft Edge 与 Windows 系统通知提醒你;它不参与审批决策,只读浏览器端的会话状态快照。
这是什么¶
dsh-approval-reminder 是面向 DSH Web + Windows 上的 Microsoft Edge 的纯 JavaScript 插件,无依赖、无构建步骤。当前版本为 0.2.0(见仓库 package.json),许可证 MIT。
宿主侧 index.js 为空壳(apply() {}),不注册 Service、Tool 或 Config;核心逻辑在浏览器 bundle client.js 中,通过订阅 uiSession.sessionStatus 筛出 pendingInteraction.kind === 'approval' 的会话,从不拦截 approval/request,因此不会改变任何审批结果。
核心功能¶
何时发通知¶
插件在每个待审批请求出现时尝试发一条系统通知,规则如下:
- 页面可见且处于前台(
document.visibilityState === 'visible'且document.hasFocus())时不发——审批面板已在屏幕上。 - 页面切到后台、最小化或失去焦点后才提醒;同一请求只提醒一次。
- 回到页面后,已弹出的通知会自动关闭。
通知内容与交互¶
- 标题:
需要审批 - 正文:请求方给出的原因(或类似「工具
pwsh请求以更高权限执行」的默认文案)+ 所属会话名 - 点击通知:调用
uiWorkspace.openSession(sessionId)并window.focus(),切回对应会话并把 Edge 带到前台 - 审批被回答、取消或撤回后:对应通知自动关闭
- 同一会话的连续请求会替换旧通知(
tag按会话去重),不会堆满通知中心
设置入口¶
安装后可在 设置 → 通用 → 审批桌面通知 中开启权限,并使用 发送测试通知 在不触发真实审批的情况下验证通道。
安装与启用¶
前提:Windows 设置 → 系统 → 通知 中允许 Microsoft Edge;勿处于专注助手/勿扰模式;DSH Web 标签页保持打开(可最小化,关闭标签页则不再通知)。
在已安装 DSH 的机器上任选一种方式:
# 从 GitHub 安装(pnpm 的 GitHub 简写)
dsh plugin --profile web add In-clude/dsh-approval-reminder
# 或从本地目录安装(开发时)
dsh plugin --profile web add "D:\path\to\dsh-approval-reminder"
也可在 DSH Web 的 设置 → 插件 页安装、启用、禁用或卸载。安装后无需重启 DSH;浏览器端刷新页面即可生效。
卸载示例:
dsh plugin --profile web remove dsh-approval-reminder
典型用法¶
首次授权通知¶
浏览器只允许用户手势触发通知授权,可任选其一:
- 页面加载后第一次点击或按键时,插件会请求一次通知权限(每次页面加载最多一次);
- 打开 设置 → 通用 → 审批桌面通知,点「开启」。
若曾点过「阻止」,请在 Edge 地址栏左侧站点图标里将通知改回允许,然后刷新页面。
验证是否生效¶
- 在设置页用 发送测试通知 确认通道可用。
- 触发一条真实审批:当你正看着对话页时不应弹通知;切到别的窗口或最小化 Edge 后应弹出;回到页面后通知应自动关闭。
- 点击通知应回到对应会话;在面板里允许或拒绝后,该条通知应消失。
README 记载在 Windows + Edge(DSH Web 127.0.0.1)上已按上述行为实测通过(0.2.0 的提醒时机逻辑)。
适用场景与注意¶
适合谁:主要在 Windows 上用 Edge 打开 DSH Web、且经常在多窗口/多任务间切换的开发者;希望审批挂起时能在桌面侧收到提醒,而不是一直盯着同一标签页。
局限(来自 README):
- 仅对浏览器会话生效;headless / API 会话没有通知。
- Chromium(Edge)在 Windows 上不支持通知上的「允许/拒绝」按钮,需点通知回到会话内作答。
- 通知能否弹出取决于 Windows 通知设置与专注助手,插件无法覆盖。
- 多个标签页同时打开时,各页面各自通知本页收到的请求。
- 页面关闭后不再提醒(未使用 Service Worker / Push)。
- 未覆盖:macOS / Linux 桌面通知、多标签页竞态等场景的完整验证。
安全与权限:插件作为当前 DSH profile 的 web 插件条目加载,在浏览器上下文中运行;安装前建议查看 GitHub 仓库 源码与 MIT 许可证。它不修改审批链路,只观察客户端状态。
DSH 生态强调「一切皆插件」;插件目录站点 SkillHub 上的条目 与 DeepSeek / 幻方无官方从属关系,安装来源以你信任的仓库与命令为准。
结尾¶
dsh-approval-reminder 解决的是「审批面板在页面上,但人不在页面前」的提醒问题:后台挂起时弹 Windows/Edge 通知,回前台自动收通知,点击回到会话。需要时可从目录页或 GitHub 获取说明与安装命令。
- 目录页:https://www.skillhub.cn/plugins/In-clude/dsh-approval-reminder
- GitHub:https://github.com/In-clude/dsh-approval-reminder