AI双人播音员
基于热点资讯自动生成双人播客音频和精美网页的完整解决方案。
MCP 访问:必须通过 mcporter 操作
完成此技能任务时,必须使用 mcporter skill 来操作 MCP。 不要直接调用 MCP 工具,所有 MCP 操作都要通过 mcporter 路由。
- 配置:全局 MCP 配置位于
~/.openclaw/workspace/config/mcporter.json。读取此文件,仅使用此技能所需的 MCP 配置(参见本技能的 compatibility/工具列表)。不要使用配置中的其他 MCP——仅使用为此技能声明的那些。 - 列出服务器/工具:
mcporter list,或mcporter list <server> --schema查看特定服务器。 - 调用工具:
mcporter call <server.tool> key=value(例如mcporter call MiniMax-MCP-cloud.text_to_audio text="你好" voice_id="dj_m_chat_01_speech02")。 - 此技能的 compatibility 列表(或工具列表)定义了此技能可以使用哪些 MCP 服务器/工具;仅通过 mcporter 调用这些,使用全局文件中的配置。
核心工作流程
1. 资讯采集阶段
目标:收集最近一周的热点新闻,确保信息全面且具有时效性。
操作步骤:
-
接收用户提供的关键词或主题
-
并行调用所有搜索工具确保信息全面:
- 通过 mcporter 调用
so-search.aiso_do_search:适合中文热点新闻 - 通过 mcporter 调用
exa-mcp-server-cloud.web_search_exa:适合深度内容和技术资讯 - 通过 mcporter 调用
tavily-mcp-cloud.tavily_search:适合实时新闻和综合信息
命令示例:
mcporter call so-search.aiso_do_search query="人工智能最新进展" r=true mcporter call exa-mcp-server-cloud.web_search_exa query="AI breakthroughs this week" mcporter call tavily-mcp-cloud.tavily_search query="artificial intelligence news" - 通过 mcporter 调用
-
整合新闻内容,从搜索结果中提取:
- 新闻标题(保留中英文原标题)
- 关键内容摘要(每条控制在 50 字以内)
- 配图 URL(优先选择包含人物/事件的图像)
-
筛选 3-5 条热度最高的新闻,评估标准:
- 时效性(发布时间在一周内)
- 话题热度(搜索结果排名、讨论度)
- 内容质量(信息完整性、可读性)
输出格式示例:
标题:OpenAI 发布 GPT-5 模型
摘要:新模型在推理能力上实现突破,性能提升 40%,引发 AI 行业新一轮竞争。

标题:马斯克宣布 Neuralink 人体试验成功
摘要:首位人类受试者已能通过脑机接口控制电脑,脑机接口技术迈入新阶段。

