tts-error-reporting
Installation
SKILL.md
TTS Error Reporting Protocol
To ensure users are properly notified when a TTS service encounters an error (such as quota exhaustion, API issues, or connection failures), TTS workers running in separate processes must propagate errors back to the main process (core.py).
Core Rule: Use response_queue.put(("__error__", error_msg))
When a TTS worker (e.g. step_realtime_tts_worker, qwen_realtime_tts_worker, etc.) catches an error, it MUST NOT only log the error using logger.error(). It MUST ALSO send the error message back to the main process through its response_queue using the explicit tuple format ("__error__", error_msg).
This ensures that core.py's tts_response_handler can intercept the error and translate it into a frontend WebSocket message (type: 'status'), triggering a user-friendly Toast notification (e.g., "💥 免费TTS限额已耗尽").
Example Implementation
# Bad Pattern (Fails silently for user)
except Exception as e:
logger.error(f"TTS Worker Error: {e}")
# Worker dies or hangs, user stuck on "Preparing..."