概览
dsh-task-sounds
README / ZH
插件文档
dsh-task-sounds
DeepSeek Harness Web UI 的任务完成与提问提示音插件。Agent 完成一个回合时播放 一声轻快的提示音;Agent 在任务中向你提问(普通提问、计划评审 plan-review、 权限确认 approval)并等待你回答时,播放一声不同的“叮咚”提示音。
零资源、零网络、不占用宿主进程:提示音由浏览器 Web Audio API 实时合成,插件 极小且完全离线可用。会话头部带一个静音开关(🔔 / 🔕),选择会持久化到 localStorage。
安装
dsh plugin --profile web add dsh-task-sounds
重启 dsh web 后即可生效。运行任务或让 Agent 干活时你会听到:
- 完成音 —— 两个上行音符(E5 → B5),回合结束时播放;
- 提问音 —— 一个下行“叮咚”(A5 → D5),Agent 提问并等待你回答时播放。
点击会话头部右上角的 🔔 可静音,再点一次恢复。
原理
这是一个纯客户端 Cordis 插件(只有浏览器半侧)。它在会话头部工具槽
(conversation.session.header.utilities)注册一个小组件,通过框架标准套件
提供的 useSession 订阅会话快照:
snapshot.turnEnds—— 出现结束时间很近的新完成回合时触发完成音 (挂载时会把已有历史标记为“已播报”,因此刷新页面或翻看更早历史不会乱响);snapshot.pending—— 出现新的待处理交互(question/plan-review/approval)时触发提问音。
两个信号都按会话去重,每个事件只响一次。音频会在首次点击/按键时解锁,以符合
浏览器自动播放策略;静音状态存于 localStorage。
提交到插件商店
DSH 插件市场(dshmarket)的目录来自 社区维护的 awesome-dsh-plugin 注册表。要让这个插件上架:
先把仓库推到 GitHub(任意公开仓库),并给仓库加上
dsh-plugintopic。注意注册表 CI 的要求:仓库创建满 1 天、提交数 ≥ 10 才能通过 自动检查——所以先建仓推送,过一天再提 PR。发布到 npm(在本目录
npm publish,包已可发布;npm run prepack会作为发布前自检自动运行)。市场构建时会对仓库做 npm 映射校验,所以 先发布 npm,再提 PR。向
awesome-dsh-plugin/awesome-dsh-plugin提 PR,新增一个文件data/plugins/henrytang2011win-coder__dsh-task-sounds.yml(精确内容见awesome-dsh-plugin-entry.yml,已填好你的 用户名);然后在那个仓库的克隆里重新生成两个 README 一起提交:npm ci node scripts/generate-readme.mjs本包
package.json声明的dsh.bundlemanifest 正是注册表校验 「可安装性」的依据。
站点与所有市场实例通常一天内自动收录,之后任何人都可以一键安装:
dsh plugin --profile web add dsh-task-sounds
开发
npm install # 无运行时依赖 —— 仅 peer react
npm run prepack # 发布前的健康检查
客户端是纯 JavaScript,无需打包器:模块加载器会从平台 seed 词解析
require("react");宿主半侧(lib/index.js)刻意只是一个空的 apply。
许可证
MIT
