ppy-web/dsh-plugin-xiaomi-mimo-tts
ppy-web/dsh-plugin-xiaomi-mimo-tts为 DSH 提供小米 MiMo、豆包、浏览器本地 TTS 语音朗读;自动播报、自定义音色、UI 音效、桌宠联动、QQBot 联动。
双 MediaPlayer 守护进程($think 思考循环 + $fx 一次性音效)支持音量闪避、情绪感知音效(连续成功/失败/长时间运行自动触发 smooth/struggle/deep_think)、15 种正弦/方波合成内置音、51 个工具分类映射、自定义 WAV/MP3 直替自动转换,以及完整设置页含深色模式修复。
DSH 本机音效插件:监听 Agent 状态与工具生命周期,通过常驻
PowerShell 双 System.Windows.Media.MediaPlayer 守护进程
($think 思考循环 + $fx 一次性音效)播放思考、工具、错误和情绪提示音。
agent/status 进入 running 时循环思考音,回到 idle 时停止并播放结束音。assets/sounds/ 放入
<工具名>.wav 或 <工具名>.mp3 覆盖。mpg123-decoder 在 Node 进程内转换并缓存为 WAV。color-scheme: dark,
确保选项文字可见。配置保存在 assets/config.json。工具音按以下顺序解析:
assets/sounds/<工具名>.wavassets/sounds/<工具名>.mp3config.tools.<工具名>config.tools.default映射值支持 builtin:<名称>、file:<文件名> 和 none。cache: 前缀是
运行时 MP3 转换缓存键,sanitizeEntry 会显式拒绝其写入配置。file: 条目
中的 .. 和路径分隔符同样在校验层被拦截。MP3 转换缓存由
插件管理,不应手工写入配置。
静态 hybrid bundle 使用 DSH 已验证的 webServer.register 同源接口:
GET/POST /api/dsh-soundscape/configGET /api/dsh-soundscape/soundsPOST /api/dsh-soundscape/play-testPOST /api/dsh-soundscape/rescanPOST /api/dsh-soundscape/open-sounds-folder这些接口只由本机 DSH 页面调用。设计草案中的 harness.handle/host.call
属于动态 Cordis runner,不是此静态 bundle 的运行时 API。
npm install --ignore-scripts --legacy-peer-deps
npm run verify
verify 包含全部源码语法检查、Node 单元测试和宿主 mock smoke。
当前已在真实 DSH 中验证:热重载 active、5 条本地 API、设置页完整挂载、
保存立即生效、12 个内置音效清单、MediaPlayer 守护进程 DAEMON READY
及 PLAYED 回执。实际扬声器听感、最终代码完整重启、真实自定义文件命中
和卸载净验证仍需人工验收,不能仅凭日志推断通过。