前言¶
用 DeepSeek Harness(DSH)跑长任务时,Agent 可能在几分钟内就答完,而你已经离开屏幕去做别的事。页面没有系统级通知时,只能靠偶尔切回标签页才发现「早就结束了」。dsh-turn-music 是社区维护的 DSH Web 客户端插件:在回合结束(以及需要你回答或点审批时)在浏览器里播放铃声,直到你暂停或关闭。声音走页面内的 <audio>,手机、笔记本或远程打开的同一套 Web 界面都能听到。
下面按安装、设置和触发逻辑说明怎么用,事实以插件 README 与 npm 包信息为准。
这是什么¶
- 名称:dsh-turn-music(GitHub:
ramwin/dsh-turn-music,维护者 ramwin) - 分类:客户端(仅 DSH Web)
- 定位:回合提醒音乐——对话(回合)结束时自动播放,内置电话「叮铃铃」铃声,可自定义路径或上传音频,右下角浮标可暂停 / 继续 / 关闭
- 许可:MIT;内置铃声由
scripts/make-ringtone.py合成,随包 CC0
插件监听浏览器侧的会话状态,不依赖模型自我提醒,也不额外占用 API 调用。
核心功能¶
何时会响¶
- 回合结束:
sessions.list里对应会话的running从true变为false。 - 提问 / 审批(可选,默认开):模型弹出选择题(
ask_user_question)或等你点审批时,回合仍可能处于running;插件同时监听uiSession.sessionStatus的pendingInteraction,交互一出现就响。设置项名为「提问/审批也提醒」。
页面首次加载时的快照只作基线,已在跑的会话或已挂着的提问不会因刷新误响。
音频与播放体验¶
- 未配置「音乐文件」时使用包内默认铃声(约 6.5 秒,52 KB)。
- 可填宿主机绝对路径(支持
~),或在设置卡片里上传本地音频;宿主经 HTTP 流式提供音频(支持Range),远程访问页面也能播本机文件。 - 起播约 1 秒渐强,暂停、关闭或到时停止时渐弱;循环播放时接缝不明显。
- 暂停、关闭或到时停止会把播放位置写到宿主侧;下次回合结束从上次位置续播(换歌或播完自动归零;试听总是从头)。
- 右下角浮标:暂停、再点继续,✕ 关闭这一次。
少误报、少打扰¶
- 默认忽略子代理会话与团队子任务;Agent Teams 下子任务完成或 Lead 让出回合但团队仍在跑时不响,等整个团队收尾后再提醒(适配内置 Agent Teams 与
@nanmicoder/dsh-agent-teams)。 - 可选「只提醒当前正在看的会话」。
- 默认循环最长 120 秒自动停,可设为 0 表示不限。
配置存储¶
- 用户设置:
~/.dsh/turn-music.json(全局,不分项目 / 会话) - 上传文件:
~/.dsh/turn-music/ - 播放进度:
~/.dsh/turn-music-position.json(按音频文件 mtime 记账)
部署级默认值可写在 profile 的 cordis.patch.yml 里插件条目的 config 下;个人设置在 Web「设置」里覆盖,「恢复默认」回到部署默认值。
安装与启用¶
在 web profile 下安装(命令来自官方 README):
dsh plugin --profile web add dsh-turn-music
装完后重启一次 dsh web,或在插件面板触发重载,再刷新页面。
未发布到 npm 时可用 GitHub 源:
dsh plugin --profile web add github:ramwin/dsh-turn-music
包要求 Node.js >= 20;当前资料中的版本号为 0.3.1。
典型用法¶
- 打开
设置 → 内置插件 → 回合提醒音乐,或左侧「插件」面板里的同名卡片。 - 「启用」默认已开;点试听确认音量和音源。
- 需要自定义:在「音乐文件」填路径,或通过文件选择上传(例如 mp3)。
- 回合结束或出现待你处理的提问 / 审批时音乐响起;用右下角浮标暂停、继续或关闭。
浏览器自动播放策略要求页面至少被用户交互过一次。若被拦截,浮标会提示「浏览器拦截了自动播放,点一下播放」,点浮标即可。
设置项摘要¶
| 设置 | 默认 | 说明 |
|---|---|---|
| 启用 | 开 | 回合结束时是否播放 |
| 音乐文件 | 空 | 空 = 内置叮铃铃;或路径 / 上传 |
| 音量 | 80 | 0–100 |
| 循环播放 | 开 | 关则播完一遍即停 |
| 最长响多久 | 120 秒 | 0 = 不限 |
| 只提醒当前会话 | 关 | 仅当前屏幕会话 |
| 忽略子代理会话 | 开 | 子代理与团队子任务默认不响 |
| 提问/审批也提醒 | 开 | 挂起交互时也响 |
部署级默认示例(cordis.patch.yml):
- id: turn-music
name: 'dsh-turn-music'
config:
enabled: true
file: /srv/sounds/ring.mp3
volume: 80
loop: true
maxSeconds: 120
onlyCurrent: false
muteSubagent: true
onQuestion: true
适用场景与注意¶
适合谁:经常在 DSH Web 里跑较长 Agent 任务、希望「回合结束或要我点一下」时有明显听觉提醒的开发者;多标签页各自会响一次,需要安静时可关其他标签或开「只提醒当前会话」。
权限与安全:插件在 DSH 宿主进程权限下运行,安装前建议阅读仓库源码与 MIT 许可证。/dsh-turn-music/* 走 DSH 登录态,仅能访问配置的那一个音频或上传目录,不做任意路径列举。目前不支持直接播放网络 URL;在线音源可考虑社区里的 dsh-music-player 等方案。
生态说明:DSH 社区插件目录(如 skillhub.cn)由社区维护,与 DeepSeek / 幻方无官方从属关系;安装命令以各插件 README 为准。
结尾¶
dsh-turn-music 把「回合结束」和「等你回答 / 审批」变成可听的边界,内置铃声即装即用,路径与上传由宿主提供音频流,适合远程 Web 使用场景。
- 目录页:https://www.skillhub.cn/plugins/ramwin/dsh-turn-music
- 仓库:https://github.com/ramwin/dsh-turn-music