Skip to content

Provider Pluggability — Make All Services Swappable #244

@MCERQUA

Description

@MCERQUA

Overview

OpenVoiceUI's TTS system is the only component with true pluggability — registry-based auto-discovery, custom API URL support, admin panel selection, and per-agent profile overrides. Every other service (STT, Vision, Image Gen, Music Gen, LLM, Search, Voice Cloning) is either hardcoded to specific providers or missing a "bring your own endpoint" option.

The name is OpenVoiceUI — every service should be mix-and-match, plug-and-play.

Current State

Service Pluggable? Gap
TTS ✅ Done Gold standard — registry + custom URL + admin UI
STT ❌ In Progress No custom URL. Chrome WebSpeech or hardcoded cloud only. See #193
Vision / Camera ❌ Not Started Hardcoded to Groq/Llama 4 Scout. No custom endpoint
Image Generation ⚠️ Partial Multiple providers exist but no registry, no custom URL
Music Generation ❌ Not Started Suno API endpoint hardcoded
Voice Cloning ⚠️ Partial Embedded in TTS providers, inconsistent interfaces
LLM ⚠️ Partial Profile system works but no generic "bring your own LLM URL"
Web Search ❌ Not Started DuckDuckGo hardcoded, Brave only in OpenClaw

Target Architecture (Per Service)

Every service should follow the TTS pattern:

  1. Abstract base class — provider contract (providers/<type>/base.py)
  2. Provider registry — auto-discovery via config/providers.yaml
  3. Custom API URL env var<SERVICE>_API_URL for bring-your-own endpoints
  4. Admin panel selection — radio buttons or dropdown to switch providers
  5. Per-agent profile override — each agent profile can use different providers

Implementation Order

  1. STT[Proposal] Add Support for External Whisper ASR Docker Service #193 (most requested, closes the obvious gap)
  2. Vision — camera + image upload analysis
  3. Image Generation — unify existing providers into registry
  4. LLM — generic endpoint support alongside gateway
  5. Music Generation — abstract Suno, allow alternatives
  6. Voice Cloning — unified interface across providers
  7. Web Search — expose to voice UI, allow custom search APIs
  8. Admin UI updates — unified service catalog view

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestprovider-pluggabilityMaking services swappable and bring-your-own

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions