清华 PPT 生成(Tsinghua PPT)
把用户提供的文字内容,生成一份严格遵循清华视觉规范的 PPT。配色以校徽紫 #81308C 为唯一主色,排版以内容逻辑清晰度为最高优先级,视觉元素(校徽、校园背景图)全部使用内置真实素材。
何时使用
- 用户要做清华风格的 PPT / 演示文稿 / 汇报 / 答辩 / 课件。
- 用户明确提到清华模板、清华校徽、清华紫、清华主题。
- 用户只给文字,要求自动生成带清华视觉风格的 PPT。
三条不可违背的原则
- 主色严格照搬校徽紫
#81308C(RGB 129,48,140),禁止改动,禁止引入冲突强调色。 - 内容逻辑结构清晰度优先于一切装饰:封面定主题、目录给全貌、每页一个论点、标题即结论。
- 视觉元素只用真实素材:校徽与背景图由
scripts/assets_data.py内嵌的 base64 数据还原(scripts/materialize_assets.py落盘到项目assets/),文档内嵌图片亦提取原图使用,禁止 AI 生图、禁止外链、禁止缺图。
内置素材(base64 内嵌,运行时还原)
skill 包只允许纯文本文件,故校徽与背景图以 base64 文本内嵌在 scripts/assets_data.py,运行时用 scripts/materialize_assets.py 解码落盘到项目 assets/(本 Skill 目录内没有 .png/.jpg 实体文件,不要直接引用)。
python scripts/materialize_assets.py --outdir <项目>/assets
还原后的文件:
| 文件 | 用途 |
|---|---|
logo-tsinghua.png |
清华紫色校徽+校名,封面必现(透明通道) |
bg-auditorium-light.jpg |
大礼堂淡色背景 |
bg-second-gate.jpg |
二校门「清华园」 |
bg-sundial.jpg |
日晷「行胜于言」 |
bg-auditorium-aerial.jpg |
大礼堂航拍(横幅) |
bg-plaque-vertical.jpg |
「清华园」牌匾(竖版) |
bg-new-hall-vertical.jpg |
新清华学堂(竖版) |
前置依赖:slidep 排版引擎
本 Skill 复用 slidep 引擎(slidep-start / slidep-validate)做智能排版。该引擎由 tencent-pptx 插件的安装 hook 提供,但该 hook 仅在调用 Skill('tencent-pptx') 时触发;直接调用本 Skill 时引擎可能尚未安装,报 slidep-start: command not found。
若命令不存在,先手动安装一次(装一次长期有效):
NODE_ROOT=$(ls -d ~/.workbuddy/binaries/node/versions/* | sort -V | tail -1)
TARBALL=$(ls ~/.workbuddy/plugins/cache/workbuddy-builtin/tencent-pptx/*/vendor/tencent-slidep-*.tar.gz | sort -V | tail -1)
"$NODE_ROOT/bin/npm" install -g --prefix="$NODE_ROOT" "$TARBALL"
# 之后用绝对路径或把 $NODE_ROOT/bin 加入 PATH 调用 slidep-start / slidep-validate
执行流程(两阶段:先文本提炼,后视觉制作)
阶段一 · 文本阅读与要点提炼(先做完,再进入制作)
- 明确需求:确认主题、文字内容、页数、场合。信息不足时一次性问清(≤3 个问题)。
- 通读全文:完整阅读用户提供的全部文字,不急于动手排版。
- 提取文档图片:若输入是含图文档(.docx / .md / .pdf),用
scripts/extract_images.py提取图片与图注到项目assets/,读manifest.json把每张图连同图注纳入分页规划——图跟随其引用段落所在逻辑块。命令与规则见 design-spec.md 第 8 节。 - 提炼要点:把全文拆成逻辑块,为每块提炼核心论点与支撑要点;按逻辑块聚合成页(禁止按原文小节逐点拆分),估算每块版面占比,相邻不足半页的块合并成一页,并把提取出的图安排进对应页。
- 产出分页文案(STORY.md):确定总页数与每页标题 + 要点文案,形成完整内容蓝图。蓝图定稿后才进入阶段二——避免边做边想、反复返工,在保证质量的前提下节省算力。
阶段二 · PPT 视觉制作
- 读取设计规范:完整阅读
references/design-spec.md(配色 token、字体、版式、分页策略、图片图注、毛玻璃规则)。 - 准备素材:先
python scripts/materialize_assets.py --outdir <项目>/assets把内嵌的校徽与背景图还原到项目assets/,再把提取出的文档图片复制到同目录(相对路径引用,防止导出丢失)。 - 预处理背景图:用
scripts/prepare_bg.py做裁剪 + 淡化(+ 可选模糊),命令见 design-spec.md 第 7 节。 - 创建 PPTX:先
cd <项目目录>,再用 slidep 引擎slidep-start --project . --filename "<名称>.pptx"创建目标文件,并立即用present_files打开预览。注意:slidep 的 assets 相对路径按守护进程 cwd 解析,必须从项目目录内启动 slidep-start / slidep-validate,否则校验会报「文件不存在: <错误cwd>/assets/…」。若已在错误目录启动过,先slidep-stop --project .再于项目目录内重启。 - 逐页生成:按 STORY.md 蓝图写
slides/{NN}.slide,应用配色与毛玻璃文本框规范;每页内容区撑满 ≥85%;内容偏少的页用宽松分布铺满整页(垂直居中/均匀分布/偏大字号,见 design-spec.md 6.6),禁止挤在上半页;插入图片时,图片下方必须复刻原图注(一字不改、居中 14–15px ink-soft,见 design-spec.md 第 8 节)。 - 校验:运行
slidep-validate --all --project <项目目录>,修复所有success: false的页面。 - 自检与交付:确认校徽、背景图与文档图片正确渲染、目录与正文一致、每页内容饱满、无半页空白、每图有图注,然后用
present_files交付。
关键规则速查
- 封面:主标题 = 内容大标题,字号全篇最大;校徽置顶部或左上角;背景用淡化图或纯紫底。
- 目录页:章节编号 + 标题,与正文严格一一对应,禁止编造或漏项。
- 文本框:圆角矩形(12–16px)+ 半透明白/淡紫填充,深色底上用半透明深紫 + 白字,垫模糊背景营造毛玻璃感。
- 背景图:必须先经
prepare_bg.py淡化,禁止高饱和原图直接铺满;内页以纯色/淡紫为主,背景图仅作局部装饰。 - 页面密度:每页内容撑满 ≥85%,拒绝半页空白;按逻辑块聚合而非按原文小节逐点拆分,相邻不足半页的内容合并成一页,用左右分栏/上下分区保持层次。
- 正文字号:正文与卡片正文一律 19–21px(≥18px 为硬底线),16–17px 属于缩字号硬塞、禁止出现在正文位;14–15px 仅限注释/页脚/图注/次级标签。整体字号偏大以保证投影清晰;内容偏多靠精简要点/合并/拆页控制版面,禁止缩字号硬塞。写每页 slide 时逐 Text 核对 fontSize。
- 宽松排版:内容偏少且不宜合并的页,用垂直居中/均匀分布/偏大字号与行距铺满整页,禁止挤在上半页导致下半页留白。
- 文档图片与图注:文档内含图时先
extract_images.py提取;每张图下方必须复刻原图注(一字不改、格式「图 X…」、14–15px ink-soft 居中);图跟随引用段落所在页、保持原宽高比不拉伸;身份要素原图禁止重绘,数据图默认原图直贴。
详细规范
完整配色 token、字体栈、版式分区、背景图处理参数与毛玻璃实现方式,见 references/design-spec.md。