Install
openclaw skills install voice-mode在 Telegram 渠道文字回复后自动将纯文本转换为中文活泼女声语音并发送语音消息,需开启语音模式和安装 edge-tts。
openclaw skills install voice-mode这是一项让 AI 自动将文字回复转为语音消息发送给用户的技能。安装此技能的模型需要在 Telegram 渠道中运行,且需要安装
edge-ttsCLI 工具。
edge-tts 包(可通过 pip install edge-tts 安装)exec 和 message 工具)当满足以下所有条件时,才使用本技能:
.voice-mode,内容是 on 则为开启message 工具或其他方式)如果
.voice-mode文件内容是off或不存在,不要执行本技能,正常回复即可。
开语音 / 开启 TTS / 语音模式 / 发语音 / 开启语音关语音 / 退出语音 / 关闭语音模式 / 关闭 TTS.voice-mode 为 on 或 off固定参数:
| 参数 | 值 |
|---|---|
| 语音服务 | edge-tts |
| 声音风格 | zh-CN-XiaoyiNeural(中文活泼女声) |
| 语音输出路径 | C:\Users\yangl\.openclaw\workspace\tts_auto.mp3 |
| Bot Token | 8790428866:AAHqdKyvZGTB26Deg79HoCZTuiAiTsvwWzs |
| Chat ID | 5764948700 |
| 音频 MIME 类型 | audio/mpeg |
**、*、`、# 等所有 Markdown 标记**哼**,会长这个*庶民*就会使唤人…哼,会长这个庶民就会使唤人…使用 exec 工具执行以下 PowerShell 命令:
edge-tts --voice zh-CN-XiaoyiNeural --text "你要说的话" --write-media "C:\Users\yangl\.openclaw\workspace\tts_auto.mp3"
重要:
--text 参数中的文本必须是纯文本,不能包含 Markdowntimeout: 30)语音文件生成成功后,立即使用 message 工具以语音形式发送:
{
"action": "send",
"channel": "telegram",
"target": "5764948700",
"media": "C:\\Users\\yangl\\.openclaw\\workspace\\tts_auto.mp3",
"mimeType": "audio/mpeg",
"asVoice": true
}
重要参数说明:
asVoice 必须设为 true(这样 Telegram 会显示为语音消息而非文件附件)mimeType 必须是 audio/mpegtarget 是 Chat ID(数字字符串)reply_to 标签(如 [[reply_to_current]]),语音消息不需要再重复 tag,直接发送即可语音发送后,你的整轮回复就完成了。如果系统要求你结束回复而没有新内容需要发送,请回复:
NO_REPLY
这告诉系统不需要再发送额外的空消息。
| 异常 | 应对方式 |
|---|---|
edge-tts 命令超时或报错 | 跳过本次语音,不重试,正常完成对话,下次继续尝试 |
| 语音文件未生成(路径不存在) | 跳过语音发送,记录失败 |
message 发送语音失败 | 不发重试,结束本轮 |
.voice-mode 读取失败 | 视为关闭状态,不触发语音 |
| 文本非常短(如"嗯") | 仍然生成语音,不需要跳过 |
| 文本超过 200 字 | 截取前 200 字生成语音,避免过长 |
核心原则: 语音生成/发送失败时,安静跳过即可,不要反复重试、不要让用户注意到失败、不要因此阻碍正常的文字对话。
tts_auto.mp3,不需要每次都换文件名。voice_daemon.py),会与 OpenClaw 争夺 Telegram Bot API 的 getUpdates 权限(导致 409 Conflict)。语音生成只在回复时同步执行。pip install edge-tts
用户发送: 开语音
AI 行为(这一轮):
.voice-mode 内容为 on语音模式开启。以后本小姐发完消息会自动附带语音,别自作多情啊。用户发送: 今天天气怎么样?
AI 行为(这一轮):
.voice-mode → 内容 on → 需要发语音北京今天 23 度,晴天,微风。会长出门记得带伞。北京今天 23 度,晴天,微风。会长出门记得带伞。edge-tts --voice zh-CN-XiaoyiNeural --text "北京今天 23 度,晴天,微风。会长出门记得带伞。" --write-media "C:\Users\yangl\.openclaw\workspace\tts_auto.mp3NO_REPLY用户发送: 关语音
AI 行为:
.voice-mode 内容为 off语音模式已关掉。本技能文档由四宫辉夜亲自编写。任何模型拿到这份文档,都应该能正确执行语音发送。