包含 extensions、skills、prompts、settings、auth、models、mcp 等配置。 排除 node_modules、npm 缓存、sessions 等运行时数据。
241 lines
16 KiB
Markdown
241 lines
16 KiB
Markdown
# 模板指南:选用、派生与边界
|
||
|
||
PPT Master 的"模板"是一份**结构 + 风格**的预设包:包含若干页面布局 SVG(封面/章节/目录/内容/结尾及其变体)、`design_spec.md` 设计规范,以及配套素材(logo、背景、装饰图)。它不是 PPTX 母版,也不是单纯的配色方案——而是一组可被工作流直接复用的页面骨架。
|
||
|
||
本文回答三个问题:
|
||
|
||
1. [怎么用已有模板?](#一选用已有模板)
|
||
2. [怎么把别人的 PPT / 自己的品牌做成模板?(重点)](#二派生新模板重点)
|
||
3. [模板的边界是什么?](#三模板的边界)
|
||
|
||
---
|
||
|
||
## 一、选用已有模板
|
||
|
||
### 触发方式
|
||
|
||
工作流**默认走自由设计**——不会主动问你要不要用模板,也不会基于内容主动推荐模板。模板是 opt-in 的,**只接受显式目录路径**:你在第一条消息里把模板目录的路径写出来。
|
||
|
||
### 怎么触发模板流程
|
||
|
||
在对话里把模板目录的路径写进去(位置不重要,只要明确即可):
|
||
|
||
> "用这个模板做:`skills/ppt-master/templates/layouts/academic_defense/`" ✅
|
||
> "用上次那个模板:`projects/last_deck/template/`" ✅
|
||
> "做一份产品介绍,模板用 `/Users/me/Desktop/our_brand_v3/`" ✅
|
||
|
||
AI 会把这个目录里的 SVG、`design_spec.md` 和素材复制到项目目录,然后进入 Strategist 阶段。路径可以是任意位置——内置库的 `skills/ppt-master/templates/layouts/` 下、上一个项目的 `template/` 文件夹、或者磁盘上其他任何地方都行。
|
||
|
||
### 什么**不会**触发模板流程
|
||
|
||
- **只写模板名、不给路径**:"用 academic_defense 模板" / "做一份 招商银行 模板的产品介绍" → 走自由设计。AI 不会替你把名字解析成路径。要用模板,请直接给路径。
|
||
- **风格描述**:"麦肯锡风格" / "Google style" / "麦肯锡那种" / "极简风" / "Keynote 风" → 走自由设计。这些描述会顺着对话流到 Strategist 那边作为风格说明使用,但**不会复制任何模板文件**。
|
||
- **模糊意图**:"想用个模板" / "选一个吧"——没给路径 → 走自由设计。
|
||
|
||
这是有意的——AI 永远**不做模糊 / 解释性判断**,不替你把名字解析成路径。要用模板,直接给路径。
|
||
|
||
想知道内置库里有哪些模板,问一句"有哪些模板可以用?"——AI 会从发现索引里列出名字和对应路径。单纯列出并不进入模板流程,需要你**把其中一条路径**再发回来才会触发 Step 3。
|
||
|
||
### 现有模板一览
|
||
|
||
模板按三种身份分目录:
|
||
|
||
- [`templates/brands/README.md`](../../skills/ppt-master/templates/brands/README.md) — 仅身份预设(color / typography / logo / voice / icon style),无 SVG 页面;Anthropic、Google
|
||
- [`templates/layouts/README.md`](../../skills/ppt-master/templates/layouts/README.md) — 仅结构样板(canvas / page structure / page types / SVG roster),无身份;academic_defense、government_blue/red、ai_ops、medical_university、pixel_retro、psychology_attachment
|
||
- [`templates/decks/README.md`](../../skills/ppt-master/templates/decks/README.md) — 完整 PPT 复刻(身份 + 结构 + 中间段);招商银行、中国电建_*、中汽研_*、重庆大学、中国电信
|
||
|
||
完整数据模型与三类的合成 / 冲突解决规则见 [`templates-architecture.md`](./templates-architecture.md)。
|
||
|
||
### 自由设计 vs 模板
|
||
|
||
自由设计不是"没有风格",而是 AI 根据你的内容**为这一份 deck 现场设计**视觉系统;模板则是**沿用一套已经定型的结构和风格**。两条路都不会少做"设计",区别只在于风格是即兴还是预设。
|
||
|
||
> 经验:内容方向明确、品牌或场景有强约束(咨询报告、政府汇报、答辩)→ 用模板。内容偏散文式、视觉氛围更重要(杂志风、纪录式叙事)→ 自由设计往往效果更好。
|
||
|
||
### 风格不是模板
|
||
|
||
**风格**是一种描述("极简风" / "Keynote 风" / "杂志风")——你在对话里打几个字。**模板**是一份要复制粘贴的资产包(SVG + design_spec + 素材),只在你给出**显式目录路径**时由工作流安装到项目里。
|
||
|
||
| | 模板 | 风格 |
|
||
|---|---|---|
|
||
| 怎么触发 | 消息里给出明确的目录路径 | 消息里写自由描述 |
|
||
| 发生什么 | 文件复制到项目;layouts 继承自模板 SVG | 描述流到 Strategist;色彩 / 字体 / 调性在八项确认里推荐 |
|
||
| 数值锁定 | 是 — 来源于模板的 `design_spec.md` | 否 — Strategist 现场推适合 deck 的具体值 |
|
||
| 适用场景 | 品牌锁定的 deck;强视觉约定的场景 | 心里有感觉但没有具体品牌承诺 |
|
||
|
||
风格描述可能看起来像模板名(比如 "学术风" 听上去像 `academic_defense/` 模板目录),但走的是**两套机制**——模板需要你给一个真实可复制的路径,风格描述是解释性语言。字面接近,落地完全是两条路。
|
||
|
||
### 常见风格描述
|
||
|
||
三条轴自由组合("暗色科技 + 极简" 或 "杂志风 + 新中式" 都行):
|
||
|
||
**美学路线**
|
||
|
||
| 风格 | 一句话特征 |
|
||
|---|---|
|
||
| **极简风 / Minimalist** | 高留白、2-3 色、单焦点、几乎零装饰 |
|
||
| **信息密集 / Information-dense** | 麦肯锡派结构化表格、密度高、conclusion-first |
|
||
| **Keynote 风** | 单页 Hero 文字、premium 留白、Apple 感 |
|
||
| **杂志风 / Editorial** | 大图当主体、不对称版式、字体反差强 |
|
||
| **文艺手绘** | 暖色、手绘质感、像 zine |
|
||
|
||
**行业 / 场景**
|
||
|
||
| 风格 | 一句话特征 |
|
||
|---|---|
|
||
| **商务咨询风** | 数据驱动、专业克制、蓝/灰主调 |
|
||
| **学术答辩风** | 严谨层级、citation-heavy、清晰朴素 |
|
||
| **政府汇报风** | 红/蓝、庄重对称、标题加粗 |
|
||
| **产品发布风** | 视觉冲击、营销大胆、Hero 单图 |
|
||
| **教学课件风** | 清晰层级、友好亲和、配色明亮 |
|
||
| **路演/BP 风** | 叙事驱动、金句配图、conclusion-bold |
|
||
|
||
**视觉调性**
|
||
|
||
| 风格 | 一句话特征 |
|
||
|---|---|
|
||
| **暗色科技风** | 深蓝/黑底、霓虹强调、未来感 |
|
||
| **像素复古** | 8-bit、扫描线、游戏机美学 |
|
||
| **新中式** | 留白、传统纹样克制使用、墨色/朱砂 |
|
||
| **北欧极简** | 浅色、原木自然、字号克制 |
|
||
| **孟菲斯/波普风** | 高饱和大色块、几何图形、80 年代 |
|
||
| **赛博朋克/蒸汽波** | 霓虹紫粉、网格、迷幻 |
|
||
|
||
你描述风格时,AI **不会基于这些词去挑模板**——它把这些词解释为对应的色彩 / 字体 / 版式建议,放到 Strategist 八项确认里 `d` 项的第二层(视觉风格),然后驱动 e/f/g/h(色彩 / 图标 / 字体 / 图片)。你可以确认或调整。如果你想要的风格刚好对上库里某个模板(如 `academic_defense` / `pixel_retro` / `psychology_attachment`),有两条路可选:把模板的目录路径发出来锁定值,或描述风格让 AI 现场推适配你内容的值。
|
||
|
||
---
|
||
|
||
## 二、派生新模板(重点)
|
||
|
||
把你自己喜欢的 PPT、品牌指南、或一份现成的 PPTX,做成 PPT Master 可调用的模板。这是本文的核心。
|
||
|
||
### 入口:`/create-template` 工作流
|
||
|
||
完整规范见 [`workflows/create-template.md`](../../skills/ppt-master/workflows/create-template.md)。本节是面向用户的简要版本——你只需要在 IDE 对话里说:
|
||
|
||
```
|
||
请用 /create-template 工作流,基于下面的参考材料生成一个新模板。
|
||
```
|
||
|
||
接下来工作流会**强制**先和你确认一份模板简报(不允许跳过)。
|
||
|
||
### 第一步:准备参考材料
|
||
|
||
**强烈推荐:直接给原始 `.pptx` 文件。** 当前的 PPTX 导入管线已经做到接近高保真还原——工作流会用 [`pptx_template_import.py`](../../skills/ppt-master/scripts/pptx_template_import.py) 直接读取 OOXML,提取主题色、字体、每个 master 的主题摘要、母版/版式结构、placeholder 元数据和可复用图片资源。它会输出作为机器事实源的 layered `svg/`,以及用于视觉预览的自包含 `svg-flat/`,再交给 Template_Designer 重建出干净可维护的 SVG。封面、章节、装饰繁复的页面都能稳定还原,这是目前最靠谱的派生路径。
|
||
|
||
也可以基于品牌指南从零设计:提供 logo、主色 HEX、字体、调性描述、几张氛围参考图,AI 会现场设计页面骨架。适合品牌方还没有成型 PPT、只有 VI 手册的场景。
|
||
|
||
> **没有源 PPTX 时的兜底**:截图集(`cover.png` / `chapter.png` / `content.png` / `closing.png` 等)也能跑,但保真度会明显下降——装饰、字体、版式细节都靠 AI 视觉推断。能拿到 `.pptx` 就尽量用 `.pptx`。截图更适合作为标注辅助("这页是我想要的样子")混进 PPTX 一起给。
|
||
|
||
### 第二步:模板简报(强制确认环节)
|
||
|
||
工作流不会偷偷推断——它会在动手前向你列出以下条目,等你确认或补全:
|
||
|
||
| 字段 | 说明 |
|
||
|------|------|
|
||
| **模板 ID** | 目录名 / 索引键。优先 ASCII slug,如 `acme_consulting`;中文品牌名也行,但要文件系统安全 |
|
||
| **显示名称** | 文档中的人类可读名 |
|
||
| **类别** | `brand` / `general` / `scenario` / `government` / `special` 五选一 |
|
||
| **适用场景** | 年报 / 咨询 / 答辩 / 政府汇报…… |
|
||
| **调性概要** | 一句话,如"现代克制、数据驱动" |
|
||
| **主题模式** | 浅色 / 深色 / 渐变…… |
|
||
| **画布格式** | 默认 `ppt169`(16:9),其他格式需提前指定 |
|
||
| **复刻模式** | `standard`(默认 5 页基本套)/ `fidelity`(按 PPTX 源里"视觉上真正不同"的版式簇各开一个变体——数量由源决定)/ `mirror`(每张源页 1:1 原样复制,零抽象、不插占位符)—— `fidelity` 和 `mirror` 都必须有 `.pptx` 源 |
|
||
| **保真级别** | (`standard` / `fidelity` 有源时必填)`literal`(按原样复刻几何/装饰/精灵图裁剪)/ `adapted`(借结构和调性、允许设计演化)。封面 / 章节 / 结尾通常用 `literal`。**`mirror` 模式不询问**——隐含 literal |
|
||
| **关键词** | 3–5 个标签,用于索引检索 |
|
||
| 主题色 / 设计风格 / 素材清单 | 可选,可让 AI 从源里自动提取 |
|
||
|
||
确认后,工作流会回显一份完整简报并写入标记 `[TEMPLATE_BRIEF_CONFIRMED]`,从这一刻起后续步骤才会启动。**这是一个硬门——简报没确认,不会开始生成**。
|
||
|
||
> 为什么这么严?因为模板是入库资产,未来会被复用。一次说清楚,比生成完再返工便宜得多。
|
||
|
||
### 第三步:选 standard、fidelity 还是 mirror?
|
||
|
||
这是派生模板里最容易混淆的决策。
|
||
|
||
| | **standard** | **fidelity** | **mirror** |
|
||
|---|---|---|---|
|
||
| 输出页数 | 5 页(封面/章节/目录/内容/结尾) | 视觉上真正不同的版式簇各一个变体——数量由源决定 | 每张源页 1:1 一页 |
|
||
| 抽象程度 | 高 —— 干净可复用骨架 | 中 —— 聚类后清理 | **零** —— 原样复制 |
|
||
| 是否插占位符 | 是(`{{TITLE}}`、`{{CONTENT_AREA}}` 等) | 是 | **否** —— Executor 直接在 SVG 里就地编辑文字 |
|
||
| 适合场景 | 你只需要"调性 + 基本骨架",未来用模板生成全新 deck | 源 PPTX 本身就是高度定制的版式库 | 别人的精装 deck 直接好用、想把每页都当参考页 |
|
||
| 典型例子 | 给品牌做基础模板 | 复刻一套政府汇报的 20 种章节版式 | 把一份 50 页的麦肯锡风格 deck 整套用作模板 |
|
||
| 必须有 PPTX 源吗 | 否 | **是** | **是** |
|
||
| 装饰复杂度 | 通常较简洁 | 需要保留精灵图(sprite sheet)裁剪等结构 | 源页啥样就啥样,逐字节继承 |
|
||
|
||
**关于精灵图**:PPTX 导出的素材常常是**一张大图 + 多页通过 viewBox 裁剪不同区域**。`fidelity` 和 `mirror` 模式下必须保留这层嵌套 `<svg viewBox=...>` 包装,不能扁平化为单张 `<image>`——否则裁剪信息丢失,画面会错位。工作流会自动校验这一点。
|
||
|
||
**`mirror` 模板怎么消费**:mirror 模板里没有 `{{}}` 占位符——Strategist 根据 `design_spec.md §V Page Roster` 的逐页描述为每个项目页选一张参考页,Executor 把那张参考 SVG 拷过去,**仅在原位修改文字内容**,所有装饰、精灵图裁剪、几何坐标全部保留。库资产保持 100% 原样;针对项目的修改只存在于 `projects/<project>/svg_output/`。
|
||
|
||
### 第四步:注册与发现
|
||
|
||
模板生成完,工作流会:
|
||
|
||
1. 跑 [`svg_quality_checker.py`](../../skills/ppt-master/scripts/svg_quality_checker.py) 验证(硬门,不通过不入库)
|
||
2. 把模板 ID 注册到 [`layouts_index.json`](../../skills/ppt-master/templates/layouts/layouts_index.json)
|
||
3. 同步 [`templates/layouts/README.md`](../../skills/ppt-master/templates/layouts/README.md) 表格
|
||
|
||
注册让模板**可被发现**——下次有人问"有哪些模板可用?"时,AI 会从索引里把它列出来。要在新项目里用它,仍然按 SKILL.md Step 3 的规则:在第一条消息里把目录路径写出来,例如 `用这个模板:skills/ppt-master/templates/layouts/<your_template_id>/`。
|
||
|
||
### 派生后的目录长什么样
|
||
|
||
```
|
||
skills/ppt-master/templates/layouts/<your_template_id>/
|
||
├── design_spec.md # 设计规范,§VI 列出全部页面
|
||
├── 01_cover.svg
|
||
├── 02_chapter.svg
|
||
├── 02_toc.svg # 可选
|
||
├── 03_content.svg
|
||
├── 03a_content_two_col.svg # fidelity 模式下的变体
|
||
├── 04_ending.svg
|
||
├── logo.png # 品牌素材
|
||
└── bg_pattern.jpg
|
||
```
|
||
|
||
`standard` 和 `fidelity` 模式下的页面 SVG 里使用统一的占位符约定(`{{TITLE}}`、`{{CHAPTER_TITLE}}`、`{{PAGE_TITLE}}`、`{{CONTENT_AREA}}` 等),策略师阶段会按内容填充。
|
||
|
||
`mirror` 模板按源页序号每页一张 SVG,**SVG 内部没有占位符**:
|
||
|
||
```
|
||
skills/ppt-master/templates/layouts/<your_template_id>/
|
||
├── design_spec.md # frontmatter 设 replication_mode: mirror;§V Page Roster 逐页描述
|
||
├── 001_cover.svg
|
||
├── 002_toc.svg
|
||
├── 003_content.svg
|
||
├── 004_content.svg
|
||
├── ...
|
||
├── 049_content.svg
|
||
├── 050_ending.svg
|
||
└── *.png / *.jpg
|
||
```
|
||
|
||
### 项目级一次性定制 vs 全局模板
|
||
|
||
二者别搞混:
|
||
|
||
- **派生新模板** = 入全局库,在 `skills/ppt-master/templates/layouts/` 下,未来所有项目都能调用
|
||
- **项目级定制** = 只在 `projects/<project>/templates/` 里改这一份 deck 的页面,不入库、不影响其他项目
|
||
|
||
`/create-template` 工作流只做前者。后者直接在项目目录里改 SVG 即可,不需要走这个流程。
|
||
|
||
---
|
||
|
||
## 三、模板的边界
|
||
|
||
避免常见误解:
|
||
|
||
- **模板 ≠ 母版(Slide Master)**。PPT Master 的输出是原生 DrawingML 形状,不依赖 PowerPoint 母版机制。模板是 SVG 骨架,最终在导出阶段被翻译为 PPTX 形状
|
||
- **模板不是"风格皮肤"**。它包含结构(页面有几块、信息层级如何分布)+ 风格(配色、字体、装饰),两者不可分割。试图只换"皮肤"不换结构,往往会让信息架构和视觉打架
|
||
- **模板不会替你做内容决策**。策略师仍然会按内容判断每页用哪个版式、要不要扩展为变体,模板提供候选,不预设结果
|
||
- **`fidelity` 模式不等于像素级搬运**。即便是 `literal` 保真,AI 仍会把杂质和不必要的重复结构清理掉——载体保留几何,但不照抄冗余
|
||
- **`mirror` 模式确实是像素级搬运——但它继承源 PPT 的导入限制**。图表、SmartArt、OLE 对象、EMF / WMF 媒体如果在 `pptx_template_import.py` 里 round-trip 失败,mirror 也会同样失败。flat SVG 是事实源——`<workspace>/svg-flat/` 里看着断了,mirror 模板也会断
|
||
|
||
---
|
||
|
||
## 相关文档
|
||
|
||
- [`workflows/create-template.md`](../../skills/ppt-master/workflows/create-template.md) — 完整工作流规范(面向 AI 执行)
|
||
- [`templates/layouts/README.md`](../../skills/ppt-master/templates/layouts/README.md) — 现有模板一览
|
||
- [`references/template-designer.md`](../../skills/ppt-master/references/template-designer.md) — 模板设计师角色定义和 SVG 技术约束
|
||
- [常见问题:如何制作自定义模板](./faq.md#q-如何制作自定义模板) — FAQ 简版
|