为审批、提问、中断和完成事件播放提示音与桌面通知
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/17 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add AkotaP/dsh-chime该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 7 处,展示前 7 条)
- 读取本地文件lib/index.js:11
script ??= readFileSync(new URL("./windows-raise.ps1", import.meta.url), "utf8"); - 读取本地文件lib/index.js:158
if (existsSync(candidate)) return candidate; - 读取本地文件lib/index.js:244
info = await stat(target); - 读取本地文件lib/index.js:255
data = await readFile(target); - 读取本地文件lib/index.js:308
dirents = await readdir(dir, { withFileTypes: true }); - 发起网络请求lib/client.js:456
response = await fetch(url, lifecycle ? { signal: lifecycle.signal } : void 0); - 发起网络请求lib/client.js:1359
response = await fetch(url, init);
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DeepSeek Harness 的四类事件(权限审批/提问/中断/完成)提示音与系统通知插件。
README
由 DeepSeek 最新模型翻译生成dsh-chime
DSH(DeepSeek Harness)Web 通知音效插件。
四类事件
| 音效 | 触发时机 |
| 权限审批 | 工具调用等待批准时(pendingInteraction === 'approval') |
| 回答问题 | ask_user_question 提问或计划审批时(question / plan-review) |
| 中断 | 对话因错误无法继续时(最终错误,自动重试不会响) |
| 完成 | 任务真正结束时(无运行中的 agent、无在跑子代理、无后台任务) |
特性
- 链接式音源 —— 插件不复制你的音频文件:
- 粘贴 http(s) 网络链接,或
- 粘贴本地音频文件的完整路径(Linux/macOS 如 /home/you/ding.mp3,Windows 如 E:\Sounds\ding.mp3),由插件的 host half 暴露成同源 URL 播放。
- 每个音效独立音量:0–100 独立调节,互不影响。
- 提醒时机可选:同时看「事情发生在哪个会话」和「你此刻在不在 DSH」两个维度,共五档 —— 只看当前会话 / 只在我不在时 / 我不在或事情在别的会话(推荐)/ 总是 / 从不。音效与通知各自选档,但共用同一套判定。
- 后台也响:窗口切到后台、或者一挂二十分钟,事件一到就响,不用等你切回来。
展开完整文档(README 剩余 1 节)
dsh-chime DSH(DeepSeek Harness)Web 通知音效插件。 四类事件 | 音效 | 触发时机 | | 权限审批 | 工具调用等待批准时(pendingInteraction === 'approval') | | 回答问题 | ask_user_question 提问或计划审批时(question / plan-review) | | 中断 | 对话因错误无法继续时(最终错误,自动重试不会响) | | 完成 | 任务真正结束时(无运行中的 agent、无在跑子代理、无后台任务) | 特性 - 链接式音源 —— 插件不复制你的音频文件: - 粘贴 http(s) 网络链接,或 - 粘贴本地音频文件的完整路径(Linux/macOS 如 /home/you/ding.mp3,Windows 如 E:\Sounds\ding.mp3),由插件的 host half 暴露成同源 URL 播放。 - 每个音效独立音量:0–100 独立调节,互不影响。 - 提醒时机可选:同时看「事情发生在哪个会话」和「你此刻在不在 DSH」两个维度,共五档 —— 只看当前会话 / 只在我不在时 / 我不在或事情在别的会话(推荐)/ 总是 / 从不。音效与通知各自选档,但共用同一套判定。 - 后台也响:窗口切到后台、或者一挂二十分钟,事件一到就响,不用等你切回来。 - 系统通知(独立开关):事件发生时弹一条桌面通知,Windows / macOS / Linux 都走系统通知中心。它与音效是两条独立通道,提醒时机单独设置。 - 不误报:后台 bash 任务、后台子代理仍在运行时不会误报「完成」;会被自动重试的失败不会触发「中断」。 - 默认静音:没配置的音效不会响,也不会退回到内置提示音。 配置位置 插件 → 本插件页面(或插件页的提示音卡片)。表单直接渲染在插件页上,不用点进组件行。 所有修改即时生效,没有单独的保存按钮。 配置界面 安装 安装会改动 %USERPROFILE%\.dsh 下的 profile 配置,并且需要重启 DSH(重启会打断正在跑的会话)。请确认后执行。 仓库:<https://github.com/AkotaP/dsh-chime> 在「插件」页里装:侧边栏「插件」→「添加插件」,填入仓库地址 https://github.com/AkotaP/dsh-chime(同处也接受 npm 包名 dsh-chime、本地目录绝对路径和 tarball)。DSH 会先用 git ls-remote 探一次仓库再交给 pnpm,装完在列表里确认它是启用状态。 一条命令(等价写法): dsh plugin --profile desktop add https://github.com/AkotaP/dsh-chime 发布到 npm 之后可以直接用包名:dsh plugin --profile desktop add dsh-chime 让 agent 装(把下面这段发给 DSH 里的 agent): 把这个仓库装进当前 DSH 的 desktop profile:https://github.com/AkotaP/dsh-chime。用侧边栏「插件」页的「添加插件」,或 dsh plugin --profile desktop add https://github.com/AkotaP/dsh-chime。装完确认 profile 的 dsh.profile.bundles 里已经有 dsh-chime,然后先问我再重启 DSH,重启后确认插件页的提示音卡片能打开配置表单。 本地开发(以 link 方式装进某个 profile,源码改动实时生效):见下面的开发一节。 装好后重启 DSH,插件页的提示音卡片里出现配置表单。卸载:侧边栏「插件」页里卸载,或 dsh plugin --profile desktop remove dsh-chime(并确认 dsh.profile.bundles 里已移除该项)。 实现要点 - 纯 Client 为主:配置与播放引擎都在浏览器侧,持久化在 localStorage(key dsh.chime.config.v1),不写 DSH profile。 - 极薄的 host half:只注册两条 loopback HTTP 路由,没有任何 Host Remote 依赖。 - GET /dsh-chime/asset?path=<绝对路径> —— 音频字节,正确的 Content-Type,支持 Range/206,Cache-Control: no-store - GET /dsh-chime/list?path=<目录> —— 目录条目(当前入口已屏蔽,暂未使用) - 为什么走 host 路由读本地文件:DSH 的 Client Remote 面没有 mount workspaceFiles,原生目录选择器又只支持选目录、不支持列目录。把本地文件通过 DSH 自己的 HTTP 服务暴露成同源 URL,浏览器就会当普通资源处理 —— 不落盘、不复制,也不受 Remote 通道限制。 - 播放走 Web Audio(AudioContext + decodeAudioData + BufferSource + GainNode)。 插件会在首次 pointerdown/keydown 解锁 AudioContext,之后自动播放才被允许。 - 事件驱动为主、轮询兜底:订阅 DSH 的 uiSession.sessionStatus 与 sessions.list,状态一变立即判定,窗口回到前台时再补一次;400ms 轮询只当保险丝。后台页面会被节流 —— 隐藏标签页的 setTimeout 被拉长到秒级甚至更粗(浏览器里开着「内存节省」还可能直接冻结标签页),纯轮询会让「提问 / 审批」音效压到你切回 DSH 才响。订阅走 DSH 的 remote 推送,不经过定时器,所以窗口藏在后台照样即时。 - 通知是第二条独立通道:只认 config.notify(总开关 + 逐类开关),走浏览器的 Notification,每条固定 silent: true(声音归音效管,否则会「双响」)。首次要在设置页点一次「授权」—— 浏览器要求权限请求落在用户手势里;环境不支持或权限被拒时静默降级,不报错。 - 事件判定参考 DSH 自身的侧边栏状态机:running 只表示 agent loop 在跑,不等于任务结束,所以「完成」用复合判定(见 CONTRACT.md §3)。 开发 pnpm install node build.mjs # 产出 lib/index.js 与 lib/client.js node test/detect.test.mjs # 43 个事件判定用例 node tools/verify-apply.mjs # 用 stub context 真正执行一次 apply() node tools/verify-host-routes.mjs 以 link 方式装进某个 profile 做真机调试(会先备份 package.json) node tools/link-install.mjs web 构建说明:本仓库的 build.mjs 直接调用平台 esbuild 二进制(stdio: 'inherit'),不使用 esbuild 的 JS API —— 后者会以管道方式 spawn 子进程,在 DSH 文件沙箱下会被拒绝(EPERM)。 架构、用到的 DSH API 面、事件规则见 CONTRACT.md;版本历史见 CHANGELOG.md。 兼容性 - Node.js >=20 - DSH >=0.2.0-rc.2 许可 MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
AkotaP/dsh-chime
为审批、提问、中断和完成事件播放提示音与桌面通知
相关插件 · 其他
模型破甲清洗HunYiSage/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,993已汉化DeepSeek 客户端
73
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,269已汉化DSH
70.8
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。