name: windows-tts description: 在 Windows 11 上“直接发声”的 TTS(从 WSL2/TUI 调用 powershell.exe + System.Speech)。适用于用户说“说出来/读出来/语音播报/用TTS”,或反馈“没声音/tts 生成的 mp3 是空的/播不出来”,以及需要中文语音但 OpenClaw 内置 tts 不可用时。
Windows TTS (WSL2)
通过 powershell.exe 使用 Windows 内置 TTS,使音频通过 Windows 默认输出设备 播放(无需 WSLg/PulseAudio)。
什么时候用这个技能(触发提示)
当用户出现以下表达时,优先使用本技能,而不是 OpenClaw 内置的 tts(后者可能生成空 mp3 或在某些环境下无声):
- “说出来 / 读出来 / 念一下 / 语音播报 / 用 TTS”
- “还没声音 / 没声音 / 播不出来”
- “中文语音”且希望直接从电脑扬声器播放
注意:本技能是“直接播放”,不会返回音频文件路径。
快速开始(直接说出来)
从 WSL 运行:
bash {baseDir}/scripts/say.sh "你好,我是你的助手。"
列出已安装的语音
bash {baseDir}/scripts/list_voices.sh
使用特定语音说话
bash {baseDir}/scripts/say.sh --voice "VOICE_NAME" "你好,我以后会用这个声音说话。"
注意事项
- 如果在 bash 中直接嵌入 PowerShell,请记住:转义
$或使用外层单引号;否则 bash 会展开$s并破坏命令。 - 如果用户报告类似
=New-Object或TypeName:的提示错误,请优先使用提供的脚本,而不是临时引用。