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

@shermanono/dsh-notify

v0.2.0

Published

DeepSeek Harness desktop notifications: system notification when the AI finishes a turn or waits for your input (questions / approvals).

Readme

dsh-notify

DeepSeek Harness 桌面提醒插件:AI 回合结束、需要你回答/批准时,右下角弹出系统通知。你切到别的页面、甚至切到别的会话工作时,都不会错过。

DeepSeek Harness desktop notifications: a system notification when the AI finishes a turn or waits for your input (questions / approvals) — so switching to another page or another session never costs you a missed turn.

触发场景(仅三类,每轮至多一条)

| 事件(经 Harness 官方事件流) | 通知 | |---|---| | approval/requested(等待你的批准,如权限请求) | 需要你的批准(立即) | | question/requested(AI 向你提问,如确认框) | AI 在等你回答(立即) | | 会话 running → idle(整个回合结束) | AI 已回复,正文带最终回复前两行预览;纯工具回合/空回复回退为通用提示(宽限期后仅一条) |

回合中段的逐条消息不会触发通知;提问/批准使回合暂停时,也不会再补一条"已回复"。

  • 切走页面 / 失焦 / 正在看别的会话:弹系统通知(Windows 右下角),提示音使用系统通知自带的声音;
  • 正在看该会话的页面:不重复打扰(对话框/回复就在眼前);
  • 页面内右下角 toast 默认关闭,可在设置卡片开启;
  • 切走期间错过提示:最新 3 条会被暂存,回到页面 60 秒内自动补弹右下角 toast(仅当 toast 开启;同时覆盖系统"专注助手/勿扰"在全屏时吞掉系统弹窗的情况)。

截图

右下角系统通知(带回复摘要):

系统通知

设置页开关卡片(设置 → 插件 → 通知):

设置卡片

特性

  • 零依赖:纯 JavaScript,无运行时依赖、无构建依赖(打包脚本只用 Node 内置模块);
  • 零成本:无服务器、无遥测,配置存 localStorage,对话内容不离开浏览器;
  • 事件驱动:复用 Harness 自带的 /api/events.mux 与 /api/events.host 帧流(observation tap),不开新连接、不轮询 DOM;
  • 会话感知:通过 session.prompt / session.history 请求追踪你正在工作的会话——其他会话的审批/提问/完成都会提醒,只有眼前这一个是"安静"的;
  • 失败隔离:订阅器抛错不影响连接层;权限失败全部静默降级。

安装

方式 A:npm 一行安装(推荐,单 profile)

dsh plugin --profile web add @shermanono/dsh-notify

方式 B:全局安装(本机所有 profile 生效)

# 装进共享后备目录,插件行写进机器级补丁层
npm install --prefix "$env:USERPROFILE\.dsh\profiles" @shermanono/dsh-notify

向 $DSH_HOME/cordis.patch.yml(Windows: %USERPROFILE%\.dsh\cordis.patch.yml)添加:

- insert:
    - id: notify
      name: '@shermanono/dsh-notify'

方式 C:克隆源码自装(开发/尝鲜)

git clone https://github.com/lovesiss/dsh-notify.git
cd dsh-notify
npm run install:global   # 自动:链接 + 写补丁行(幂等);卸载用 npm run uninstall:global

配置分层顺序:内置 bundle → 各 profile 的 cordis.patch.yml → 机器级 $DSH_HOME/cordis.patch.yml(应用到所有 profile) → --patch 覆盖。不要编辑同目录的 cordis.yml。

重启并授权

dsh web

打开页面后点击页面任意位置一次——浏览器要求用户手势才能请求系统通知权限,插件会在首次点击时自动请求。权限弹窗选择允许即可。

验证

在浏览器控制台执行:

__dshNotify.test()   // 立即弹一条测试通知

配置

方式一(推荐):设置页开关卡片 —— 打开 DSH 设置 → 插件 → 通知 (dsh-notify) 标签页:总开关 / 系统通知 / 页面内 Toast(默认关),三个即时生效的开关 + 测试按钮。注册在官方 settings.plugins.tab 插槽上,不需要任何主机改动。

方式二:控制台

__dshNotify.setConfig({ toast: true, toastMs: 8000 })

| 键 | 默认 | 说明 | |---|---|---| | enabled | true | 总开关 | | os | true | 系统通知(切走/失焦/看别的会话时弹) | | toast | false | 页面内右下角 toast(默认关) | | cooldownMs | 1500 | 同会话同类通知的冷却(帧风暴只弹一条) | | toastMs | 5000 | toast 停留时长 |

配置即写即生效,持久化在 localStorage。

卸载

npm run uninstall:global                 # 一键:移除补丁行 + 移除模块链接
# 或手动:
# 1. 删除 cordis.patch.yml 中的 notify 行;
# 2. dsh plugin --profile web remove @shermanono/dsh-notify;
# 3. 重启 dsh web。

隐私

本插件不发起任何网络请求、不收集任何数据;它只读取 Harness 已下发给当前页面的会话帧,并在本地弹出通知。

License

MIT