message / plugins /audio /main.py
hunian
refactor(plugins): 插件短名并统一 MCP tool 为 {plugin}-{tool}
cc826a1
Raw
History Blame Contribute Delete
1.3 kB
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()