feat: add option to remove reasoning tag from TTS output

This commit is contained in:
n4ze3m
2025-02-09 13:00:04 +05:30
parent 023d3c2fb2
commit 084b859e3e
21 changed files with 106 additions and 10 deletions

View File

@@ -1,6 +1,9 @@
import { Storage } from "@plasmohq/storage"
const storage = new Storage()
const storage2 = new Storage({
area: "local"
})
const DEFAULT_TTS_PROVIDER = "browser"
@@ -98,10 +101,22 @@ export const getResponseSplitting = async () => {
return data
}
export const getRemoveReasoningTagTTS = async () => {
const data = await storage2.get("removeReasoningTagTTS")
if (!data || data.length === 0 || data === "") {
return true
}
return data === "true"
}
export const setResponseSplitting = async (responseSplitting: string) => {
await storage.set("ttsResponseSplitting", responseSplitting)
}
export const setRemoveReasoningTagTTS = async (removeReasoningTagTTS: boolean) => {
await storage2.set("removeReasoningTagTTS", removeReasoningTagTTS.toString())
}
export const getTTSSettings = async () => {
const [
ttsEnabled,
@@ -112,7 +127,8 @@ export const getTTSSettings = async () => {
elevenLabsApiKey,
elevenLabsVoiceId,
elevenLabsModel,
responseSplitting
responseSplitting,
removeReasoningTagTTS
] = await Promise.all([
isTTSEnabled(),
getTTSProvider(),
@@ -122,7 +138,8 @@ export const getTTSSettings = async () => {
getElevenLabsApiKey(),
getElevenLabsVoiceId(),
getElevenLabsModel(),
getResponseSplitting()
getResponseSplitting(),
getRemoveReasoningTagTTS()
])
return {
@@ -134,7 +151,8 @@ export const getTTSSettings = async () => {
elevenLabsApiKey,
elevenLabsVoiceId,
elevenLabsModel,
responseSplitting
responseSplitting,
removeReasoningTagTTS
}
}
@@ -146,7 +164,8 @@ export const setTTSSettings = async ({
elevenLabsApiKey,
elevenLabsVoiceId,
elevenLabsModel,
responseSplitting
responseSplitting,
removeReasoningTagTTS
}: {
ttsEnabled: boolean
ttsProvider: string
@@ -156,6 +175,7 @@ export const setTTSSettings = async ({
elevenLabsVoiceId: string
elevenLabsModel: string
responseSplitting: string
removeReasoningTagTTS: boolean
}) => {
await Promise.all([
setTTSEnabled(ttsEnabled),
@@ -165,6 +185,7 @@ export const setTTSSettings = async ({
setElevenLabsApiKey(elevenLabsApiKey),
setElevenLabsVoiceId(elevenLabsVoiceId),
setElevenLabsModel(elevenLabsModel),
setResponseSplitting(responseSplitting)
setResponseSplitting(responseSplitting),
setRemoveReasoningTagTTS(removeReasoningTagTTS)
])
}