npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

dsh-win-approval-notify

v0.1.2

Published

DeepSeek Harness desktop plugin: Windows toast notifications for approval requests, questions, plan review and turn ends, with an in-app settings page.

Readme

dsh-win-approval-notify

DeepSeek Harness(DSH)桌面版插件:在需要你授权、等你回答/审阅、一轮任务结束时发送 Windows 原生 Toast 通知,通知里带完整原因;所有开关在 DSH 的 插件 页里图形化配置,保存即生效,无需重启。

  • 通知通道:Windows PowerShell 5.1 的 WinRT Toast,来源显示 DeepSeek Harness(AUMID com.deepseek.dsh),进 Windows 通知中心。
  • 通知里的「会话」显示会话标题(没有标题时用工作区目录名),不显示 session id。
  • 只读监听会话事件,不注册 approval/request / user-questions/request waterfall,不参与审批和作答。
  • 任何一个场景都能单独关闭;审批类还能按工具名白名单过滤。
  • 后台任务(子代理,比如 dsh-mnemon 的记忆整理)默认不提醒,需要的话可以在设置页打开。

环境要求

  • Windows 10/11,且存在 C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe(WinRT Toast 投影只在 PowerShell 5.1 里可用)。
  • DSH 桌面版,profile desktop,运行时 0.2.x(在 0.2.1-rc.3 上开发)。
  • Windows 设置 → 系统 → 通知 里允许 “DeepSeek Harness”,并关闭专注助手/勿扰(Win11 的“全屏时自动开启请勿打扰”也建议取消)。

安装

方式一:在 DSH 里直接添加(推荐)

  1. 打开 DeepSeek Harness,点侧栏的 插件。
  2. 点 添加插件。
  3. 在输入框里填包名 dsh-win-approval-notify(要固定版本就写 [email protected]),点 安装。
  4. 装完完全退出并重启 DeepSeek Harness。

如果默认安装源(国内镜像)还搜不到这个包,把安装源切到 npm 官方源再装一次。

方式二:命令行安装

在普通 PowerShell(不是 DSH 内部的沙箱终端)里执行:

& "<DSH 安装目录>\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop add dsh-win-approval-notify

方式三:本地开发用 link

指向 clone 下来的目录:

& "<DSH 安装目录>\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop add "link:E:/codeDir/ds_tools/dsh-approval-notify"

然后完全退出并重启 DeepSeek Harness(会话记录不丢)。dsh plugin add 会把依赖装进 profile,并把这个包加入 dsh.profile.bundles。

本地 link 安装时,依赖(@deepseek-ai/schemastery、@deepseek-ai/cosmokit)需要在本目录先 pnpm install;从 npm 安装时会自动带上。

验证是否加载:侧栏 插件 → 已安装 → dsh-win-approval-notify → 行 approval-notify,行详情里应出现 配置 按钮。

配置

插件 → dsh-win-approval-notify → 行 approval-notify → 配置。页面分四组:

| 分组 | 内容 | | --- | --- | | 通知哪些情况 | 审批(+ 工具白名单)、提问、计划审阅、任务完成/出错/被拦截/被中断/达到上限(8 个独立开关) | | 触发与节奏 | 后台任务开关、同会话冷却、延迟合并、并发通知上限 | | 通知外观 | 停留时长、静音、标题前缀、AUMID、是否带完整原因/题目文本 | | 诊断 | 按场景发送测试通知、最近结果、日志路径、调试日志 |

页面只在你点 保存 时写入;写入落到当前 profile 的 Cordis patch,并通过 volatile 配置引用立即生效(无需重启)。恢复默认 只重置草稿,仍需点保存。

配置默认值同时写在 cordis.patch.yml 里,即使没有打开过设置页也能工作。

自测

  1. 打开设置页 → 诊断 → 选择场景 → 发送测试通知:应弹出对应样式的通知,页面显示成功/失败原因。
  2. 真实场景:让 agent 执行一次需要升级权限的操作(例如写工作区外的文件)→ 审批面板出现约 0.5 秒后收到通知。
  3. 也可以不用 DSH,直接验证通道(普通 PowerShell):
$ps = "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell.exe"
$task = Join-Path $env:TEMP "dsh-toast-test.json"
'{"title":"测试","body":"通道正常","appId":"com.deepseek.dsh","duration":"long","silent":false}' | Set-Content $task -Encoding UTF8
& $ps -NoProfile -ExecutionPolicy Bypass `
  -File "$env:USERPROFILE\.dsh\profiles\desktop\node_modules\dsh-win-approval-notify\lib\toast.ps1" `
  -TaskFile $task

注意:在 DSH 的沙箱终端里跑 PowerShell 时进程是 Low integrity,WinRT Toast 会被系统拒绝(0x80073D54)。通道自测请在普通 PowerShell 窗口里做。

排查

  • 完全没通知:确认设置页总开关和对应场景开关都开着;Windows 通知总开关、专注助手;应用是否已重启(安装后第一次必须重启)。
  • 通知中心里有、但没有横幅弹出来:Windows 设置 → 系统 → 通知 → 找到「DeepSeek Harness」→ 把「显示通知横幅」关一下再打开。这一步会重新把应用的横幅开关写进系统,实测能修好「通知进了中心但不弹横幅」。
  • 日志:%TEMP%\dsh-win-approval-notify\notify.log,记录投递/跳过/失败;Toast 自身失败时 %TEMP%\dsh-win-approval-notify\toast-error.log 记录 HRESULT;%TEMP%\dsh-win-approval-notify\diag.log 记录系统对这个应用返回的通知状态(Enabled / 空),排查横幅问题用。
  • Toast 被拒:日志出现 toast rejected,插件会尝试弹一个原生置顶卡片兜底;多为 AUMID 未注册或系统通知被关,可在设置页把 AUMID 留空(用默认)或检查 Windows 通知设置。
  • 后台任务也在提醒:设置页 → 触发与节奏 → 打开「后台任务不提醒」(默认已开)。子代理和 dsh-mnemon 的记忆整理都属于这类。
  • 配置页没出现:确认 profile 已重启、行 approval-notify 处于启用状态;旧版 DSH 没有 plugins.row.config slot,此时只能改 cordis.patch.yml(功能不受影响)。

卸载

& "E:\azml\deepseek\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop remove dsh-win-approval-notify

然后重启应用。插件是独立的 bundle 行,删除不影响其它插件;设置页写入的覆盖值会随行一起失效。

安全

  • 不发起网络请求,不读凭据;除 %TEMP%\dsh-win-approval-notify\ 下的任务单/日志外不写文件。
  • 通知文案只经 UTF-8 JSON 任务单传给 PowerShell,从不拼进命令行。
  • 日志只记录事件类型、会话短 id、工具名和结果,不记录原因/题目全文。
  • 诊断路由只接受 loopback 请求,只回传非敏感状态。

许可

MIT