审批、提问与任务完成时弹出置顶对话框,不点掉不消失
29.5/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/26 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add yiumanlenong/dsh-popup-notify该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · ads
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 13 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件
查看扫描证据(共 2 处,展示前 2 条)
- 执行外部命令固定命令lib/index.mjs:150
const child = spawn( - 写入本地文件lib/index.mjs:244
appendFileSync(config.traceFile, `${new Date().toISOString()} ${message}\n`)
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DeepSeek Harness 的桌面模态弹窗:审批、提问与计划评审、回合完成提示。零依赖。
README
由 DeepSeek 最新模型翻译生成dsh-popup-notify
DeepSeek Harness 的桌面弹窗提醒。三种需要你回到窗口的时刻,各弹一个置顶对话框,不点掉就不会消失——不是几秒后自动淡出的 toast。
- 需要权限 —— 工具请求审批。
- 需要选择 —— 模型向你提问,或提交计划等你审阅。
- 任务完成 —— 根 agent 从 running 落到 idle。
零 npm 依赖。没有预编译二进制、没有构建步骤、没有安装脚本:340 行纯 ESM 驱动 PowerShell。仅支持 Windows。
要求 DeepSeek Harness 0.2.1-rc.2 或更新版本。
安装
dsh plugin --profile web add dsh-popup-notify
然后重启,或等 profile 的 patch 层热重载。该 bundle 会插入一行:
- insert:
- id: popup-notify
name: 'dsh-popup-notify'
卸载:dsh plugin --profile web remove dsh-popup-notify。
插件页的卡片信息来自这个包导出的资源:./locale/en.json 与 ./locale/zh.json 提供 meta.title 与 meta.description,./icon 提供图标。
展开完整文档(README 剩余 1 节)
dsh-popup-notify
DeepSeek Harness 的桌面弹窗提醒。三种需要你回到窗口的时刻,各弹一个置顶对话框,不点掉就不会消失——不是几秒后自动淡出的 toast。
- 需要权限 —— 工具请求审批。
- 需要选择 —— 模型向你提问,或提交计划等你审阅。
- 任务完成 —— 根 agent 从 running 落到 idle。
零 npm 依赖。没有预编译二进制、没有构建步骤、没有安装脚本:340 行纯 ESM 驱动 PowerShell。仅支持 Windows。
要求 DeepSeek Harness 0.2.1-rc.2 或更新版本。
安装
dsh plugin --profile web add dsh-popup-notify
然后重启,或等 profile 的 patch 层热重载。该 bundle 会插入一行:
- insert:
- id: popup-notify
name: 'dsh-popup-notify'
卸载:dsh plugin --profile web remove dsh-popup-notify。
插件页的卡片信息来自这个包导出的资源:./locale/en.json 与 ./locale/zh.json 提供 meta.title 与 meta.description,./icon 提供图标。DSH 通过 Node 的模块解析读取这些路径,不会加载插件代码;所以只导出 . 的 manifest 在插件页上只会显示包名,没有描述,图标也是默认图形。
为什么用模态框而不是 toast
Windows toast 会自己消失,并堆在通知中心里,很容易错过。当一次运行正卡在等你这一步时,一个不点掉就不走的对话框才是这个状态该有的表现。
对话框跑在独立进程,因此从不阻塞 agent 循环。同一时刻只显示一个——后续提醒排队,你关掉当前这个就弹下一个。
配置
在 profile 的 cordis.patch.yml 里覆盖该行的 config。patch 会替换整个 config 值,所以要把想保留的键一起写出来。
- id: popup-notify
config:
notifyOnComplete: false
sound: false
行为开关
| 键 | 默认值 | 含义 |
| notifyOnApproval | true | 工具请求审批时弹窗。 |
| notifyOnQuestion | true | ask_user_question 或 exit_plan_mode 执行时弹窗。 |
| notifyOnComplete | true | 根 agent 结束一次运行时弹窗。 |
| ignoreSubagents | true | 静音子 agent、workflow worker、AgentTeams 成员。 |
| sound | true | 弹窗时播放系统提示音。 |
| completeCooldownMs | 10000 | 同一会话两次完成弹窗的最小间隔。 |
| plainDialog | false | 去掉置顶 owner 窗体。若对话框出现在奇怪位置可启用,代价是可能被其他窗口盖住。 |
| testOnStart | false | 挂载时弹一次,确认 PowerShell 通路可用。 |
| traceFile | '' | 每次事件与每次弹窗追加一行诊断。留空关闭。 |
文案模板
每条文案都是模板,{placeholder} 由事件填入;未知占位符原样保留。
| 键 | 默认值 |
| title | DeepSeek Harness |
| approvalMessage | 工具 {tool} 需要你的权限确认 |
| approvalReasonSuffix | \n\n理由:{reason} |
| questionMessage | 需要你的回答:{question} |
| questionCountSuffix | \n\n(共 {count} 个问题,请在对话里逐个回答) |
| planReviewMessage | 有一份计划等你审阅:批准,或继续规划。 |
| completeMessage | Agent 响应已结束,可以查看结果了。 |
| completeReasonSuffix | \n\n(结束原因:{reason}) |
| projectSuffix | \n\n项目:{project} |
{reason} 是轮次结束原因——正常完成时不出现,否则为 aborted、error、max-tokens 等。{project} 是会话工作目录的目录名。把 projectSuffix 设为 '' 可去掉来源行,把 completeReasonSuffix 设为 '' 可不再说明异常结束。
挂载在哪
| 扩展点 | 模式 | 用途 |
| approval/request | waterfall | 弹窗,然后 next() 交给已配置的 answerer 决策。 |
| tools/pre-execute | waterfall | 匹配 ask_user_question 与 exit_plan_mode,弹窗,然后 next() 让工具执行。 |
| agent/status | emit | 根 agent 的 running → idle 边沿弹窗。 |
DSH 没有提问事件:ctx.userQuestions.ask() 是服务调用,待答问题以 mux 帧发给浏览器,宿主插件看不到。在 tools/pre-execute 匹配两个提问工具,是你回答之前就会触发的可观测点,也正是提醒该响的时刻。
两个 waterfall 都调用 next()。不调用的监听器会短路整条链,审批会被解析成 unavailable,提问工具根本不会执行。
已知限制
- 仅支持 Windows。 其他平台每条提醒记一条警告后跳过。
- 不是所有审批都会弹。 审批策略为 never 时,服务在分发 approval/request 之前就返回 rejected,没有任何可观测点。会话审批只在 ask 策略下存在。
- 对话框不能点进对话。 它只报告状态,回答仍在 DSH 窗口里进行。
- 只识别两个提问工具。 将来若有同样阻塞等人回答的交互工具,需要把名字加进匹配表。
- 同一时刻只有一个对话框。 长时间离开会让你面前这个后面排起若干条。
- plainDialog: true 失去置顶。 无 owner 的 MessageBox 可能出现在其他窗口之后。
开发
npm test # 22 项单测,不弹任何窗口
node tests/smoke-dialog.mjs # 打开并关闭一个真实对话框
单测注入假的 spawnDialog,因此从不接触屏幕。smoke-dialog.mjs 是唯一会打开真实窗口的文件。
许可证
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
yiumanlenong/dsh-popup-notify
审批、提问与任务完成时弹出置顶对话框,不点掉不消失
相关插件 · 营销 / 广告
复古广告弹窗Nagi-ovo/dsh-ads
把 DSH 变成 2005 年门户网站|Parody ads, fake games, and popups for…
★ 679已汉化DSH
67.4
精酿竖版宣传片Finderchangchang/brewreel
精酿 BrewReel:让 DeepSeek 这类便宜模型也能做出好看的竖版宣传片。写一份产品简报,AI…
★ 166已汉化DSH
62.6
工作区分组树KannaKuron/dsh-better-workspace
给 DeepSeek Harness DSH 的侧边栏「工作区」列表装上一套两层文件夹系统——磁盘层按目录路径嵌套官方…
★ 31已汉化DSH
48.1
跨窗提醒Aisland-SJL/dsh-reminder
🔔 DeepSeek Harness 跨窗口完成与审批通知——弹窗提醒把你拉回 DSH,Codex/WorkBuddy 风格。
★ 18已汉化DSH
40.4
推理档位自动选择justhalfbit/dsh-plugin-jev-effort-selector
让 Jev System One 模型替你决定每条消息该用多深的推理。
★ 7已汉化DeepSeek 客户端
37.1
模型价格看板vitas/dsh-model-pricing
在选择模型之前比较 LLM API 价格——并在使用之后查看你实际支付了多少。 这是一个
★ 2已汉化DeepSeek 客户端
36.5