Clawdbot
|
4842dc64a5
|
feat: scaffold Fish Audio speech provider plugin
- index.ts: plugin entry with definePluginEntry + registerSpeechProvider
- speech-provider.ts: full SpeechProviderPlugin implementation
- resolveConfig from messages.tts.providers.fish-audio
- parseDirectiveToken for voice, model, speed, latency, temperature, top_p
- listVoices merging official + user's own voices
- synthesize with format-aware output (opus for voice-note, mp3 otherwise)
- stub Talk Mode (resolveTalkConfig/resolveTalkOverrides)
- tts.ts: raw fishAudioTTS() fetch + listFishAudioVoices()
- streaming chunked → buffer, error body included in exceptions
- parallel voice listing with graceful partial failure
- speech-provider.test.ts: voice ID validation tests
- openclaw.plugin.json: speechProviders contract
- package.json: peer dep on openclaw >=2026.3.0
|
2026-03-29 18:14:29 +11:00 |
|