From c1d315b84fbfbf2af15ea2870db90e5f31668478 Mon Sep 17 00:00:00 2001 From: Neko Ayaka Date: Thu, 5 Mar 2026 18:06:49 +0800 Subject: [PATCH] fix(stage-ui): should have option to completely disable Speech module --- packages/i18n/src/locales/en/settings.yaml | 3 ++ .../src/pages/settings/modules/speech.vue | 32 +++++++++++++++++-- .../stage-ui/src/components/scenes/Stage.vue | 3 ++ .../stage-ui/src/stores/modules/speech.ts | 28 +++++++++++++++- packages/stage-ui/src/stores/providers.ts | 28 ++++++++++++++++ 5 files changed, 90 insertions(+), 4 deletions(-) diff --git a/packages/i18n/src/locales/en/settings.yaml b/packages/i18n/src/locales/en/settings.yaml index baf8b6c0b..7e6d5e7fc 100644 --- a/packages/i18n/src/locales/en/settings.yaml +++ b/packages/i18n/src/locales/en/settings.yaml @@ -615,6 +615,9 @@ pages: deepgram-tts: description: deepgram.com title: Deepgram + speech-noop: + title: None + description: No speech output. deepseek: description: deepseek.com title: DeepSeek diff --git a/packages/stage-pages/src/pages/settings/modules/speech.vue b/packages/stage-pages/src/pages/settings/modules/speech.vue index f164a7a6e..86e070570 100644 --- a/packages/stage-pages/src/pages/settings/modules/speech.vue +++ b/packages/stage-pages/src/pages/settings/modules/speech.vue @@ -238,6 +238,21 @@ function updateCustomVoiceName(value: string | undefined) { function updateCustomModelName(value: string | undefined) { activeSpeechModel.value = value || '' } + +function handleDeleteProvider(providerId: string) { + if (providerId === 'speech-noop') { + return + } + + if (activeSpeechProvider.value === providerId) { + activeSpeechProvider.value = 'speech-noop' + activeSpeechModel.value = '' + activeSpeechVoiceId.value = '' + activeSpeechVoice.value = undefined + } + + providersStore.deleteProvider(providerId) +}