ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

local-deep-research 通知声音配置指南:success.mp3 与 error.mp3 的职责、选材与触发机制

local-deep-research 通知声音配置指南:success.mp3 与 error.mp3 的职责、选材与触发机制 local-deep-research 通知声音配置指南success.mp3 与 error.mp3 的职责、选材与触发机制【免费下载链接】local-deep-research~95% on SimpleQA (e.g. Qwen3.6-27B on a 3090). Supports all local and cloud LLMs (llama.cpp, Ollama, Google, ...). 10 search engines - arXiv, PubMed, your private documents. Everything Local Encrypted.项目地址: https://gitcode.com/GitHub_Trending/lo/local-deep-research在 local-deep-research 的 Web 界面中当一次深度研究任务在后台跑完时系统会通过声音提醒用户研究已完成或研究出错。这些提示音的来源、命名约定与播放策略由 src/local_deep_research/web/static/sounds/README.md 统一定义。本文以该文档为主体结合仓库前端的实际引用与实现现状完整讲解通知声音文件的安装、替换、触发时机与浏览器播放限制帮助你在部署和使用中正确配置提示音。通知声音的职责划分success.mp3 与 error.mp3声音目录位于src/local_deep_research/web/static/sounds/其中必须存在两个固定的声音文件各司其职文件名播放场景语义success.mp3深度研究任务成功完成时正向反馈提示音代表本轮研究结果已就绪error.mp3研究任务失败或遇到错误时负向告警提示音提醒用户需要查看错误报告通过 list 实际确认当前仓库中这两个文件均已就位src/local_deep_research/web/static/sounds/success.mp3src/local_deep_research/web/static/sounds/error.mp3之所以采用固定文件名 固定语义的设计而不是在业务代码中内嵌任意音频路径是因为前端页面通过静态资源路径直接引用这些文件文件名即接口。任何第三方音效只要重命名覆盖到这两个位置即可无缝替换提示音无需改动一行业务代码。声音素材的来源与选型原文档给出了两个免版权copyright-free音效素材渠道用于获取可合法用于项目的声音文件Freesound一个大型的社区音效共享平台提供海量 CC 许可的短音效搜索关键词建议使用success sound、error sound、notification等。Free Sound Library另一个免版权音效库适合快速检索短促提示音。同时文档给出了两份经过筛选的推荐素材均来自 Freesound素材名与其创作者信息可在平台内检索成功音效Success Sound创作者 grunz素材编号 109662适合作为研究完成的提示音——短促、轻快、不刺耳。错误音效Error Sound创作者 Autistic Lucario素材编号 142608适合作为失败告警音——低沉、明确、具有警示性。选择第三方音效时需注意两点其一确认素材的许可协议允许在商业/自部署应用中使用CC0 或注明署名的 CC-BY 均可其二优先选择时长在 0.52 秒内的短音效避免打断用户操作。若不想引入第三方素材也可以自行用本地工具合成一段简单的双音/三音提示音导出为 MP3同样满足需求。触发时机与标签页不在焦点的播放策略原文档明确了这套声音机制的核心使用规则应用会在研究任务完成或失败时自动播放这些声音但仅当浏览器标签页不在焦点时。这句话包含两层设计意图1. 触发时机绑定研究任务终态。研究任务结束分为两种终态成功complete与失败error/fail分别对应success.mp3与error.mp3。在前端进度页中这一完成/失败判定逻辑可见于 src/local_deep_research/web/static/js/components/progress.js任务完成时会调用showNotification(Research Completed, ...)推送结果提醒约第 678 行失败分支则会尝试展示错误报告——声音播放正是与这类终态通知同步触发的。2. 只在后台播放避免打扰前台用户。当用户正盯着进度页时视觉上的进度条、状态文本已经足够传达信息此时再播放声音反而冗余只有当用户切走标签页、任务在后台默默推进时才需要声音唤醒。这一设计与浏览器自动播放策略Autoplay Policy天然契合现代浏览器默认禁止未经用户交互的音频自动播放而用户在页面内有过点击操作即可被视为已交互标签页处于后台不可见时浏览器对音频播放的容忍度更高声音得以正常输出前端判断标签页可见性通常使用document.hidden/visibilitychange可据此决定是否触发播放。因此这套机制在实现上是状态机 可见性的组合研究任务到达终态 → 判断标签页是否在前台 → 前台则静默更新 UI后台则播放对应提示音。前端实现现状与预留接口源码证据值得注意的是仓库当前的音频服务实现仍处于预留接口阶段。前端音频服务模块 src/local_deep_research/web/static/js/services/audio.js 目前是一个占位实现Audio Service Stub它在window.audio上暴露了四个接口接口设计用途当前行为initialize()初始化音频服务预加载声音、检测浏览器支持记录日志后返回falseplaySuccess()播放成功提示音对应success.mp3记录日志后返回falseplayError()播放错误提示音对应error.mp3记录日志后返回falseplay()/test()通用播放与调试测试记录日志后返回false从源码结构看这套接口是为未来的完整通知功能预留的稳定契约页面无需关心声音文件路径与播放细节只要调用window.audio.playSuccess()/window.audio.playError()即可。该模块已被两个页面引用src/local_deep_research/web/templates/pages/progress.html#L59研究进度页即声音触发的主战场src/local_deep_research/web/templates/pages/benchmark.html#L2561基准测试页测试任务批量跑完时同样需要完成/失败提醒。也就是说声音文件本身success.mp3 / error.mp3已随仓库就绪调用契约window.audio 接口已定义真正的播放逻辑将在 audio.js 的未来版本中实现。部署方若需要立即获得提示音能力可参照上述接口自行补齐playSuccess内部实现例如new Audio(/static/sounds/success.mp3).play()并接入progress.js的完成/失败分支。自定义声音的实践建议基于原文档的命名约定与浏览器兼容性要求替换或定制提示音时请遵循以下规范文件命名必须保持原样仅接受success.mp3与error.mp3两个文件名扩展名统一为.mp3浏览器原生支持、体积小、兼容性最好。覆盖式替换即可生效将自备音效处理后放到 src/local_deep_research/web/static/sounds/ 目录覆盖同名文件无需修改任何前端代码静态资源加载后可强制刷新Ctrl/Cmd Shift R清除浏览器缓存验证效果。控制时长与响度建议单段提示音不超过 2 秒、响度峰值保持在 -3dB 以下避免与研究完成后的页面跳转音叠加造成惊吓。语义要可区分success.mp3与error.mp3应在音色、音高上明显不同如上行双音 vs 下行低音确保用户无需看屏幕即可辨别结果好坏。留意浏览器策略由于自动播放受浏览器策略约束若在部署环境中发现声音不响优先检查用户是否已在页面内完成过至少一次交互以及标签页是否确实处于后台。小结与相关资源通知声音是 local-deep-research 后台研究体验的重要一环success.mp3与error.mp3分别承载成功与失败的听觉反馈仅在浏览器标签页失焦时播放的设计兼顾了信息传达与不打扰。声音文件、目录约定与素材来源已由 声音目录 README 完整定义前端接口由 audio.js 预留播放时机与完成/失败判定则锚定在 progress.js 的通知逻辑中。读者如需进一步了解研究任务的完成/失败状态流转与页面结构可继续阅读 progress.html 与前端进度组件实现。【免费下载链接】local-deep-research~95% on SimpleQA (e.g. Qwen3.6-27B on a 3090). Supports all local and cloud LLMs (llama.cpp, Ollama, Google, ...). 10 search engines - arXiv, PubMed, your private documents. Everything Local Encrypted.项目地址: https://gitcode.com/GitHub_Trending/lo/local-deep-research创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表