把文本转换成可直接播放的语音。默认走 新闻播报 预设,优先使用 Edge Neural TTS,失败后自动回退到本地引擎。
.codebuddy/chat-tts/latest-response.json 这类桥接文件里的内容直接播出来。tts_speak.py --auto-broadcast。上传知识库时,建议保留下面的结构:
ai-reply-tts/
SKILL.md
scripts/
tts_speak.py
check_tts_env.py
下面示例中的 请替换成技能实际安装目录,例如:
~/.codebuddy/skills/ai-reply-tts# 直接朗读一段文本
python <skill-dir>/scripts/tts_speak.py "这是一段测试内容"
# 默认新闻播报
python <skill-dir>/scripts/tts_speak.py --preset 新闻播报 "这是一段测试内容"
# 朗读文件内容
python <skill-dir>/scripts/tts_speak.py --file reply.txt
# 朗读默认桥接文件
python <skill-dir>/scripts/tts_speak.py --latest
# 自动播报模式读取默认桥接文件
python <skill-dir>/scripts/tts_speak.py --auto-broadcast --latest
# 指定桥接文件和字段
python <skill-dir>/scripts/tts_speak.py --bridge-file .codebuddy/chat-tts/latest-response.json --bridge-field spokenText
# 只输出清洗后的文本,不真正播报
python <skill-dir>/scripts/tts_speak.py --latest --dry-run
# 停止当前朗读
python <skill-dir>/scripts/tts_speak.py --stop
首次使用前建议执行:
python <skill-dir>/scripts/check_tts_env.py
一键安装推荐依赖:
python <skill-dir>/scripts/check_tts_env.py --install
手动安装依赖:
pip install edge-tts playsound==1.2.2 pyttsx3 pywin32
如需更好的中文本地语音:
当未显式指定 --preset、--style、--voice、--edge-rate、--pitch、--rate 时:
新闻播报pyttsx3,再回退到 PowerShell这个 Skill 现在支持直接读取桥接 JSON,方便和插件或其他 Skill 对接。
默认桥接文件:
.codebuddy/chat-tts/latest-response.json默认字段优先级:
spokenTextsummaryplainText推荐桥接 JSON 结构:
{
"conversationId": "06f9cd311ad343508808e007e79bd57a",
"replyId": "reply-2026-03-27T12:30:00+08:00",
"updatedAt": "2026-03-27T12:30:00+08:00",
"source": "skill",
"title": "本轮回复主题",
"plainText": "完整一点的文本版本",
"spokenText": "更适合直接播报的版本"
}
当用户说“朗读上一段”“念出来”“用女播音员读一下”时:
--preset。新闻播报。当用户说“开启自动朗读”“每次回复后都读”时:
python /scripts/tts_speak.py --auto-broadcast --latest --preset。--stop 或关闭上层开关。女播音员:正式女声,适合通知、说明、总结男播音员:沉稳男声,适合结论、讲解、正式播报温柔女声:更柔和,适合解释型内容新闻播报:默认预设,停顿更明显,节奏更稳脚本会自动处理不适合直接念出来的内容:
代码内容已省略链接已省略路径已省略AI、TTS、API → 转成更适合中文朗读的表达如果你要把这个 Skill 和聊天插件配合:
chat-tts-readerspokenText 后直接播报这样职责最清楚:
Q:默认是什么声音?
默认是 新闻播报,也就是偏正式、偏稳的新闻主播风格。
Q:怎么快速切成女播音员?
直接加 --preset 女播音员。
Q:怎么读最新桥接文件?
直接执行 python 。
Q:怎么做真正的自动播报?
让插件或自动化在每次回复后调用 tts_speak.py --auto-broadcast --latest。这个 Skill 自己不负责监听聊天事件。
Q:没有声音怎么办?
先运行 check_tts_env.py,确认依赖、系统音量和中文语音包状态。
共 1 个版本