import logging from .asr_drivers import get_asr_registry logger = logging.getLogger(__name__) class AudioTranscriptionPlugin: def __init__(self): self.name = "audio" self.version = "1.0.0" self.enabled = False def on_enable(self): self.enabled = True logger.info(f"音频转录插件 {self.version} 已启用") def on_disable(self): self.enabled = False logger.info(f"音频转录插件 {self.version} 已禁用") def get_status(self) -> dict: # 基于 driver registry 上报真实状态(默认 provider 及其可用性) registry = get_asr_registry() default_name = registry.get_default_provider() default_driver = registry.get_driver(default_name) availability = default_driver.check_availability() if default_driver else "unknown" return { "name": self.name, "version": self.version, "enabled": self.enabled, "default_provider": default_name, "model": default_driver.model_id if default_driver else None, "available": availability.value if hasattr(availability, "value") else availability, "providers": registry.list_providers(), } plugin = AudioTranscriptionPlugin()