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-plugin-notify-sound

v1.0.0

Published

DeepSeek Harness plugin: per-workspace task-completion ringtones plus attention sounds for approval / question / plan-review / goal-blocked / task-failure events (Web UI; built-in synth, voice (TTS), custom audio)

Readme

dsh-plugin-notify-sound

English | 中文

DeepSeek Harness(DSH)Web 端插件:任务完成后按工作区播放可定制的通知铃声, 并在需要人介入时(审批、提问、计划评审、目标受阻、任务失败)播放注意提示音。

功能

完成铃声(按工作区)

  • 会话「一次回答结束」(回合完成,running: true → false)或后台任务完成时播放。
  • 铃声按工作区解析:先查该工作区的单独配置,未配置则使用默认铃声。
  • 声音来源三选:
    • 内置合成音 — 6 种(叮咚 / 风铃 / 铃铛 / 完成 / 成功 / 静音),Web Audio 实时合成,无需音频文件;
    • 语音播报(TTS) — 浏览器用系统中文语音朗读自定义文案(如「我做完啦!」),可选声音与语速;
    • 自定义音频 — 上传任意 MP3/WAV 等文件。

注意铃声(需要人介入时)

以下事件始终响铃(不受「当前会话不响铃」限制):

| 事件 | 检测来源 | 默认声音 | |---|---|---| | 审批请求 | 会话 pendingInteraction: approval | 通用注意音 | | 用户提问 | pendingInteraction: question | 通用注意音 | | 计划评审 | pendingInteraction: plan-review | 通用注意音 | | 目标受阻 | goal 投影进入 blocked | 通用注意音 | | 后台任务失败 | 任务状态 failed | 铃铛(独立失败音) |

每类事件可单独覆盖声音(或跟随通用注意音),也可统一使用一句播报文案 (如「需要你的确认」)。

设置面板(设置 → 通知铃声)

总开关、「当前会话完成时不响铃」、默认完成铃声、每工作区完成铃声、 通用注意音 + 五类注意事件、语音设置(声音/语速/试听/刷新列表)、逐项试听与上传。

安装

需要支持 bundle 插件的 DSH 版本(dsh.profile.bundles + dsh.bundle.patch), 且 PATH 中有 pnpm(corepack enable 或 npm i -g pnpm)。

# 一键安装:pnpm 安装依赖并把本包加入 profile 的 bundles 层
dsh plugin --profile web add dsh-plugin-notify-sound

# 重启服务(或刷新页面),打开 设置 → 通知铃声 即可配置

其他 profile 同理:dsh plugin --profile <name> add dsh-plugin-notify-sound。

手动安装(无 pnpm 时)

  1. 把本包及依赖(@deepseek-ai/schemastery、@deepseek-ai/cosmokit、@standard-schema/spec) 复制到 $DSH_HOME/profiles/web/node_modules/;
  2. 在 $DSH_HOME/profiles/web/package.json 的 dsh.profile.bundles 中追加 "dsh-plugin-notify-sound";
  3. 重启 dsh web。

配置持久化

  • 客户端配置保存在浏览器 localStorage(键 dsh-notify-sound:config),读取时做字段校验与默认值兜底。
  • 宿主端同时注册 dsh-plugin-notify-sound 设置命名空间:rc.6 的 settings API 白名单 (dsh-host-apiproxy 的 WEB_SETTINGS_NAMESPACES)不会把第三方命名空间暴露给浏览器, 该注册为平台开放暴露机制后的无缝迁移预留(客户端存储接口外形与 settingsScope 一致)。

开发

npm test      # 宿主端 + 客户端 50 余项自动化断言(Node 即可,无需浏览器)
npm run check # 语法检查

结构:

  • lib/index.js — 宿主端:注册 settings 命名空间(schemas 校验 + 默认值)
  • lib/client.js — 浏览器端 bundle:完成/注意事件监听、声音引擎(Web Audio / TTS / Audio)、设置面板
  • lib/types/index.d.ts — 宿主端类型声明
  • cordis.patch.yml — bundle 补丁层(插入 notify-sound 行)
  • tools/ — 测试与验收脚本(不随 npm 包发布)

发布

npm login                       # 登录 npm(建议开启 2FA)
npm publish --access public

许可证

MIT