diff --git a/nanobot/audio/transcription.py b/nanobot/audio/transcription.py index 3f942d925..92dffdf78 100644 --- a/nanobot/audio/transcription.py +++ b/nanobot/audio/transcription.py @@ -20,8 +20,8 @@ from nanobot.audio.transcription_registry import ( get_transcription_provider, resolve_transcription_provider, ) -from nanobot.providers.registry import find_by_name from nanobot.config.paths import get_media_dir +from nanobot.providers.registry import find_by_name from nanobot.utils.media_decode import FileSizeExceeded, save_base64_data_url TranscriptionProviderName = str diff --git a/tests/webui/test_settings_api.py b/tests/webui/test_settings_api.py index 8c3c5889f..c3c3d2171 100644 --- a/tests/webui/test_settings_api.py +++ b/tests/webui/test_settings_api.py @@ -300,6 +300,24 @@ def test_settings_payload_exposes_openrouter_transcription_provider( assert providers["openrouter"]["configured"] is True +def test_settings_payload_exposes_siliconflow_transcription_provider( + tmp_path, + monkeypatch: pytest.MonkeyPatch, +) -> None: + config_path = tmp_path / "config.json" + config = Config() + config.providers.siliconflow.api_key = "sf-test" + save_config(config, config_path) + monkeypatch.setattr("nanobot.config.loader._current_config_path", config_path) + + payload = settings_payload() + + providers = {provider["name"]: provider for provider in payload["transcription"]["providers"]} + assert providers["siliconflow"]["label"] == "SiliconFlow" + assert providers["siliconflow"]["configured"] is True + assert providers["siliconflow"]["default_api_base"] == "https://api.siliconflow.cn/v1" + + def test_settings_payload_exposes_xiaomi_mimo_transcription_provider( tmp_path, monkeypatch: pytest.MonkeyPatch,