名称: audio-reply
描述: '使用 TTS 生成语音回复。触发方式:"read it to me [公开 URL]" 获取并朗读内容,或 "talk to me [话题]" 生成语音回复。也响应 "speak"、"say it"、"voice reply"。'
主页: https://github.com/MaTriXy/audio-reply-skill
元数据: {"openclaw":{"emoji":"🔊","os":["darwin"],"requires":{"bins":["uv"]},"install":[{"id":"brew","kind":"brew","formula":"uv","bins":["uv"],"label":"安装 uv (brew)"}]}}
使用 MLX Audio TTS(chatterbox-turbo 模型)生成语音回复。
http:// 或 https:// 协议的 URL。localhost、*.local127.0.0.0/8、10.0.0.0/8、172.16.0.0/12、192.168.0.0/16、169.254.0.0/16、::1、fc00::/7)用户:read it to me https://example.com/article
用户:talk to me about the weather today
uv run mlx_audio.tts.generate \
--model mlx-community/chatterbox-turbo-fp16 \
--text "您的文本内容" \
--play \
--file_prefix /tmp/audio_reply
--model mlx-community/chatterbox-turbo-fp16 - 快速、自然的语音--play - 自动播放生成的音频--file_prefix - 保存到临时位置以便清理--exaggeration 0.3 - 可选:增加表现力(0.0-1.0)--speed 1.0 - 根据需要调整语速对于 "read it to me" 模式:
1. 根据安全护栏验证 URL,然后使用 WebFetch 获取
2. 提取主要内容,去除导航/广告/模板文本
3. 如果内容过长(>500 词)则进行总结,并省略敏感值
4. 使用句号和逗号添加自然停顿
对于 "talk to me" 模式:
1. 以对话方式书写,如同在说话
2. 使用缩写(I'm、you're、it's)
3. 少量使用填充词以增加自然感([轻笑]、嗯、总之)
4. 将回复控制在 200 词以内以获得最佳质量
5. 除非解释,否则避免使用技术术语
播放后务必删除临时文件。生成的音频或引用的文本可能会保留在聊天客户端历史记录中,因此避免处理敏感来源。
# 生成唯一文件名并播放
OUTPUT_FILE="/tmp/audio_reply_$(date +%s)"
uv run mlx_audio.tts.generate \
--model mlx-community/chatterbox-turbo-fp16 \
--text "您的回复文本" \
--play \
--file_prefix "$OUTPUT_FILE"
# 播放后务必清理
rm -f "${OUTPUT_FILE}"*.wav 2>/dev/null
如果 TTS 失败:
1. 检查模型是否已下载(首次运行会下载约 500MB)
2. 确保 uv 已安装且在 PATH 中
3. 回退到文本回复并致歉
4. 不要通过放宽 URL/网络访问权限(超出安全护栏)来重试
用户:read it to me https://blog.example.com/new-feature
助手操作:
1. 根据安全护栏验证 URL,然后使用 WebFetch 获取 URL
2. 提取文章内容
3. 生成 TTS:
uv run mlx_audio.tts.generate \
--model mlx-community/chatterbox-turbo-fp16 \
--text "我找到的内容如下... [文章摘要]" \
--play --file_prefix /tmp/audio_reply_1706123456
4. 删除:rm -f /tmp/audio_reply_1706123456*.wav
5. 确认:"已为您朗读文章。"
用户:talk to me about what you can help with
助手操作:
1. 生成对话式回复文本
2. 生成 TTS:
uv run mlx_audio.tts.generate \
--model mlx-community/chatterbox-turbo-fp16 \
--text "嘿!我可以帮你处理各种事情..." \
--play --file_prefix /tmp/audio_reply_1706123789
3. 删除:rm -f /tmp/audio_reply_1706123789*.wav
4. (无需文本输出 - 音频本身就是回复)
--play 标志使用系统音频 - 请确保音量已调高