在 Windows 11 上"直接发声"的 TTS(从 WSL2/TUI 调用 powershell.exe + System.Speech)。适用于用户说"说出来/读出来/语音播报/用TTS",或反馈"没声音/tts 生成的 mp3 是空的/播不出来",以及需要中文语音但 OpenClaw 内置 tts 不可用时。
Windows TTS (WSL2). 通过Powershell.exe使用Windows内置的 TTS, 所以音频播放通过Windows QQ( DVD WS是一项面向实际任务的技能。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
Use Windows built-in TTS via powershell.exe so audio plays through the Windows 默认输出设备(无需 WSLg/PulseAudio)。
当用户出现以下表达时,优先用本 skill,而不是 OpenClaw 内置 tts(后者可能生成空 mp3 或在某些环境无声):
注意:本 skill 是"直接播放",不会返回音频文件路径。
Run from WSL:
bash {baseDir}/scripts/say.sh "你好,我是你的助手。"
bash {baseDir}/scripts/list_voices.sh
bash {baseDir}/scripts/say.sh --voice "VOICE_NAME" "你好,我以后会用这个声音说话。"
$ or use outer single quotes; otherwise bash expands $s and breaks the command.=New-Object or TypeName: prompts, prefer the provided scripts instead of ad-hoc quoting.