48354e634b
前端: - recorder.onError 时重置 recorder = null,避免错误后录音永久失效 - 增加 asrLoading 状态,ASR 处理中输入框 disabled 并显示'语音识别中...' - 增加 skipAsr 标志,<1s 的录音跳过 ASR 上传 - uploadFile 增加 30s timeout 后端: - ASR: OpenAI 失败后 fallback 到本地 whisper,日志级别降为 warn - try/catch/finally 重构,确保临时文件在所有路径都清理 - OpenAI 和 whisper 结果分别 try,互不影响