概览
dsh-work-done-bell
README / ZH
插件文档
目录摘要
dsh.pub 核对固定版本的组合包契约、运行时事实与分发语义;完整 README 请查看源仓库。
在 GitHub 阅读完整 READMELIMITATIONS
已知限制
- **声音仅限 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 标注会话,不是标题。
