feat: expand speech provider support with new client types and config… (#389)

* feat: expand speech provider support with new client types and configuration schema

* feat: add icon support for speech providers and update related configurations

* feat: add SVG support for Deepgram and Elevenlabs with Vue components

* feat: except *-speech client type in llm provider

* feat: enhance speech provider functionality with advanced settings and model import capabilities

* chore: remove go.mod replace

* feat: enhance speech provider functionality with advanced settings and model import capabilities

* chore: update go module dependencies

---------

Co-authored-by: Acbox <acbox0328@gmail.com>
This commit is contained in:
Yiming Qi
2026-04-19 22:58:16 +09:00
committed by GitHub
parent 8e013ad1ad
commit 8d78925a23
46 changed files with 2808 additions and 565 deletions
+40 -4
View File
@@ -18,7 +18,17 @@ SELECT * FROM providers WHERE name = sqlc.arg(name);
-- name: ListProviders :many
SELECT * FROM providers
WHERE client_type NOT IN ('edge-speech')
WHERE client_type NOT IN (
'edge-speech',
'openai-speech',
'openrouter-speech',
'elevenlabs-speech',
'deepgram-speech',
'minimax-speech',
'volcengine-speech',
'alibabacloud-speech',
'microsoft-speech'
)
ORDER BY created_at DESC;
-- name: UpdateProvider :one
@@ -38,8 +48,19 @@ RETURNING *;
DELETE FROM providers WHERE id = sqlc.arg(id);
-- name: CountProviders :one
SELECT COUNT(*) FROM providers
WHERE client_type NOT IN ('edge-speech');
SELECT COUNT(*)
FROM providers
WHERE client_type NOT IN (
'edge-speech',
'openai-speech',
'openrouter-speech',
'elevenlabs-speech',
'deepgram-speech',
'minimax-speech',
'volcengine-speech',
'alibabacloud-speech',
'microsoft-speech'
);
-- name: CreateModel :one
INSERT INTO models (model_id, name, provider_id, type, config)
@@ -110,6 +131,11 @@ DELETE FROM models WHERE id = sqlc.arg(id);
-- name: DeleteModelByModelID :exec
DELETE FROM models WHERE model_id = sqlc.arg(model_id);
-- name: DeleteModelByProviderIDAndModelID :exec
DELETE FROM models
WHERE provider_id = sqlc.arg(provider_id)
AND model_id = sqlc.arg(model_id);
-- name: CountModels :one
SELECT COUNT(*) FROM models
WHERE type != 'speech';
@@ -192,7 +218,17 @@ WHERE m.id = sqlc.arg(id)
-- name: ListSpeechProviders :many
SELECT * FROM providers
WHERE client_type IN ('edge-speech')
WHERE client_type IN (
'edge-speech',
'openai-speech',
'openrouter-speech',
'elevenlabs-speech',
'deepgram-speech',
'minimax-speech',
'volcengine-speech',
'alibabacloud-speech',
'microsoft-speech'
)
ORDER BY created_at DESC;
-- name: ListSpeechModels :many