312 lines
14 KiB
Markdown
312 lines
14 KiB
Markdown
---
|
||
name: aura-ppt
|
||
description: >
|
||
专业的演示文稿(PPT/PPTX)生成与美化技能。综合国际顶级AI PPT工具的能力:
|
||
Gamma的设计感、WPS AI的中文排版理解、7牛AI PPT的内容保真、Beautiful.ai的
|
||
无损导出——全部通过本地python-pptx引擎实现,零云端依赖、数据不出本机。
|
||
触发场景:用户要求"生成PPT/制作演示文稿/做一份汇报材料/把文档转成PPT/
|
||
美化这个PPT/给方案配一份PPT/做路演材料"等。支持四种模式:全流程生成(从
|
||
大纲到成品)、文档转PPT(Word/Markdown/文本)、已有PPT美化、数据图表页。
|
||
适用于中文/日文/英文汇报、方案陈述、管理层汇报、技术分享等场景。
|
||
---
|
||
|
||
# Aura PPT — 本地AI演示文稿引擎
|
||
|
||
## 核心定位
|
||
|
||
**一站式本地PPT生成技能**:把国际AI PPT工具的顶级能力编码为可复现的本地渲染引擎。
|
||
|
||
| 能力来源 | 编码进技能的方式 |
|
||
|---|---|
|
||
| Gamma 设计感 | 品牌级设计系统(design_system.py):统一配色、字体层级、间距网格、组件库 |
|
||
| WPS AI 中文理解 | 中文排版规范(references/chinese-typography.md):中英混排、标点、字体回退 |
|
||
| 7牛AI PPT 内容保真 | **内容保真规则**:用户提供的数据/术语/数字 100% 原样保留,禁止改写 |
|
||
| Beautiful.ai 无损导出 | python-pptx 原生输出,零转换损失,交付后完全可编辑 |
|
||
| python-pptx 可控性 | 全矢量形状,任何人可用 PowerPoint/WPS 二次编辑 |
|
||
|
||
**硬性合规优势**:全程本地渲染,数据不出本机——适合处理客户机密材料(对日外包、NDA场景)。
|
||
|
||
---
|
||
|
||
## 触发条件
|
||
|
||
以下场景应调用本技能(只要用户意图包含其一):
|
||
|
||
- "生成/做一份 PPT / 演示文稿 / 幻灯片"
|
||
- "把这个文档/方案/报告转成 PPT"
|
||
- "美化 / 优化 / 重排这个 PPT"
|
||
- "给 XX 配一份汇报材料 / 路演材料 / 提案"
|
||
- "做一份管理层汇报 / 技术分享 / 项目总结"
|
||
|
||
若用户只是问PPT工具选型、PPT技巧问答(非生成请求)→ 不触发。
|
||
|
||
---
|
||
|
||
## 四种工作模式
|
||
|
||
| 模式 | 触发词 | 流程 |
|
||
|---|---|---|
|
||
| **A. 全流程生成** | 从零生成、做一份 | 大纲 → 页面规划(JSON) → 渲染 → 验证 |
|
||
| **B. 文档转PPT** | 把XX转成PPT | 解析源文档 → 提取结构 → 页面规划 → 渲染 |
|
||
| **C. 已有PPT美化** | 美化、优化、重排 | 打开现有PPTX → 重新应用设计系统 → 输出 |
|
||
| **D. 数据图表页** | 数据可视化、图表 | 解析数据(CSV/Excel) → 图表类型选择 → 渲染 |
|
||
|
||
---
|
||
|
||
## 工作流
|
||
|
||
### Step 1:需求澄清(30秒内完成,不要过度提问)
|
||
|
||
确认以下最小集,其余用合理默认值:
|
||
|
||
| 参数 | 默认值 | 说明 |
|
||
|---|---|---|
|
||
| 页数 | 8-12页 | 内容多可自动扩展 |
|
||
| 设计系统 | `aura-dark`(品牌深色) | 见 references/design-system.md |
|
||
| 语言 | 跟随用户内容(中文/日文/英文) | 中日双语混合时开启术语对齐 |
|
||
| 输出目录 | 用户工作目录 | 询问一次即可 |
|
||
| 16:9 / 4:3 | 16:9 | 现代汇报默认 |
|
||
|
||
**如果用户提到"公司/品牌"→ 询问是否有品牌色/Logo**,有则调用 `assets/` 下的品牌配置。
|
||
|
||
### Step 2:规划页面结构(Plan JSON)
|
||
|
||
生成结构化页面规划。**这是内容保真的关键步骤**:
|
||
|
||
```
|
||
plan.json 结构:
|
||
{
|
||
"title": "演示文稿标题",
|
||
"design": "aura-dark",
|
||
"mode": "generate | doc2ppt | improve | charts",
|
||
"source_doc": "可选:源文档路径",
|
||
"slides": [
|
||
{
|
||
"type": "cover | toc | section | content | two_column |
|
||
table | chart | timeline | quote | end",
|
||
"title": "页面标题",
|
||
"subtitle": "副标题(可选)",
|
||
"content": "正文要点(每行一个要点,支持 **加粗** 和 - 子项)",
|
||
"data": {"表格数据/图表数据,可选"},
|
||
"chart": {"type": "bar|line|pie|donut", "source": "csv路径或内联数据"},
|
||
"notes": "演讲者备注(可选)"
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
### Step 3:调用渲染引擎
|
||
|
||
```bash
|
||
# 标准生成(使用内置设计系统)
|
||
python scripts/engine.py --plan plan.json --output output.pptx [--design aura-dark]
|
||
|
||
# 模板生成(继承指定PPTX的母版背景/页脚/Logo/版式)
|
||
python scripts/engine.py --plan plan.json --output output.pptx --template 模板.pptx
|
||
```
|
||
|
||
`--template` 模板模式:
|
||
- 打开指定 PPTX 作为模板,**继承其母版、版式、背景、页脚、Logo**
|
||
- 自动清空模板自带的旧幻灯片,只保留母版结构
|
||
- 用模板的"白紙"版式创建页面,引擎的绘制元素叠加其上
|
||
- 适合:公司已有固定PPT模板/母版,希望新生成的内容保持公司风格一致
|
||
- 模板模式下不绘制引擎的纯色背景(继承模板背景)
|
||
|
||
**区域对齐**:引擎的 header/body/footer 坐标严格遵循设计系统的 `layout` 配置。
|
||
`report-jp` 的 layout 已与公司母版对齐(参考 010_【本部長報告会】):
|
||
|
||
| 区域 | 模板规格 | layout 配置 |
|
||
|---|---|---|
|
||
| Header 章节行 | y0.32 (20pt 含编号) | header_top=0.32 |
|
||
| Header 主题行 | y0.88 (16pt) | subtitle_top=0.88 |
|
||
| Body 起始 | y1.74 | body_top=1.60 |
|
||
| Body 结束 | y6.4 页脚条上方 | body_bottom=6.30 |
|
||
| Footer | y6.4~7.1 | footer_top=7.05 |
|
||
| 页码 | y7.16 右下角 | page_num_y=7.16 |
|
||
|
||
report-jp 的 header 采用模板风格:**章节行20pt在上 + 主题行16pt在下**(与
|
||
"竖条+大标题"的通用风格不同),通过 `_header_jp()` 专用方法渲染。
|
||
|
||
### Step 4:验证输出(必须执行)
|
||
|
||
```bash
|
||
python scripts/engine.py --verify output.pptx [--plan plan.json]
|
||
```
|
||
|
||
验证项:
|
||
1. ✅ 页数符合预期
|
||
2. ✅ 所有文本无溢出(超出页面边界检测)
|
||
3. ✅ **内容保真**:用户提供的数据/术语与源输入逐项比对(有差异即报错)
|
||
4. ✅ 图表数据点完整
|
||
|
||
---
|
||
|
||
## 内容保真规则(最高优先级,不可违反)
|
||
|
||
> 灵感来源:7牛AI PPT 的"保持原文"模式。**AI只负责结构、排版、设计,绝不改写用户的数据。**
|
||
|
||
1. **数字原样保留**:用户提供的任何数值(`96.8%`、`¥5,000万`、`2024年3月`)在最终PPT中必须逐字符一致
|
||
2. **术语原样保留**:专有名词、产品名、客户名、日文术语(`テスト仕様書`、`要件定義`)不得意译、不得替换
|
||
3. **禁止四舍五入**:`23.6%` 不得写成 `约24%`;`3.14` 不得写成 `3`
|
||
4. **引用原样保留**:用户提供的引用、条款、数据来源标注,一字不改
|
||
5. **结构可重组,内容不可改写**:AI 可以调整内容的组织方式(分页、分组、层级),但不得修改内容本身的含义和数据
|
||
6. **LLM生成的新内容**(用户未提供、由AI补充的过渡句/总结)必须与用户内容区分:可用 `[AI补充]` 标注或在演讲者备注中说明
|
||
|
||
**验证**:渲染后必须运行 `--verify`,自动比对源数据与输出文本。
|
||
|
||
---
|
||
|
||
## 中文排版规范(中文场景必读)
|
||
|
||
> 灵感来源:WPS AI 的中文理解。遵循 references/chinese-typography.md 的完整规则。
|
||
|
||
核心规则速览:
|
||
1. **中英混排加空格**:`使用 Python 开发`(中文与英文/数字之间插入半角空格)
|
||
2. **标点规范**:中文语境用全角标点(,。:;);引号用「」或“”
|
||
3. **日文文本**:日文与中文之间不加空格;日文假名用全角;保留日文原字符(テスト、仕様書)
|
||
4. **数字**:千位分隔(1,000,000);百分比紧跟数字(96.8%)
|
||
5. **字体**:中文微软雅黑、日文Yu Gothic/游ゴシック、英文Segoe UI;字体回退链见 references
|
||
6. **标题层级**:封面标题40pt+ → 章节标题32pt → 页标题28pt → 正文16-18pt → 注释12pt
|
||
7. **行长**:每行不超过28个中文字符,长文自动换行
|
||
8. **段距**:正文行距1.3-1.5,段间距8-12pt
|
||
|
||
---
|
||
|
||
## 设计系统
|
||
|
||
内置 3 套设计系统(见 references/design-system.md):
|
||
|
||
| 系统名 | 风格 | 适用 |
|
||
|---|---|---|
|
||
| `aura-dark`(默认) | 深色高级(深蓝黑 + 电光青) | 科技感、对外提案、产品发布 |
|
||
| `business-report` | **浅色商务(白底 + 火焰蓝 + 商务红)** | 商务报告、管理层汇报、咨询风格 |
|
||
| `report-jp` | **日式商务报告(法人蓝 + 浅天蓝卡片 + Meiryo UI)** | **日本客户汇报、本部報告会、对日业务** |
|
||
|
||
设计系统选型建议:
|
||
- 用户提到"日本/日方/報告会/本部/日企" → 用 `report-jp`(10.83×7.5in 非标准比例,Meiryo UI 字体,章节编号页眉,支持「機密情報」机密标记)
|
||
- 用户提到"商务报告/汇报风格/正式/咨询/打印" → 用 `business-report`
|
||
- 用户提到"科技感/高级/对外/发布会" → 用 `aura-dark`
|
||
|
||
选择方式:plan.json 的 `design` 字段;CLI 用 `--design`。
|
||
|
||
### 通用 plan.json 顶层字段
|
||
|
||
| 字段 | 说明 |
|
||
|---|---|
|
||
| `design` | 设计系统名(aura-dark / business-report / report-jp) |
|
||
| `company` | 页脚公司名 |
|
||
| `date` | 页脚日期 |
|
||
| `notes_template` | true 时自动为无备注页面生成结构化演讲备注 |
|
||
| `confidential` | 机密标记文本(如「機密情報」「社外秘」),显示在每页右上角红色标签 |
|
||
|
||
### 页面类型(每种支持 section_no / confidential 字段)
|
||
|
||
cover / toc / section / content / two_column / table / chart / timeline / **flowchart** / quote / end
|
||
|
||
**flowchart 流程图**(参考日企报告会资料):
|
||
- 横向流程:`content: ["阶段A|描述", "阶段B|描述", ...]`
|
||
- 泳道模式:`rows: ["泳道1", "泳道2"], content: [["步骤A","步骤B"], ["步骤C"]]`
|
||
- 浅天蓝卡片 + 法人蓝标题 + 箭头连接,日企报告标准样式
|
||
|
||
### 高级能力(引擎内置,plan 字段触发)
|
||
|
||
**cover 封面大数字**(`stats` 字段):
|
||
```json
|
||
"stats": [["362件", "概要設計案を作成"], ["5案件", "に横断参画"]]
|
||
```
|
||
渲染为右侧竖排大数字卡片墙(彩色顶条+大数字+说明),标题区自动压缩。
|
||
|
||
**content 要点卡片**(自动识别):
|
||
- `content` 中 `**标题** | 描述` 格式的行 → 自动渲染为**卡片网格**(2列,左色条+标题+描述+投影)
|
||
- 纯文本行 → 普通文本布局;混合 → 卡片区+底部说明
|
||
- 卡片≥3行时字号自动压缩防溢出
|
||
|
||
**table 混合页**(`charts` 字段):
|
||
- 表格下方渲染一个或多个图表(`chart` 单图 / `charts` 多图并排)
|
||
|
||
**chart 多图**(`charts` 字段):
|
||
```json
|
||
"charts": [{"type": "bar", "title": "图1", "data": {...}}, {"type": "bar", "title": "图2", "data": {...}}]
|
||
```
|
||
- 多图并排,每个带独立子标题
|
||
- 柱状图:**渐变柱体**(顶部提亮45%→底部原色)+ 水平网格线 + 数值/类别标签
|
||
|
||
**全局视觉能力**:
|
||
- 卡片柔和投影(`add_shape_shadow`):所有卡片容器自动带投影,立体感
|
||
- 协调渐变色板:每个设计系统 6 色光谱序列(冷→暖过渡)
|
||
- 圆角卡片(radius 8%)
|
||
- 页眉装饰线(report-jp:主色细线+左端锚点块)
|
||
- 章节页装饰(竖条+横线)
|
||
- 内容区背景层(report-jp 模板模式:body 区极浅色分区)
|
||
|
||
### 日式页眉(report-jp 特色)
|
||
|
||
plan 页面支持 `section_no` 字段(如 "1"),渲染为日式页眉编号:
|
||
```
|
||
1. 【トピックス】AI能力構築の全体像のご報告(1/2)
|
||
```
|
||
配合 `confidential` 字段显示右上角「機密情報」红色标记。
|
||
|
||
组件库(三种系统共用):
|
||
- 封面/目录/章节/内容页/双栏/表格/图表/时间线/流程图/引言/结束页
|
||
- 统一网格:页边距 0.5in,垂直节奏 0.2in 网格
|
||
- 圆角卡片(radius 8%)+ 柔和投影
|
||
- 图表渐变柱体 + 协调色板
|
||
|
||
如需其他风格,在 engine.py 的 DESIGN_SYSTEMS 注册表中扩展(继承 DesignSystem 覆写令牌)。
|
||
|
||
---
|
||
|
||
## 数据图表页(模式D)
|
||
|
||
```bash
|
||
# 方式1:CSV/Excel 数据源
|
||
python scripts/engine.py --plan plan.json --output out.pptx
|
||
# plan.json 中 slide.chart = {"type": "bar", "source": "data.csv", "title": "季度营收"}
|
||
|
||
# 方式2:内联数据
|
||
# slide.chart = {"type": "pie", "data": {"A": 30, "B": 45, "C": 25}}
|
||
```
|
||
|
||
支持的图表类型:bar(柱状)、line(折线)、pie(饼图)、donut(环形)、stacked_bar(堆叠柱)。
|
||
|
||
图表规范:
|
||
- 数据标签必须显示实际数值(不省略)
|
||
- 轴标签用中文
|
||
- 图例位置统一右下角
|
||
- 色板取自设计系统的 6 色序列
|
||
|
||
---
|
||
|
||
## 已有PPT美化(模式C)
|
||
|
||
```bash
|
||
python scripts/engine.py --improve input.pptx --output output.pptx [--design aura-dark]
|
||
```
|
||
|
||
美化规则:
|
||
- 统一背景色与主题色
|
||
- 统一标题字体/字号/颜色
|
||
- 统一正文排版(字体、行距、段落间距)
|
||
- 添加页脚/页码(可选)
|
||
- **内容零改动**:只动样式,不动文字内容
|
||
|
||
---
|
||
|
||
## 常见问题
|
||
|
||
**Q1:内容保真和AI生成冲突怎么办?**
|
||
不冲突。规则是:**用户提供的内容一个字不改;AI补充的新内容明确标注**。汇报材料中,数据准确 > 文字华丽。
|
||
|
||
**Q2:支持日文PPT吗?**
|
||
支持。日文字体(Yu Gothic)已纳入字体回退链;日文内容原样渲染。中日混合时遵循"日文与中文间不加空格"规则。
|
||
|
||
**Q3:输出文件能在WPS/PowerPoint里编辑吗?**
|
||
能。python-pptx 输出标准 PPTX,所有元素都是原生矢量形状,可完全二次编辑——这正是"导出无损"的实现方式。
|
||
|
||
**Q4:需要网络/API吗?**
|
||
不需要。渲染引擎是纯本地Python(python-pptx)。LLM负责规划,引擎负责渲染。客户机密材料可以放心处理。
|
||
|
||
**Q5:为什么不用AI生图做背景?**
|
||
本技能采用"矢量形状 + 设计系统"路线:文字清晰、可编辑、无版权风险、渲染确定性。需要AI插画背景时,可用 image-generation 技能单独生成图片后插入。
|