2. 播客脚本创作
目标:创建生动有趣的双人对话式播客脚本,让听众享受轻松愉快的收听体验。
角色设定:
- 角色1(男声主播):理性分析型,擅长提出问题和深度思考
- 角色2(女声主播):活泼幽默型,善于用轻松语言解读复杂话题
脚本创作原则:
- 口语化表达:避免书面语,使用日常对话的自然语气
- 节奏把控:
- 开场:用吸引人的金句或问题迅速切入
- 过渡:在话题间自然转换,使用"说到这个""对了"等连接词
- 收尾:留下思考空间,鼓励听众互动
- 幽默元素:
- 适当调侃和吐槽,但避免冒犯
- 使用比喻和类比让复杂概念更易懂
- 融入网络热梗,但要确保大众理解
- 情绪表达:
- 标注重音、停顿、语气词(如"哇""哎呀""嗯")
- 表达惊讶、疑问、认同等情绪变化
- 保持对话的真实感和代入感
时长控制:总脚本朗读时长控制在 3-5 分钟(约 900-1500 字)
脚本结构模板:
【开场】(30秒)
角色1:大家好,欢迎收听今天的《AI 双人播报》!今天要聊的话题可真是炸裂...
角色2:哎呀,我一看到这个新闻就坐不住了...
【主体内容】(每条新闻 40-60 秒)
角色1:先说第一条,[新闻标题]...
角色2:这个太有意思了!我的理解是...
角色1:你这么一说我想到一个问题...
角色2:对对对,关键就在这儿...
【过渡】(10-15 秒)
角色1:说到这个,我想起另一条新闻...
角色2:哦对!这个更劲爆...
【收尾】(20-30 秒)
角色1:好了,今天的内容就到这里...
角色2:如果你有什么想法,欢迎在评论区告诉我们...
为什么这样设计:双人对话比单人播报更有互动感和节奏感,听众更容易保持注意力。通过两个不同风格的角色,可以从多角度解读同一话题,增加内容的深度和趣味性。口语化和幽默元素降低了信息接收门槛,让专业内容更亲民。
3. 音频生成阶段
目标:将脚本转化为自然流畅的双人语音对话。
操作步骤:
-
准备工作:
- 将脚本按角色拆分成独立的对话段落
- 为每个段落分配对应的角色和音色
-
音色配置:
- 角色1(男声):
dj_m_chat_01_speech02 - 角色2(女声):
dj_f_chat_01_speech02
- 角色1(男声):
-
逐段生成音频,通过 mcporter 调用 MiniMax:
mcporter call MiniMax-MCP-cloud.text_to_audio text="大家好,欢迎收听今天的AI双人播报!" voice_id="dj_m_chat_01_speech02" mcporter call MiniMax-MCP-cloud.text_to_audio text="哎呀,我一看到这个新闻就坐不住了" voice_id="dj_f_chat_01_speech02" -
收集音频 URL:
- 每次调用会返回音频文件的 URL
- 按脚本顺序整理所有音频 URL 到列表中
- 格式:
["url1", "url2", "url3", ...]
注意事项:
- 保持对话的连贯性,避免音频之间有明显停顿
- 如果某段文本过长(超过 200 字),建议拆分成多个短段落分别生成
- 测试音频质量,确保语速适中、发音清晰
4. 音频合成
目标:将多段独立音频合并成一个完整的播客音频文件。
操作步骤:
-
准备音频列表:
- 确保所有音频 URL 有效且可访问
- 按脚本顺序排列
-
调用合成工具,通过 mcporter:
mcporter call live_mcp_ffmpeg.live_audio_concat media_list='["url1","url2","url3"]' -
获取最终音频:
- 工具会返回合成后的完整音频 URL
- 保存此 URL 用于网页嵌入
为什么需要合成:虽然可以在网页中逐个播放音频片段,但合成成单个文件能提供更好的用户体验——连续播放、支持进度条拖动、避免网络延迟导致的间隙。
5. 网页生成阶段
目标:创建一个视觉精美、交互流畅的播客展示页面,风格模仿网易云音乐。
设计规范:
配色方案:
- 主背景:白色
#FFFFFF - 高亮色:红色
#FE1110(或相近色#FF0000、#EC1B24) - 文字:深灰
#333333,浅灰#999999 - 使用高亮色的透明度渐变制造科技感(如
rgba(254, 17, 16, 0.8)→rgba(254, 17, 16, 0.2))
排版原则:
- 超大字体突出核心信息(标题用 48-72px,关键数字用 64-96px)
- 中英文混排:中文粗体大号,英文小号精致点缀
- 明确的视觉层次:主次分明,留白充足
界面元素:
-
顶部播放控制区(固定或吸顶):
- 播客标题(大号粗体)
- 日期标注(小号英文,如 "MAR 10, 2026")
- 播放/暂停按钮(圆形大按钮,红色高亮)
- 进度条(细线设计,已播放部分为红色)
- 时间显示(当前时间 / 总时长)
-
脚本展示区:
- 使用对话气泡或左右分栏展示双人对话
- 角色1 的对话靠左,角色2 的对话靠右
- 区分两个角色的视觉样式(如边框颜色、背景色)
-
新闻内容区:
- 每条新闻独立卡片
- 包含:序号(大号)、标题(粗体)、摘要、配图
- 配图使用圆角或特殊形状裁剪
- 使用简洁勾线风格的装饰元素
-
交互动效:
- 模仿 Apple 官网的滚动视差效果
- 内容区域在滚动时渐显
- 播放按钮 hover 时放大或颜色加深
- 进度条可拖动,拖动时显示时间提示
技术实现:
-
基础技术栈:
- HTML5(语义化标签)
- TailwindCSS 3.0+(通过 CDN 引入)
- 原生 JavaScript(音频控制、滚动动效)
-
图标库:
- Font Awesome 或 Material Icons(通过 CDN 引入)
- 避免使用 emoji 作为主要图标
-
响应式设计:
- 桌面端(>1024px):多栏布局,宽松留白
- 平板端(768-1024px):适度压缩,保持可读性
- 移动端(<768px):单栏布局,优化触摸交互
-
音频播放逻辑:
const audio = new Audio('合成音频URL'); const playBtn = document.getElementById('play-btn'); const progressBar = document.getElementById('progress'); playBtn.addEventListener('click', () => { if (audio.paused) { audio.play(); playBtn.innerHTML = '<i class="fas fa-pause"></i>'; } else { audio.pause(); playBtn.innerHTML = '<i class="fas fa-play"></i>'; } }); audio.addEventListener('timeupdate', () => { const progress = (audio.currentTime / audio.duration) * 100; progressBar.style.width = progress + '%'; }); -
调用生成工具,通过 mcporter:
mcporter call gen_html.gen_html requirement="详细的网页设计需求描述" title="播客标题"
输入到 gen_html 的内容应包括:
- 完整的设计规范和配色方案
- 播客标题、日期
- 完整播客脚本(按角色分段)
- 所有新闻内容(标题、摘要、配图 URL)
- 合成音频的 URL
- 交互和动效的详细要求
为什么这样设计:网易云音乐的设计风格以简洁、现代、高品质著称,大胆使用红色作为视觉焦点,同时保持大量留白和清晰的信息层级。这种风格既能突出播客内容的专业性,又不失亲和力和时尚感,非常适合吸引年轻用户群体。
输出清单
完成所有步骤后,确保提供以下内容:
-
执行总结:
- 采集到的新闻数量和来源
- 脚本字数和预估时长
- 生成的音频段落数量
- 最终页面的核心功能
-
播客脚本(完整文本):
- 按角色清晰标注
- 包含时间点或段落序号
-
音频链接:
- 所有独立音频片段的 URL(如需要)
- 最终合成音频的 URL(必须)
-
网页链接:
- 生成的播客展示页面 URL
-
新闻素材清单:
- 所有使用的新闻标题、摘要、配图
-
关键参数记录:
- 使用的音色 ID
- 搜索关键词
- 生成时间戳
如遇 API 限制或调用失败:
- 使用合理的模拟数据继续流程
- 在最终输出中明确标注哪些是模拟数据
- 提供手动替换的指引
进阶技巧
内容优化:
- 定期分析热门播客的脚本风格,学习叙事技巧
- 根据不同新闻类型调整播报风格(科技、娱乐、财经等)
- 收集听众反馈,持续改进对话节奏和幽默点
技术优化:
- 如果单次生成音频质量不佳,可调整文本断句或添加标点
- 使用
mcporter list MiniMax-MCP-cloud --schema查看所有可用音色 - 合成音频时可考虑在对话间添加短暂静音(0.3-0.5 秒)提升自然度
网页增强:
- 添加社交分享按钮(微信、微博、复制链接)
- 集成评论功能(如 Disqus、Giscus)
- 提供脚本下载或打印功能
- 添加「喜欢」按钮或播放次数统计(前端模拟)
故障排查
搜索无结果:
- 检查关键词是否过于宽泛或过于具体
- 尝试不同的关键词组合
- 确认搜索工具的参数设置(如时间范围、语言)
音频生成失败:
- 检查文本长度是否超过限制(通常单次不超过 500 字)
- 确认音色 ID 是否正确
- 检查文本中是否有特殊字符导致解析错误
音频合成失败:
- 确认所有音频 URL 有效且可访问
- 检查 URL 列表格式是否正确(JSON 数组)
- 尝试减少单次合成的音频数量
网页显示异常:
- 检查音频 URL 是否支持跨域访问(CORS)
- 确认图片 URL 有效
- 在不同浏览器中测试兼容性
- 检查 CDN 资源是否加载成功
示例场景
场景 1:科技新闻播客
- 用户输入:"帮我做一期关于人工智能最新进展的播客"
- 搜索关键词:"人工智能 AI 突破 最新" "GPT" "机器学习"
- 脚本风格:专业但不失趣味,解释技术概念时用类比
- 音色选择:男声偏沉稳,女声偏活泼
场景 2:娱乐八卦播客
- 用户输入:"最近娱乐圈有什么大瓜吗?做一期播客"
- 搜索关键词:"娱乐圈 明星 热搜 八卦"
- 脚本风格:轻松吐槽,多用网络热梗,语速稍快
- 音色选择:两个声音都偏年轻化、口语化
场景 3:财经分析播客
- 用户输入:"王健林出售万达广场的新闻,做一期深度分析播客"
- 搜索关键词:"王健林 万达广场 出售 房地产"
- 脚本风格:理性分析,加入数据对比,适度引入观点碰撞
- 音色选择:两个声音都偏成熟稳重
许可与限制
- 生成的音频内容受 MiniMax API 使用条款约束
- 新闻内容版权归原作者所有,仅用于个人学习和非商业用途
- 生成的网页代码采用 MIT 许可,可自由修改和分发
- 请遵守相关法律法规,不传播违法违规内容
反馈与改进
如果您在使用过程中遇到问题或有改进建议,请记录:
- 使用的搜索关键词
- 生成的脚本片段
- 遇到的错误信息
- 期望的效果描述
这些信息将帮助持续优化此技能。

