任务完成或助手提问时弹窗提醒,点一下回到对话
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/lixiangdong122333/dsh-notify.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 11 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 12 处,展示前 12 条)
- 执行外部命令来自配置/变量index.js:173
child = spawn(command, args, { windowsHide: true, stdio: ['ignore', 'pipe', 'pipe'] }); - 读取本地文件index.js:609
if (!existsSync(dir)) continue; - 读取本地文件index.js:612
entries = readdirSync(dir); - 发起网络请求client.js:381
fetch('/dsh-notify/config', { cache: 'no-store', headers: GATE_HEADERS }) - 发起网络请求client.js:436
fetch('/dsh-notify/config', { - 发起网络请求client.js:457
fetch('/dsh-notify/config', { cache: 'no-store', headers: GATE_HEADERS }) - 发起网络请求client.js:607
const response = await fetch('/dsh-notify/test', { method: 'POST', cache: 'no-store', headers: GATE_HEADERS }); - 读取本地文件settings-store.js:74
text = readFileSync(path, 'utf8'); - 读取本地文件settings-store.js:121
text = readFileSync(path, 'utf8'); - 写入本地文件settings-store.js:139
writeFileSync(path, `${prefix}${added.join('\n')}`, 'utf8'); - 写入本地文件settings-store.js:169
writeFileSync(path, lines.join('\n'), 'utf8'); - 读取本地文件test-client.mjs:13
const source = readFileSync(join(here, 'client.js'), 'utf8');
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DeepSeek-Harness 的 Windows 弹窗通知:任务完成或智能体需要你时,把你拉回来。
README
由 DeepSeek 最新模型翻译生成dsh-notify
给 DeepSeek-Harness(下称 DSH)用的 Windows 桌面通知插件。
把任务交给 DSH,然后去忙别的事。只有当真的需要你时才把你拉回来:任务完成了,或者助手正等着你回答,都会弹一个通知。点一下通知就回到 DSH。
仅支持 Windows。其他平台上插件会正常加载,但不做任何事。
它做什么
| 什么时候 | 通知长什么样 |
| 任务正常完成 | DSH · 任务完成,正文是助手的最后一段回答 |
| 任务出错,或达到 token 上限 | DSH · 任务已结束 |
| 助手向你提问,6 秒内没人回答 | DSH · 需要你确认,正文是那个问题 |
点通知本身,或者点上面的 打开 DeepSeek-Harness 按钮,DSH 就会来到前台。窗口最小化了会还原,已经收到托盘里会重新打开。这用的是桌面端本来就注册好的 dsh://notify 协议。
你已经在看 DSH 的时候不会打扰:页面会从浏览器那边报告自己的标签页是不是前台可见窗口,是的话就不弹。计划审核有它自己的确认界面,默认也不通知。
以上全部都能调,入口在 设置 → 通知(设置面板里和「通用设置」「模型」并列的一级页面),或者 设置 → 内置插件 里本插件那一行。
展开完整文档(README 剩余 1 节)
dsh-notify 给 DeepSeek-Harness(下称 DSH)用的 Windows 桌面通知插件。 把任务交给 DSH,然后去忙别的事。只有当真的需要你时才把你拉回来:任务完成了,或者助手正等着你回答,都会弹一个通知。点一下通知就回到 DSH。 仅支持 Windows。其他平台上插件会正常加载,但不做任何事。 它做什么 | 什么时候 | 通知长什么样 | | 任务正常完成 | DSH · 任务完成,正文是助手的最后一段回答 | | 任务出错,或达到 token 上限 | DSH · 任务已结束 | | 助手向你提问,6 秒内没人回答 | DSH · 需要你确认,正文是那个问题 | 点通知本身,或者点上面的 打开 DeepSeek-Harness 按钮,DSH 就会来到前台。窗口最小化了会还原,已经收到托盘里会重新打开。这用的是桌面端本来就注册好的 dsh://notify 协议。 你已经在看 DSH 的时候不会打扰:页面会从浏览器那边报告自己的标签页是不是前台可见窗口,是的话就不弹。计划审核有它自己的确认界面,默认也不通知。 以上全部都能调,入口在 设置 → 通知(设置面板里和「通用设置」「模型」并列的一级页面),或者 设置 → 内置插件 里本插件那一行。 安装 已发布到 npm,插件中心用的就是它: dsh plugin --profile web add @cmwl1231/dsh-notify 桌面版把 profile 换成 desktop: dsh plugin --profile desktop add @cmwl1231/dsh-notify 也可以直接从仓库装,不经过 npm: dsh plugin --profile web add github:lixiangdong122333/dsh-notify 装之前先退出 DSH,装完再打开。 新加的插件只在启动时读取,运行中不会热加载。 配置 打开 设置 → 通知,或者 设置 → 内置插件 → 本插件,两处是同一张表单。它改的是你 profile 里 cordis.patch.yml 的 dsh-notify 那一行,每次改动立即生效,底部还有一个 发送测试通知 按钮,用来确认整条链路是通的。 直接手改那一行效果一样,两者写的是同一份数据。所有键都可以不写,下面是没做任何覆盖时的默认值: - id: dsh-notify config: onTurnEnd: true # 任务结束时通知 notifyEndKinds: # 哪些结束情况值得弹通知 - completed - error - max-tokens minTurnMs: 0 # 短于这个时长的任务不通知(毫秒) notifyQuestions: true # 助手提问无人回答时通知 questionDelayMs: 6000 # 提问后等多久再弹(毫秒) notifyPlanReviews: false # 计划审核也通知 skipWhenFocused: true # 我正在看 DSH 时不打扰 skipWhenOthersRunning: true # 其他会话还在跑时先不打扰 bodySource: answer # answer | prompt | none bodyLength: 150 # 正文取多少字 sound: default # default | silent | important titleCompleted: "DSH · 任务完成" titleEnded: "DSH · 任务已结束" titleQuestion: "DSH · 需要你确认" notifyEndKinds 可选的四个值是 completed(正常完成)、error(出错)、max-tokens(达到 token 上限)、aborted(我手动停止),默认配置只开前三个。另外,forked(会话分叉)和 interrupted(会话中断)属于应用内部的交接,不是一个任务结束,所以不作为可选的结束类型。sound: important 意味着只有「需要你确认」那条会响。 实现方式 插件本身是一个 Cordis 插件:导出 apply(ctx),在宿主上下文上注册监听器。 任务结束 — DSH 会把 turn/end 事件写进每个会话的日志。插件跟着这条流走,在任务结束时弹通知,同时跳过子代理会话和你自己手动取消的那一次。 提问 — user-questions/request 到达插件的时机比网页端应答器更早。插件先把请求扣住;如果过了 questionDelayMs 还是没人回答,就弹通知然后让位,由正常的应答器接管。插件从不替你回答,也不会干扰屏幕上那张提问卡片。 焦点判断 — 宿主提供的一个小脚本把标签页的可见性和焦点状态报回宿主。要判断「用户现在能不能看到这个」,这是唯一可靠的信号。 投递 — notify.ps1 通过 WinRT 以应用自己的开始菜单快捷方式发出通知。Windows 解析通知里显示的应用名,读的是 AppUserModelId 注册表项,而不是通知 XML 里写的内容,所以脚本每次发送前会先把那项写好。没有这一步,通知标题栏会退化成显示快捷方式的原始路径。 环境要求 * Windows 10 或 11 * Windows PowerShell 5.1(所有受支持的 Windows 都自带) * DeepSeek-Harness,并且有应用的开始菜单快捷方式 开发 插件逻辑和设置读写,跑在假上下文上,不需要装 DSH node test-plugin.mjs 设置页的槽位注册(用假的模块加载器和 React) node test-client.mjs 通知载荷与编码检查(Windows,会真的发一条通知) powershell -ExecutionPolicy Bypass -File test-toast.ps1 notify.ps1 必须保留 UTF-8 BOM。Windows PowerShell 5.1 读 .ps1 时,如果没有 BOM 就按系统代码页解析,而按钮文字是中文,没有 BOM 就会变成乱码。测试里有专门一项守着这个。 发布 推送 v 标签会把那个版本暂存到 npm,普通推送只跑测试。 npm version 1.2.0 --no-git-tag-version git commit -am "Release 1.2.0" # 只用 -am 会漏掉新文件,有新增文件时改成 git add -A git tag v1.2.0 git push origin main --tags CI 会核对标签和 package.json 里的版本是否一致、这个版本是否已经发布过,然后暂存。在维护者批准之前,这个版本装不了。 批准方式是在 <https://www.npmjs.com/package/@cmwl1231/dsh-notify> 的 Staged versions* 里输 2FA 码。 许可 MIT English: README.md
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
lixiangdong122333/dsh-notify
任务完成或助手提问时弹窗提醒,点一下回到对话
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,350已汉化DSH
71.5
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,506已汉化DSH
71.1
AI 矢量设计工具ZSeven-W/openpencil
全球首个 AI 原生开源矢量设计工具。
★ 7,027已汉化DSH
71.1
这是你的仓库?认领条目