| name | ppt-speaker-notes |
| description | 当用户明确要求讲稿,或任务场景属于汇报、路演、培训、答辩、演讲,需要把 storyboard 和最终页面转成逐页讲稿时使用。 |
PPT 演讲讲稿
为整套 deck 生成逐页演讲讲稿,是可选交付物,不进入默认最小路径。
目标
- 产出
speaker-notes.json,为演讲者提供逐页讲稿。
- 讲稿应与页面内容对齐、语气与场景匹配、时长可估算。
触发条件
- 用户明确要求讲稿或演讲备注。
- 任务场景属于汇报、路演、培训、答辩、演讲等需要口头表达的场景。
- 不要默认触发——只在上述条件满足时才执行。
输入
storyboard.json:必须先读取,获取分页叙事结构、presenter_intent 和页面角色。
pages/page_*.html(可选):如果页面已稳定,应优先参考最终页面内容。
task-pack.json(可选):获取场景类型、受众信息,辅助语气匹配。
输出
- 输出路径为
${deck_dir}/speaker-notes.json。
- 不要手写或猜测目录名,必须从
task-pack.json 或已有工件中读取 deck_dir。
执行规则
讲稿结构
每页讲稿必须包含以下要素:
- 开场引导:本页的开场语句,用于从上一页自然过渡。
- 核心要点:本页需要传达的关键信息,按优先级排列。
- 展开话术:围绕核心要点的详细讲述内容。
- 过渡语:衔接下一页的过渡句。
- 备注提示:需要特别强调、停顿或与听众互动的提示。
时长估算
- 每页必须给出建议讲述时长(秒),基于内容量和页面角色估算。
- 封面页、目录页、过渡页建议 15-30 秒。
- 内容页、分析页建议 60-120 秒。
- 总结页、结论页建议 30-60 秒。
- 所有页面时长之和应与整体演讲预期时长匹配。
语气匹配策略
- 必须根据场景类型调整讲稿语气:
- 汇报:简洁专业、数据驱动、结论先行。
- 路演:有激情、突出亮点、强调愿景和价值。
- 培训:循序渐进、多用类比、适当互动提问。
- 答辩:严谨客观、预判质疑、留有余地。
- 演讲:有节奏感、善用停顿、注重感染力。
- 如果
task-pack.json 中有受众信息,讲稿应针对受众调整专业程度和用词风格。
内容对齐
- 如果
pages/page_*.html 已经稳定,应优先参考最终页面结果,确保讲稿与页面视觉内容一致。
- 如果页面还未稳定,可以先基于
storyboard.json 生成基础版讲稿,但需标注"基于 storyboard 生成,页面定稿后建议复核"。
- 讲稿中引用的数据、结论必须与页面内容一致,不得出现页面上没有的信息。
数据结构
class SpeakerNotes:
schema_version: str
language: str
total_duration_seconds: int
scene_type: str
notes: list["SpeakerNotePage"]
class SpeakerNotePage:
page_id: str
page_number: int
title: str
duration_seconds: int
opening: str
key_points: list[str]
script: str
transition: str
tips: list[str]
用户回显
- 开始反馈:说明当前正在为哪些页面生成讲稿,并指出输出格式和匹配的语气方向。
- 完成反馈:总结讲稿覆盖页数、预估总时长、语气方向和
下一步。
关键原则
- 它是可选交付物,不要默认塞进
storyboard.json。
- 优先参考最终页面结果,而非仅依赖 storyboard。
- 讲稿语气必须与场景匹配,不要所有场景都用同一种语气。
- 每页讲稿必须可独立阅读,同时与上下页衔接自然。
- 讲稿是辅助演讲者的工具,不是逐字朗读的稿件——要留出自然表达的空间。
禁止事项
- 不要在未被要求时默认生成讲稿。
- 不要把讲稿直接塞进
storyboard.json。
- 不要让讲稿与页面内容脱节。
- 不要所有页面都用相同时长和相同语气。