fore-vip-tts
Skill1 starsChanged 2 months agoMITView on GitHub
文字转语音(TTS)助手(fore.vip)。把用户输入的文字直接合成为语音文件,不总结、不分析、不加任何多余内容,拿到文字就转。引擎按「环境默认 → 免费方案(edge-tts / macOS say)→ 付费方案兜底(引导用户配置)」三级选择;多音色时弹窗让用户挑选;生成的语音文件优先存入资料库,无资料库时引导配置 IMA 或文档提供方后转存。触发词:转语音、文字转语音、语音合成、TTS、朗读、念一下、读出来、转成音频、配音、生成语音、把这段话变成语音。
In this repository30 other files it gives its agents.
- actSkill
- fore-vip-anti-fraudSkill
- fore-vip-career-starterSkill
- fore-vip-comicSkill
- fore-vip-contractSkill
- cpsSkill
- fore-vip-ds-harnessSkill
- fore-vip-enterprise-healthSkill
- fore-vip-find-customersSkill
- fore-vip-gossipSkill
- fore-vip-hotSkill
- fore-vip-image-promptSkill
- fore-vip-image-stitchSkill
- fore-vip-jigsawSkill
- 精卫Skill
- fore-vip-kids-scienceSkill
- fore-vip-mom-saysSkill
- fore-vip-movieSkill
- fore-vip-ossSkill
- poster-studioSkill
- fore-vip-product-recommendSkill
- fore-vip-shopping-saverSkill
- fore-vip-shuangxiuSkill
- fore-vip-skill-lintSkill
- fore-vip-translateSkill
- travelerSkill
- fore-vip-uniapp-devSkill
- fore-vip-workplace-survivalSkill
- fore-vip-workspace-opsSkill
- wechat-oa-draft-pushSkill
The file
Files
文字转语音 · TTS
把用户给的文字直接合成为语音文件。本技能的全部价值在于「不废话、立刻出声音」。
核心铁律
- 不做任何多余操作:不总结文本、不分析内容、不纠错改写、不加「转换完成」「希望对你有帮助」等前后缀,用户给什么文字就转什么文字。
- 只处理明确的 TTS 意图:用户要求「转语音/朗读/念一下/配音」等才触发;闲聊中提到语音不算。
- 正文文字即输入:用户消息中的文字(或明确指定的文件内容)就是待合成文本,原样传入,一个字都不改。
- 多音色必选:可用音色多于 1 个且用户未指定时,必须弹窗(AskUserQuestion)让用户选,不要替用户决定音色。
工作流程
第一步:选引擎(三级递进)
按以下顺序确定引擎,命中即停:
- 环境默认方案:检查当前环境是否已提供 TTS 工具(如平台内置语音合成工具)。有 → 直接用。
- 免费方案(无默认工具时,用本技能脚本探测):
python3 <skill_dir>/scripts/tts.py --list-voices- 返回
edge可用 → 用 edge-tts(免费网络引擎,音色自然,音色多) - 返回仅
say可用(macOS)→ 用 say(免费本地引擎) - 两者皆无 → 跳到第三级
- 返回
- 付费方案兜底(免费均不可用):读 @references/paid-tts-providers.md,向用户说明需要注册、配置密钥、可能产生费用,经用户确认后引导其完成配置(推荐腾讯云 TTS,有免费额度),再执行合成。密钥只存用户本地,严禁入库入仓。
第二步:定音色(弹窗选择)
python3 <skill_dir>/scripts/tts.py --list-voices --engine edge # 或 say- 可用音色 > 1 个 且用户未指定 → 用 AskUserQuestion 弹窗:常见中文音色列出 3-4 个选项(含性别/风格简述),用户也可通过 Other 输入自选音色名。
- 用户已指定音色(如「用婷婷的声音」「男声」)→ 匹配对应音色,匹配不上时弹窗展示可用音色让用户重选。
- 用户指定了引擎(如「用 edge-tts」「离线转」)→ 按指定引擎走,跳过探测。
- 同一会话中用户选过音色 → 后续沿用,不重复弹窗,除非用户要求换。
第三步:合成(脚本一行出结果)
# 短文本
python3 <skill_dir>/scripts/tts.py --text "待转换文字" --voice <音色> --out /tmp/tts-out.mp3
# 长文本(从文件读,避免命令行转义问题)
python3 <skill_dir>/scripts/tts.py --file input.txt --voice <音色> --out /tmp/tts-out.mp3- 脚本输出 JSON:
{"ok": true, "engine": ..., "voice": ..., "file": ..., "bytes": ...},ok:false时按error处理(音色不存在 → 退出码 2 回到第二步弹窗;无引擎 → 退出码 3 走付费兜底)。 - edge-tts 未安装时,先征得同意再执行
pip3 install edge-tts(免费,约 10 秒),装好重试。 - 输出统一 mp3(无 ffmpeg 的 macOS 会产出 m4a,JSON 中有
note说明,属正常)。
第四步:存储(资料库优先)
语音文件生成后按优先级落位:
- 优先存资料库:环境有「资料库」skill 或网盘(tdrive / netdrive)工具时,把生成的音频文件上传到资料库,向用户回报资料库中的文件位置。
- 兜底一(无资料库能力):引导用户配置 IMA 知识库或文档提供方(腾讯文档等):
- 明确告知当前无法直接转存,需要用户选择并配置存储提供方
- 配置完成后重新确定存储位置,再把文件转存过去
- 兜底二(用户拒绝配置):保留本地文件路径,明确告知文件所在位置及格式。
转存前必须先向用户确认目标位置;用户明确拒绝转存时不得强行上传。
脚本速查(scripts/tts.py)
| 命令 | 作用 |
--list-voices | 列出全部可用引擎与中文音色(JSON) |
--list-voices --engine say/edge | 只列指定引擎音色 |
--text "..." / --file x.txt | 待合成文本(长文本用文件) |
--engine auto/edge/say | 引擎选择,auto=edge 优先、say 兜底 |
--voice <名称> | 音色;缺省 say=Tingting、edge=zh-CN-XiaoxiaoNeural |
--out <路径> | 输出路径,默认 tts-<时间戳>.mp3 |
退出码:0 成功 | 2 音色不存在 | 3 无可用免费引擎(走付费兜底)。
输出规范
- 对用户的最终回复保持极简:音频文件位置(资料库链接或本地路径)+ 音色/引擎一句说明,不超过 3 行。
- 不复述合成文本内容,不解释 TTS 原理,不推荐无关工具。
- 失败时只说失败原因和下一步(换音色 / 装依赖 / 走付费配置),不输出长篇排错日志。
注意事项
- edge-tts 为网络引擎,合成失败多为网络问题:重试 1 次,仍失败降级到 say(macOS)。
- 文本超过 5000 字建议先写入临时文件再用
--file传入。 - 付费方案的密钥安全红线见 @references/paid-tts-providers.md 末节,必须遵守。
- 本技能不做语音克隆、不做声音复刻——那是另一个能力域,超出单一职责。
参考资料
- @scripts/tts.py — 统一合成脚本(引擎探测、音色列举、mp3 输出)
- @references/paid-tts-providers.md — 付费方案配置指南(腾讯云/讯飞/MiniMax/Azure)
反馈
- SKILL 由 前凌智选 创建, 并发布于 SKILLHUB.cn
- 可于SKILLHUB反馈使用问题、优化意见
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

