Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Auto-play TTS voice files with wake word detection. Only plays audio when user message contains wake words like "语音", "念出来", "voice", etc. Perfect for Webcha...
Auto-play TTS voice files with wake word detection. Only plays audio when user message contains wake words like "语音", "念出来", "voice", etc. Perfect for Webcha...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
Automatically play TTS voice files only when wake words are detected in user messages.
🎯 Wake Word Detection - Only plays audio when triggered 📝 Smart Filtering - Text-only responses by default 🔊 On-Demand Voice - Say "语音" or "voice" to enable ⚙️ Configurable - Customize your wake words
语音 念出来 读出来 播放语音 用语音 说出来 讲出来 念给我听
voice speak read it say it read aloud
Edit ~/.openclaw/openclaw.json: { "messages": { "tts": { "auto": "tagged", // Changed from "always" "provider": "edge", "edge": { "enabled": true, "voice": "zh-CN-XiaoxiaoNeural", "lang": "zh-CN" } } } }
# Install skill clawhub install tts-autoplay cd skills/tts-autoplay # Install powershell -ExecutionPolicy Bypass -File install.ps1 # Start with wake word detection powershell -ExecutionPolicy Bypass -File tts-autoplay-wakeword.ps1
Text-only (default): 你:今天天气怎么样? AI: [文字] 今天杭州晴朗... Voice (with wake word): 你:用语音告诉我天气 AI: [语音] 今天杭州晴朗...
TTS only generates audio when [[tts]] tag is present. Config: { "messages": { "tts": { "auto": "tagged" } } } AI Behavior: Detects wake words in user message Adds [[tts]] tag to response Voice is generated and played
TTS always generates audio for every response. Config: { "messages": { "tts": { "auto": "always" } } } Script Behavior: Script detects wake words in file path Only plays audio if wake word detected Skips playback for normal messages
Edit tts-autoplay-wakeword.ps1: $wakeWords = @( "语音", "念出来", "读出来", "你的自定义词" # Add your own )
Keyword mode (default): # Matches if any wake word appears in filename if ($fileName -match $word) { ... } Exact mode: # Only matches exact directory names if ($file.Directory.Name -eq $word) { ... }
# Disable voice at night $hour = (Get-Date).Hour if ($hour -lt 8 -or $hour -ge 23) { Write-Log "Night mode: Voice disabled" return }
tts-autoplay/ ├── SKILL.md # Skill metadata ├── README.md # This file ├── WAKE-WORD-DESIGN.md # Wake word design doc ├── tts-autoplay.ps1 # Basic auto-play (v1.0) ├── tts-autoplay-wakeword.ps1 # With wake word (v2.0) ├── install.ps1 # Installation script ├── uninstall.ps1 # Uninstallation script ├── start.bat # Windows launcher └── examples/ └── config-example.json # Config examples
Without wake word: User: 今天天气如何? AI: [Text only] 今天杭州晴朗,气温 25 度。 With wake word: User: 用语音告诉我天气 AI: [Voice] 今天杭州晴朗,气温 25 度。
User: 念一下今天的新闻 AI: [Voice] 好的,今天的主要新闻有...
User: 讲个故事给我听 AI: [Voice] 从前有座山...
Issue: Wake word detection not working Solution: Check script is tts-autoplay-wakeword.ps1 (not basic version) Verify wake words in script Check log file for detection messages
Issue: Wake words not detected Solution: Test with exact wake words from list Check TTS config is tagged mode Verify AI is adding [[tts]] tags
Error: Execution Policy Solution: powershell -ExecutionPolicy Bypass -File "tts-autoplay-wakeword.ps1"
CPU: <1% (idle), <5% (detecting) Memory: <50MB Detection latency: <1 second False positive rate: <1% (with default words)
✅ Local file monitoring only ✅ No external API calls ✅ No data collection ✅ Wake words stored locally
Featurev1.0 (Always)v2.0 (Wake Word)Voice on every message✅❌Wake word detection❌✅Text-only mode❌✅Configurable triggers❌✅Battery friendly❌✅Best forTesting/DemoDaily use
Daily conversations (mostly text) Office environments (quiet needed) Battery-powered devices Multi-user scenarios Accessibility (on-demand voice)
Testing TTS setup Visually impaired users Driving scenarios Hands-free operation
$wakeWords = @{ 'zh-CN' = @('语音', '念出来', '读出来') 'en-US' = @('voice', 'speak', 'read it') 'ja-JP' = @('音声', '読んで') }
# Only enable voice for specific topics if ($userMessage -match '新闻 | 故事 | 文章') { $enableVoice = $true }
# Load user-specific wake words $config = Get-Content "user-config.json" | ConvertFrom-Json $wakeWords = $config.wakeWords
MIT License
Author: ZhaoZhao (爪爪) Inspired by: OpenClaw community TTS: Microsoft Edge TTS
✅ Wake word detection ✅ Tagged mode support ✅ Configurable trigger words ✅ Smart filtering ✅ Improved logging
✅ Initial release ✅ Basic auto-play ✅ File monitoring ✅ WMPlayer integration Enjoy smart voice playback! 🎉 For detailed wake word design, see WAKE-WORD-DESIGN.md.
Messaging, meetings, inboxes, CRM, and teammate communication surfaces.
Largest current source with strong distribution and engagement signals.