mirror of
https://github.com/agent0ai/agent-zero.git
synced 2026-05-23 21:06:39 +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
35 lines
940 B
HTML
35 lines
940 B
HTML
<html>
|
|
<head>
|
|
<title>Voice</title>
|
|
</head>
|
|
|
|
<body>
|
|
<div x-data>
|
|
<div class="section-title">Voice</div>
|
|
<div class="section-description">
|
|
Voice capabilities are provided by built-in plugins. Browser-native
|
|
speech remains available as the fallback output path when no TTS plugin
|
|
is active. Enable or disable providers from the Agent Plugins section
|
|
below.
|
|
</div>
|
|
|
|
<x-extension id="voice-settings-start"></x-extension>
|
|
<div class="voice-settings-grid">
|
|
<x-extension id="voice-settings-main"></x-extension>
|
|
</div>
|
|
<x-extension id="voice-settings-end"></x-extension>
|
|
</div>
|
|
|
|
<style>
|
|
.voice-settings-grid {
|
|
display: grid;
|
|
gap: 12px;
|
|
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
|
}
|
|
|
|
.voice-settings-grid > x-extension {
|
|
display: contents;
|
|
}
|
|
</style>
|
|
</body>
|
|
</html>
|