mirror of
https://github.com/agent0ai/agent-zero.git
synced 2026-05-24 13:43:41 +00:00
Split the legacy core speech stack into two built-in, independently toggleable plugins: `_kokoro_tts` for TTS and `_whisper_stt` for STT. This refactor keeps dependency installation and bootstrap concerns in Docker/bootstrap/preload, while moving speech-specific tooling, APIs, prompts, UI, and runtime behavior into the plugins. Core now exposes engine-agnostic `tts-service` and `stt-service` brokers, with browser-native TTS preserved as the fallback when Kokoro is disabled. Included in this change: - add built-in `_kokoro_tts` plugin with plugin-owned synth API, config, status UI, and provider registration - add built-in `_whisper_stt` plugin with plugin-owned transcribe API, mic runtime, device UI, prompt injection, and provider registration - remove legacy core speech APIs/helpers/settings/UI and delete unused `webui/js/speech_browser.js` - replace the old hardcoded speech settings section with a generic voice surface backed by plugin extensions - update preload/docs/tests to match the new plugin-owned speech architecture Behavioral intent: - both plugins are built-in but not `always_enabled` - users can now hot-switch TTS and STT independently - browser TTS remains available when `_kokoro_tts` is off - Whisper mic UI only appears when `_whisper_stt` is enabled |
||
|---|---|---|
| .. | ||
| chunk_parser_test.py | ||
| email_parser_test.py | ||
| rate_limiter_test.py | ||
| test_a0_connector_prompt_gating.py | ||
| test_api_chat_lifetime.py | ||
| test_browser_agent_regressions.py | ||
| test_chat_compaction.py | ||
| test_default_prompt_budget.py | ||
| test_dirty_json.py | ||
| test_docker_release_plan.py | ||
| test_document_query_fallback.py | ||
| test_download_toast_regressions.py | ||
| test_error_retry_plugin.py | ||
| test_extensions_stress.py | ||
| test_fasta2a_client.py | ||
| test_fastmcp_openapi_security.py | ||
| test_file_tree_visualize.py | ||
| test_git_version_label.py | ||
| test_history_compression_wait.py | ||
| test_host_browser_connector.py | ||
| test_http_auth_csrf.py | ||
| test_image_get_security.py | ||
| test_memory_cleanup.py | ||
| test_model_config_api_keys.py | ||
| test_model_config_project_presets.py | ||
| test_model_search.py | ||
| test_multi_tab_isolation.py | ||
| test_oauth_codex.py | ||
| test_office_canvas_setup.py | ||
| test_office_desktop_state.py | ||
| test_office_document_affordance.py | ||
| test_office_document_store.py | ||
| test_onboarding_static.py | ||
| test_persist_chat_log_ids.py | ||
| test_plugin_activation_ui.py | ||
| test_plugin_scan_prompt.py | ||
| test_print_style.py | ||
| test_run_ui_config.py | ||
| test_self_update_tag_filter.py | ||
| test_settings_developer_sections.py | ||
| test_skills_runtime.py | ||
| test_snapshot_parity.py | ||
| test_snapshot_schema_v1.py | ||
| test_socketio_library_semantics.py | ||
| test_socketio_unknown_namespace.py | ||
| test_speech_plugin_split.py | ||
| test_state_monitor.py | ||
| test_state_sync_handler.py | ||
| test_state_sync_welcome_screen.py | ||
| test_stream_tool_early_stop.py | ||
| test_task_scheduler_timezone.py | ||
| test_text_editor_context_patch.py | ||
| test_time_travel.py | ||
| test_tool_action_contracts.py | ||
| test_tool_request_normalization.py | ||
| test_webui_extension_surfaces.py | ||
| test_whatsapp_bridge_manager.py | ||
| test_whatsapp_number_utils.py | ||
| test_whatsapp_storage_paths.py | ||
| test_ws_client_api_surface.py | ||
| test_ws_csrf.py | ||
| test_ws_handlers.py | ||
| test_ws_manager.py | ||
| test_ws_security.py | ||