From a09657e6205afc6b7f98c042115cbe347ec59fae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=83=E5=B2=9A=E4=B9=8B=E5=A4=8F?= <108566281+Blueteemo@users.noreply.github.com> Date: Fri, 15 May 2026 13:01:36 +0800 Subject: [PATCH] fix: handle MiniMax TTS timber weight configuration more robustly to avoid crashes on invalid or empty values MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: add comments and await asyncio.sleep(0) for startup signal * fix: [Bug] 修复 MiniMax TTS 空字符串配置解析报错 * fix: 采纳AI审查建议,添日志+提取默认配置变量 * fix: 移除误加的core_lifecycle.py改动 --------- Co-authored-by: RainBot-Ai --- .../sources/minimax_tts_api_source.py | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/astrbot/core/provider/sources/minimax_tts_api_source.py b/astrbot/core/provider/sources/minimax_tts_api_source.py index 7ca369708..97d746c55 100644 --- a/astrbot/core/provider/sources/minimax_tts_api_source.py +++ b/astrbot/core/provider/sources/minimax_tts_api_source.py @@ -37,12 +37,21 @@ class ProviderMiniMaxTTSAPI(TTSProvider): "minimax-is-timber-weight", False, ) - self.timber_weight: list[dict[str, str | int]] = json.loads( - provider_config.get( - "minimax-timber-weight", - '[{"voice_id": "Chinese (Mandarin)_Warm_Girl", "weight": 1}]', - ), - ) + default_timber_weight = [ + {"voice_id": "Chinese (Mandarin)_Warm_Girl", "weight": 1} + ] + raw_timber_weight = provider_config.get("minimax-timber-weight", "") + if not raw_timber_weight: + self.timber_weight = default_timber_weight + else: + try: + self.timber_weight = json.loads(raw_timber_weight) + except json.JSONDecodeError: + logger.warning( + "MiniMax TTS 权重配置解析失败,将使用默认值。 raw_value: %s", + raw_timber_weight, + ) + self.timber_weight = default_timber_weight self.voice_setting: dict = { "speed": provider_config.get("minimax-voice-speed", 1.0),