PPT初稿快产引擎
定位
把「明天要交汇报 PPT」从 3 小时压到 40 分钟:自动出大纲和逐页内容,大纲确认后再填充,最后统一版式。交付高质量初稿+每页讲稿要点,不是终稿——最终把关在用户。
触发方式(怎么开口)
对话触发——对助手说一句即可,识别到意图自动进入五步工作流:
- 「帮我做一份向领导汇报 Q4 耗材成本的 PPT」
- 「把这份周报文档变成 10 页汇报 PPT」(可同时把文档发过来)
- 「根据这张表出个汇报初稿」(可同时把表格发过来)
- 只说「做个 PPT」也算触发,助手会追问对象/时长/核心结论三件事
命令行直跑——大纲确认后想自己批量复现:
python scripts/make_ppt.py --outline 大纲.json --out 初稿.pptx [--notes-dir 讲稿目录]
使用前提(依赖):Python 3.8+ 与 python-pptx(pip install python-pptx -i https://pypi.tuna.tsinghua.edu.cn/simple);报 ImportError 时按命令安装后重跑。--notes-dir 可把讲稿要点 md 输出到指定目录(v1.2.0 起支持)。
大纲 JSON 的结构见 scripts/make_ppt.py 文件头注释与 assets/examples.md 范例 4(完整可复现样例);三种素材可混用(文档+数据表常见,按 B+C 组合处理)。结构校验口径(v1.4.5 起,非法一律退出码 11 并逐项定位):目录页 items 须为非空字符串数组、content/chart 页 title 须为非空字符串、content 页 points 须为非空字符串数组、图表页可选 source 字段须为非空字符串;图表结构校验:categories 必须非空数组、每个系列 values 必须是与 categories 等长的数值数组、饼图仅 1 个系列——违反直接报退出码 11(不静默出空图)。
五步工作流
第 1 步:输入判定(三选一路径)
- A 主题一句话:追问三件事——汇报对象(领导/客户/大会)、时长/页数预期、要传达的核心结论
- B 已有文档(Word/Markdown):先读结构,抽取标题层级与关键数据,映射为章节
- C 数据表:识别维度与指标,按 references/outline-playbook.md 的图表选型规则决定每页图型
- 输入混搭(文档+数据表)常见,按 B+C 组合处理
第 2 步:大纲确认(🛑 强制人工卡点)
生成 10–15 页大纲,按 assets/outline-confirm.md 模板呈现:
P1 封面:主题+汇报人+日期
P2 目录/结论先行页(汇报给领导必备:先把结论放最前面)
P3-Pn 每页:页面标题 + 3 个要点 + 素材来源(文档第几节/表格哪列)+ 拟用图型
Pn+1 总结页 + Pn+2 备用问答页(Q&A 预案,可选)
用户确认前一个字都不填充。用户砍页/调序照办;用户说「你看着办」也要让对方扫一眼页数和顺序,不允许跳过本卡点。
第 3 步:成稿(v1.1.0 起脚本自动执行)
把确认后的大纲写成 JSON,交给 scripts/make_ppt.py 一键生成:
- 统一套用脚本内置商务版式(非读取外部模板文件):微软雅黑、标题 26–40pt、正文 18pt、深藏蓝 #1B2A4A + 白底
- 数据页自动出图(折线/饼/柱),图表标题即页面标题(判断句);大纲图表页可加 source 字段(如「财务科Q3成本表」),脚本在图表下方以「数据来源:」小字落页标注,未提供则不标注
- 每页讲稿要点自动写入 PPT 备注(大纲未写 notes 的页,备注栏写【待填】占位提示补写),同时另存 _讲稿要点.md
- 单页要点 >6 条会被拒绝并提示拆页——这是保护版式的硬规则
脚本退出码:0 成功|10 大纲文件问题|11 结构/图型错误|12 pages 为空|14 输出被占用|15 运行超时(重跑同一条命令)|20 未预期|21 缺依赖(提示安装 python-pptx 后重跑)。对照 references/error-playbook.md 的话术向用户转述,不念退出码。
第 4 步:版式微调(脚本外人工步骤)
- 脚本不读取、不解析用户的 .pptx 模板/母版占位符——要套企业模板时:在 PowerPoint/WPS 中把脚本产物页面复制进企业模板,或对照企业模板人工改配色与字体(助手可给出逐步操作指引)
- 全局检查:字号阶梯统一、页码齐、每页文字区不超版心 2/3
第 5 步:交付
- pptx 文件(命名:主题+日期.pptx)
- 讲稿要点:每页 2–3 句口播提示(PPT 备注栏 + 独立 md 双份)
- 提醒:AI 参与生成的内容按单位要求决定是否标注;最终美化与数据核对由用户完成
能力边界(量化)
| 项目 | 范围 |
|---|---|
| 单份大纲页数 | 建议 8–18 页;脚本无硬限,超 25 页提醒拆两次汇报 |
| 单页要点 | ≤6 条(脚本硬校验,超了拒绝生成并提示拆页) |
| 图表 | 折线/饼/柱三类自动出图;散点/漏斗等不支持也不自动降级——大纲用了会直接报错(退出码 11),请改三类之一或留纯要点页由用户后续手工补图 |
| 支持输入 | 脚本仅接受大纲 JSON;Word/Markdown/Excel/CSV 由助手读取素材后生成大纲 JSON(非脚本直接转换,第 1 步属助手外围流程,脚本不解析这些文件) |
| 模板/母版 | 脚本使用内置商务版式,不读取用户 .pptx 模板或母版占位符;企业模板为成稿后人工套用(第 4 步) |
| 不支持 | .ppt/.dps 老格式(请另存 .pptx);PDF/图片转 PPT;加密文件;改源数据 |
异常处理(六类)
| 情形 | 处理 |
|---|---|
| 文档素材过长(>30 页) | 先摘要分页,把「全文压缩」改为「按章节取精华」,列取舍清单给用户确认 |
| 数据维度过多(单图>8 类) | 建议拆页或取 Top5+其他,不缩字号硬塞 |
| 用户要求套用企业模板/母版 | 说明脚本只用内置商务版式、不解析模板文件;给「成稿后在 PowerPoint/WPS 中套用企业模板」的逐步指引(本技能不存在「模板读取失败」报错路径) |
| 大纲用了不支持的图型(散点/漏斗等) | 脚本直接拒绝(退出码 11),不自动降级成其他图型;改用折线/饼/柱之一或改为纯要点页,需散点/漏斗时由用户后续手工补图 |
| 用户要求生成与源数据不符的图表(美化数据) | 拒绝改数,可改的是图型和强调方式;涉及上报数据请用户自行核对原文 |
| .ppt 老格式 / .dps(WPS) | 请用户另存为 .pptx 再处理;不直接编辑 |
详细话术见 references/error-playbook.md。
国内适配
- WPS 演示兼容:references/wps-ppt-format-issues.md(字体替换、动画降级、嵌入对象差异)
- 中文字体只用微软雅黑/宋体/黑体,避免生僻字体缺失
- 本地生成:素材内容不外传不上云
边界声明
- 交付物为初稿,最终美化与内容把关由用户完成
- 数据图表忠实于源数据,不做推测性可视化
- 不代做涉密汇报、不虚构数据
完整范例与避坑
- 素材→大纲→成稿的完整对照例子:assets/examples.md(三例 + FAQ)
- 高频踩坑与纠正:assets/pitfalls.md(结论放最后/名词短语标题/一图塞 10 类/图表标题写名词等)
双包说明
同前两个技能:源码唯一底稿(office-skills/ppt-draft-engine/),双包同步,版本一致,评测驱动升版。
上架定价:开放平台「一次性付费」39 元买断(初稿引擎功能完整,无持续维护依赖;整数规则);SkillHub 普通免费发布。
引用文件
- scripts/make_ppt.py(大纲 JSON 一键成稿,v1.2.0 支持 --notes-dir)
- references/outline-playbook.md(大纲方法+图表选型规则)
- references/wps-ppt-format-issues.md(WPS/PowerPoint 差异规避)
- references/error-playbook.md(异常处理话术+退出码映射)
- assets/outline-confirm.md(大纲确认单模板)
- assets/examples.md(完整范例+FAQ,v1.1.0 新增)
- assets/pitfalls.md(避坑指南,v1.1.0 新增)