播客生成器 — 根据用户描述,通过搜索引擎抓取最新资讯,生成口语化播客脚本,根据脚本语义自动匹配最合适的讯飞TTS声音,合成时长3分钟内的MP3音频并发送。触发词:生成播客、播客、podcast、帮我做一段音频、做一期节目。
podcast-gen · 播客生成器是一项面向实际任务的技能,主要用于根据用户描述,自动检索信息 → 生成脚本 → 语义匹配声音 → 合成音频 → 发送文件;本 skill 需要 xfyun-tts skill 已安装,且以下环境变量已配置(通过 openclaw config set 或系统环境变量注入):;
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
根据用户描述,自动检索信息 → 生成脚本 → 语义匹配声音 → 合成音频 → 发送文件。
本 skill 需要 xfyun-tts skill 已安装,且以下环境变量已配置(通过 openclaw config set 或系统环境变量注入):
XFYUN_APP_ID XFYUN_API_KEY XFYUN_API_SECRET
直接用 web_fetch 调用搜索引擎 URL 抓取资讯,无需额外 skill。
# 国内新闻/热点(近一天)
https://cn.bing.com/search?q={keyword}&ensearch=0&tbs=qdr:d
# 科技/AI(近一周)
https://cn.bing.com/search?q={keyword}+最新进展&ensearch=0&tbs=qdr:w
# 国际新闻
https://duckduckgo.com/html/?q={keyword}+news+today
# 备用
https://www.sogou.com/web?query={keyword}
抓取 1–2 个源,提取关键事实和数据点即可。若结果为空或全是广告,换备用引擎重试。
基于检索结果,生成口语化播客脚本。
| 目标时长 | 字数范围 |
|---|---|
| ~2分钟 | 350–420字 |
| ~2.5分钟 | 450–520字 |
| ~3分钟 | 550–600字 |
上限 600 字(speed=48 约 2:40)
**、#)、表情符号[p300] 停顿标记(300ms)以下为 xfyun-tts 完整声音列表(python3 tts.py --list-voices 输出,共53个):
| VCN | 名称 | 性别 | 语言 | 场景 |
|---|---|---|---|---|
x5_lingyuzhao_flow |
聆玉昭 | 成年女 | 中文普通话 | 交互聊天 |
x5_lingxiaotang_flow |
聆小糖 | 成年女 | 中文普通话 | 语音助手 |
x5_EnUs_Grant_flow |
Grant | 成年女 | 英文美式口音 | 交互聊天 |
x5_EnUs_Lila_flow |
Lila | 成年女 | 英文美式口音 | 交互聊天 |
x6_lingxiaoli_pro |
聆小璃 | 成年女 | 中文普通话 | 交互聊天 |
x6_xiaoqiChat_pro |
聆小琪 | 成年女 | 中文普通话 | 交互聊天 |
x6_lingfeiyi_pro |
聆飞逸 | 成年男 | 中文普通话 | 交互聊天 |
x6_feizheChat_pro |
聆飞哲 | 成年男 | 中文普通话 | 交互聊天 |
x6_lingxiaoyue_pro |
聆小玥 | 成年女 | 中文普通话 | 交互聊天 |
x6_lingxiaoxuan_pro |
聆小璇 | 成年女 | 中文普通话 | 交互聊天 |
x6_lingyuyan_pro |
聆玉言 | 成年女 | 中文普通话 | 交互聊天 |
x6_pangbainan1_pro |
旁白男声 | 成年男 | 中文普通话 | 旁白配音 |
x6_pangbainv1_pro |
旁白女声 | 成年女 | 中文普通话 | 旁白配音 |
x6_lingfeihan_pro |
聆飞瀚 | 成年男 | 中文普通话 | 纪录片 |
x6_lingfeihao_pro |
聆飞皓 | 成年男 | 中文普通话 | 广告促销 |
x6_gufengpangbai_pro |
古风旁白 | 成年男 | 中文普通话 | 旁白配音 |
x6_lingyuaner_pro |
聆园儿 | 成年女 | 中文普通话 | 儿童绘本 |
x6_ganliannvxing_pro |
干练女性 | 成年女 | 中文普通话 | 角色配音 |
x6_ruyadashu_pro |
儒雅大叔 | 成年男 | 中文普通话 | 角色配音 |
x6_lingyufei_pro |
聆玉菲 | 成年女 | 中文普通话 | 时政新闻 |
x6_lingxiaoshan_pro |
聆小珊 | 成年女 | 中文普通话 | 时政新闻 |
x6_lingxiaoyun_pro |
聆小芸 | 成年女 | 中文普通话 | 角色配音 |
x6_lingyouyou_pro |
聆佑佑 | 童年女 | 中文普通话 | 交互聊天 |
x6_lingxiaoying_pro |
聆小颖 | 成年女 | 中文普通话 | 交互聊天 |
x6_lingxiaozhen_pro |
聆小瑱 | 成年女 | 中文普通话 | 直播带货 |
x6_lingfeibo_pro |
聆飞博 | 成年男 | 中文普通话 | 时政新闻 |
x6_waiguodashu_pro |
外国大叔 | 成年男 | 中文普通话(外国人说中文) | 角色配音 |
x6_gaolengnanshen_pro |
高冷男神 | 成年男 | 中文普通话 | 角色配音 |
x6_dongmanshaonv_pro |
动漫少女 | 成年女 | 中文普通话 | 动漫角色 |
x6_wennuancixingnansheng_mini |
温暖磁性男声 | 成年男 | 中文普通话 | 角色配音 |
x6_xiaonaigoudidi_mini |
小奶狗弟弟 | 成年男 | 中文普通话 | 角色配音 |
x6_shibingnvsheng_mini |
士兵女声 | 成年女 | 中文普通话 | 角色配音 |
x6_kongbunvsheng_mini |
恐怖女声 | 成年女 | 中文普通话 | 旁白配音_悬疑恐怖 |
x6_yulexinwennvsheng_mini |
娱乐新闻女声 | 成年女 | 中文普通话 | 娱乐新闻 |
x6_wenrounansheng_mini |
温柔男声 | 成年男 | 中文普通话 | 售后客服 |
x6_jingqudaolannvsheng_mini |
景区导览女声 | 成年女 | 中文普通话 | 景区导览解说 |
x6_daqixuanchuanpiannansheng_mini |
大气宣传片男声 | 成年男 | 中文普通话 | 广告宣传片 |
x6_cuishounvsheng_pro |
催收女声 | 成年女 | 中文普通话 | 催收客服 |
x6_yingxiaonv_pro |
营销女声 | 成年女 | 中文普通话 | 营销客服 |
x6_huanlemianbao_pro |
海绵宝宝 | 童年男 | 中文普通话 | IP模仿 |
x6_xiangruiyingyu_pro |
商务殷语 | 成年男 | 中文普通话 | IP模仿 |
x6_taiqiangnuannan_pro |
台湾腔温柔男声 | 成年男 | 台湾话 | 台湾话 |
x6_wumeinv_pro |
妩媚姐姐 | 成年女 | 中文普通话 | 角色配音 |
x6_lingbosong_pro |
聆伯松 | 成年男 | 中文普通话 | 角色配音 |
x6_dudulibao_pro |
少女可莉 | 童年女 | 中文普通话 | IP模仿 |
x6_huajidama_pro |
滑稽大妈 | 成年女 | 中文普通话 | 角色配音 |
x6_huoposhaonian_pro |
活泼少年 | 成年男 | 中文普通话 | 角色配音 |
x6_lingxiaoxue_pro |
聆小雪 | 成年女 | 中文普通话 | 角色配音 |
x6_gufengxianv_mini |
古风侠女 | 成年女 | 中文普通话 | 角色配音 |
x6_wuyediantai_mini |
午夜电台 | 成年女 | 中文普通话 | 角色配音 |
x6_tiexinnanyou_mini |
贴心男友 | 成年男 | 中文普通话 | 角色配音 |
x4_zijin_oral |
子津 | 成年男 | 天津话 | 交互聊天 |
x4_ziyang_oral |
子阳 | 成年男 | 东北话 | 交互聊天 |
根据脚本主题、语气、受众,从上表中选择场景最匹配的声音:
x6_lingfeibo_pro 或 x6_lingyufei_pro(场景:时政新闻)x6_lingfeihan_pro(场景:纪录片)x6_pangbainan1_pro(场景:旁白配音)x6_lingfeihan_pro 或 x6_pangbainan1_prox6_yulexinwennvsheng_mini(场景:娱乐新闻)x6_daqixuanchuanpiannansheng_mini(场景:广告宣传片)x6_lingyuaner_pro(场景:儿童绘本)x6_gufengpangbai_pro(场景:旁白配音,古朴厚重)x6_kongbunvsheng_mini(场景:悬疑恐怖)x5_lingyuzhao_flow(通用,自然亲切)x5_EnUs_Lila_flow(美式英语,温暖自然)x4_ziyang_oral(东北话)或 x4_zijin_oral(天津话)x5_lingyuzhao_flow将脚本写入临时文件后调用 xfyun-tts:
# 1. 定义输出路径(使用系统临时目录 + 时间戳,跨平台兼容) OUTDIR=$(mktemp -d) OUTFILE="$OUTDIR/podcast_$(date +%Y%m%d_%H%M%S).mp3" SCRIPTFILE="$OUTDIR/script.txt" # 2. 写入脚本 cat > "$SCRIPTFILE" << 'SCRIPT' <脚本内容> SCRIPT # 3. 定位 xfyun-tts 脚本(openclaw skills 安装目录) TTS_SCRIPT=$(openclaw skills path xfyun-tts 2>/dev/null || find ~/.openclaw -name "tts.py" -path "*/xfyun-tts/*" 2>/dev/null | head -1) # 4. 合成 python3 "$TTS_SCRIPT" --voice <选定VCN> --output "$OUTFILE" --speed 48 --volume 55 --file "$SCRIPTFILE" echo "$OUTFILE"
环境变量由 OpenClaw 自动注入(通过 openclaw config set skills.entries.xfyun-tts.env.*),无需硬编码。
message( action="send", filePath="", caption="🎙️ <标题> · <日期>n🎤 声音:<声音名称>(<选择理由>)n⏱️ 约 X 分钟n📌 <一句话内容简介>" )
发送后确认返回 messageId 存在,确保文件真正上传成功。
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 133.9万人学习
共49课时 | 82.5万人学习