All plugins

DSH / BUNDLE / CLIENT-UI

dsh-work-done-bell

v0.1.0FunctionHookTJU / dsh-work-done-bell788a7740cc

InstallableBundlesUI & client pluginsCommunity · Topic auto-analysisWeb UI

Overview

dsh-work-done-bell

Rings a Windows system sound (and shows a bottom-right toast) when a DeepSeek Harness session has actually finished all of its work — idle plus no live background job and no running subagent.

README / EN

Package documentation

Registry summary

Rings a Windows system sound (and shows a bottom-right toast) when a DeepSeek Harness session has actually finished all of its work — idle plus no live background job and no running subagent.

dsh.pub verifies the pinned bundle contract, runtime facts, and distribution semantics. The complete README remains in the source repository.

Read the full README on GitHub

LIMITATIONS

Known limitations

- **声音仅限 Windows**:它通过组合出来的 `shell` 服务执行 `[System.Media.SystemSounds]` 来播放。在其他平台上插件能加载、能弹 toast,但不 出声。移植的办法就是把 `play()` 里的命令换成 `afplay` / `paplay`。 - **响铃命令带着一份解析过的 sandbox policy。** 有约束的 shell 服务会拒绝一份没带 policy 的命令,而部署默认的那个模式可能宿主根本执行不了 —— 在构建这个插件的机器 上,`workspace-write` 就是跑不起来的:Windows ACL 运行器要求临时根目录位于工作区 之外,而工作区是用户主目录,于是受约束的命令**一条都跑不了**,不带 policy 的命令 则被直接拒绝。因此 policy 是每次响铃时针对被通报的那个会话解析的 (`sandboxPolicy.resolve({ session })`),用的是那个会话自己的权限,绝不放大它。 在这样的宿主上,被约束在 `workspace-write` 的会话会保持静音;`?verbose=1` 会在 `lastError` 里给出原因,在 `lastPolicy` 里给出解析出的模式。 - Toast 需要页面开着;声音不需要。 - 浏览器那一半每秒通过 `/dsh-work-done-bell/state` 轮询宿主。没有推送通道:包之间 被认可的方向是 浏览器 -> 宿主。 - Toast 用短 id 标注会话,不是标题。