English | 中文
AI 驱动的 HTML 演示文稿生成系统 · 开源免费 (MIT)
FPPT 标准版是一款运行在 AI 助手(如 Claude Code)中的 PPT 自动生成系统。你只需用自然语言描述需求——"做一份关于量化策略的 PPT"——AI 就会按照五层创作引擎自动完成从分析到生成的完整流程。
核心理念:你说"做什么",FPPT 负责"怎么做"。
| 项目 | 最低要求 | 推荐 |
|---|---|---|
| 操作系统 | Windows 10+ / macOS 12+ / Linux | Ubuntu 22.04+ |
| Python | 3.10+ | 3.11+ |
| AI 助手 | Claude Code / 支持 Skill 的工具 | Claude Code 最新版 |
| DeepSeek API Key | 需要(用户自备) | — |
方式一:一键安装
# Windows
install.bat
# macOS / Linux
bash install.sh安装脚本自动完成:Python 环境检测 → pip 依赖安装 → Playwright 浏览器安装。
方式二:手动安装
# 1. 安装 Python 依赖
pip install -r requirements.txt
# 2. 安装 Playwright 浏览器(PPTX/PDF 导出需要)
playwright install chromium
# 3. 配置 API Key
cp .env.example .env
# 编辑 .env,填入 DEEPSEEK_API_KEY=sk-xxx获取 DeepSeek API Key:https://platform.deepseek.com
在 AI 助手的对话中直接输入:
快速生成一份关于 <主题> 的PPT
AI 将自动完成:需求分析 → 大纲规划 → 逐页生成 → 拼装输出。生成的 HTML 文件位于 output/<项目名>/,用浏览器打开即可翻页演示。
| 维度 | 快速模式 (Fast) | 标准模式 (Full) |
|---|---|---|
| 触发词 | "快速生成"、"把这个资料做成PPT" | "标准模式"、"用心做"、"正式做" |
| 适合场景 | 日常汇报、信息充分、时间紧迫 | 正式提案、投资汇报、信息不足 |
| 创作流程 | 理解+规划 → 逐页生成 → 拼装 | 五层引擎(洞察→调研→架构→呈现→打磨) |
| User Gates | 0(全自动) | 3 个确认门 |
| 目标耗时 | ≤ 10 分钟 | ≤ 30 分钟 |
| 目标页数 | ≤ 15 页 | 不限 |
| Prompt 模板 | core/prompts/quick_mode.md |
core/prompts/L1_insight.md ~ L5_polish.md |
模糊指令(只说"做一份PPT"):AI 自动判断——素材充分、常规场景走快速模式;正式场合、信息不足走标准模式或反问确认。
标准模式下的完整创作管线:
用户需求
↓
L1 洞察层 (Insight) → 分析受众、场景、核心信息、关键约束
↓ Gate 1: 方向确认
L2 调研层 (Research) → 搜索补充数据、案例、竞品信息
↓
L3 架构层 (Architect)→ 设计叙事结构、逻辑线、页面大纲
↓ Gate 2: 大纲确认
L4 呈现层 (Craft) → 逐页生成 HTML 幻灯片,填充内容+动效
↓
L5 打磨层 (Polish) → 质检(P0-P3) + 统一风格 + 打包输出
↓ Gate 3: 最终确认
输出: HTML / PPTX / PDF
| 层级 | Prompt 文件 | 核心任务 | 用户确认 |
|---|---|---|---|
| L1 | L1_insight.md |
分析受众、场景、目标、约束 | Gate 1 |
| L2 | L2_research.md |
搜索数据、案例、竞品信息 | 无 |
| L3 | L3_architect.md |
设计叙事结构、页面大纲 | Gate 2 |
| L4 | L4_craft.md |
逐页生成 HTML 内容 | 无 |
| L5 | L5_polish.md |
P0-P3 质检 + 打包输出 | Gate 3 |
Gate 协议:core/prompts/gate_protocol.md 定义了标准模式下 AI 与用户之间的三个确认门规范。
- 7 套内置主题 — 金融蓝 / 商务灰 / 科技暗 / 杂志风 / 稳健绿 / 政务红 / 经典白
- 15 种标准布局骨架 — 封面 / 章节幕封 / 数据大字报 / 左文右图 / 图片网格 / 两列流水线 / 悬念收束 / 大引用 / 并列对比 / 图文混排 / KPI 仪表盘 / 产品卡片 / 股票分析 / 纯文本 / 结尾
- 5 层创作引擎 — 洞察(L1) → 调研(L2) → 架构(L3) → 呈现(L4) → 打磨(L5)
- 3 Gate 确认机制 — 方向确认 → 大纲确认 → 最终确认
- HTML 翻页演示 — 主输出格式,浏览器打开即可全屏演示
- PPTX 原生可编辑 — 通过 HTML→SVG→PPTX 管线导出
- PDF 导出 — 通过 Playwright 渲染导出
- 演讲者模式(P 键)— 双窗口:主屏全屏播放 + 副屏显示计时器、备注、缩略图导航
- 键盘翻页(← →)— 方向键前进/后退,带 900ms 贝塞尔曲线过渡动效
- 主题实时切换(T 键)— 7 套主题一键切换,无需重新生成
- 缩略图概览(ESC)— 网格视图快速导航到任意页面
- URL hash 恢复 —
index.html#05直接跳转第 5 页 - Motion One 动效 — 基于 Motion One 库的入场/退场动画(cascade、pipeline、quote、directional 等)
- Chart.js 图表 — 本地离线回退,无需 CDN
- WebGL 粒子背景 — hero 页 Three.js 流体/等高线动态背景,WebGL 不可用时 CSS 渐变自动降级
- P0-P3 四级质检清单(
core/checklist.md)- P0 阻断级(11 项):CSS 类名合法性、无 emoji、字体分工、颜色走令牌、免责声明、结构完整性、JS 语法错误、资源完整性、交互功能验证
- P1 重要级(7 项):hero 交替、页码连续性、动效标记、图片网格一致性、金融语义色、WebGL 降级
- P2 打磨级(5 项):WebGL 可见性、无 box-shadow、无厚边框、图片圆角、Ghost 文字层级
- P3 细节级(5 项):图片路径、术语统一、数字格式、日期格式、中英文间距
- 数据自洽性检查 — 同类数据在不同页面表述一致性验证
- 金融合规检查 — 免责声明、风险提示硬要求
- 中英文双语 — 通过
FPPT_LANG环境变量切换(zh-CN/en-US) - locale JSON 文件 —
locale/zh-CN.json和locale/en-US.json,覆盖许可、错误、UI 文案 - i18n 加载器 —
scripts/fppt_i18n.py,Python 端统一加载
输入"生成一份 One-Pager",AI 将生成单页长图而非翻页幻灯片:
- 横屏版:1920px × 内容驱动高 → HTML + PDF + PNG
- 竖屏版:750px × 内容驱动高 → HTML + PDF + PNG(L5 自动从横版生成)
- 竖版自动处理:viewport 调整、vw→px 字号转换、WebGL 移除、动效移除、图片限宽
fppt-std/
├── assets/ ← 静态资源
│ ├── template.html ← 种子模板(全局 CSS + WebGL + JS 运行时)
│ ├── presenter.js ← 演讲者模式(P键双窗口+计时器+备注)
│ ├── motion.min.js ← Motion One 动效库 (~20KB)
│ ├── chart.umd.min.js ← Chart.js 离线回退 (~200KB)
│ ├── chart-factory.js ← Chart.js 图表工厂(AI 调用接口)
│ ├── themes/
│ │ └── std/ ← 7 套标准主题 CSS(每文件一个 :root 块)
│ └── layouts/
│ └── std/ ← 15 种布局骨架 HTML(12基础 + 3金融)
│
├── core/ ← AI 核心
│ ├── prompts/ ← 7 个 Prompt 模板
│ │ ├── quick_mode.md ← 快速模式 Prompt
│ │ ├── L1_insight.md ← L1 洞察层 Prompt
│ │ ├── L2_research.md ← L2 调研层 Prompt
│ │ ├── L3_architect.md ← L3 架构层 Prompt
│ │ ├── L4_craft.md ← L4 呈现层 Prompt
│ │ ├── L5_polish.md ← L5 打磨层层 Prompt
│ │ └── gate_protocol.md ← Gate 确认协议规范
│ ├── checklist.md ← P0-P3 四级质检清单(28项)
│ └── spec_lock_template.md ← 数据锁定清单模板
│
├── references/ ← AI 参考知识库
│ ├── themes_catalog.md ← 主题目录(标准7套 + Pro扩展)
│ ├── layouts_catalog.md ← 布局目录(标准15种 + Pro扩展)
│ ├── components_guide.md ← CSS 组件速查手册
│ └── authoring_guide.md ← 创作指南(设计令牌+美学纪律+流程)
│
├── scripts/ ← 工具脚本
│ ├── fppt_i18n.py ← i18n 多语言加载器
│ ├── html_to_pdf.py ← HTML → PDF 导出(Playwright)
│ ├── html_to_svg.py ← HTML → SVG 渲染(Playwright)
│ └── svg_to_pptx.py ← SVG → PPTX 转换(python-pptx)
│
├── desktop/ ← 桌面客户端(可选)
│ ├── main.py ← PyWebView 主程序
│ ├── build_win.bat ← Windows 打包脚本(PyInstaller)
│ ├── build_mac.sh ← macOS 打包脚本(PyInstaller)
│ └── ui/ ← 客户端 UI(index.html + app.js + style.css)
│
├── tests/ ← 自动化测试(18 文件 / 159 用例)
│ ├── test_theme.py ← 主题加载与切换
│ ├── test_navigation.py ← 键盘翻页与 hash 恢复
│ ├── test_presenter.py ← 演讲者模式
│ ├── test_overview.py ← 缩略图概览
│ ├── test_chartjs_local.py ← Chart.js 本地回退
│ ├── test_e2e_browser.py ← 浏览器端到端测试
│ ├── test_e2e_generate_flow.py ← 生成流程端到端测试
│ ├── test_render.py ← 渲染与导出
│ ├── test_checklist.py ← 质检清单
│ ├── test_content_quality.py ← 内容质量
│ ├── test_prompt_audit.py ← Prompt 审查
│ ├── test_gate_orchestration.py ← Gate 编排
│ ├── test_portrait.py ← One-Pager 竖版
│ ├── test_desktop.py ← 桌面客户端结构
│ ├── test_i18n.py ← 国际化
│ ├── test_install.py ← 安装脚本
│ ├── test_skill.py ← Skill 定义
│ ├── conftest.py ← pytest fixtures
│ └── fixtures/ ← 测试用 HTML 样本
│
├── locale/ ← 多语言
│ ├── zh-CN.json ← 中文语言包
│ └── en-US.json ← English language pack
│
├── docs/ ← 用户文档
│ ├── user-guide.md ← 用户操作指南
│ ├── deployment.md ← 安装部署指南
│ └── faq.md ← 常见问题
│
├── .env.example ← 环境变量模板
├── requirements.txt ← Python 依赖清单
├── install.bat ← Windows 一键安装
├── install.sh ← macOS/Linux 一键安装
├── start.bat / start.sh ← 桌面客户端启动脚本
├── SKILL.md ← AI Skill 定义(Claude Code 自动发现)
├── LICENSE ← MIT License
└── README.md ← 本文件
| # | 主题名 | 色调 | 适用场景 |
|---|---|---|---|
| 1 | 金融蓝 Financial Blue | 深蓝 + 瓷白 + 金 | 金融默认:投资汇报 / BP / 产品说明 |
| 2 | 商务灰 Business Gray | 炭灰 + 米白 + 蓝 | 通用商务 / 工作汇报 / 项目汇报 |
| 3 | 科技暗 Tech Dark | 纯黑 + 暖白 + 青 | 技术分享 / 产品发布 / 金融IT方案 |
| 4 | 杂志风 Editorial | 墨黑 + 暖米 | 策略分享 / 复盘交流 |
| 5 | 稳健绿 Steady Green | 深绿 + 象牙白 | 风控 / 合规 / 可持续 |
| 6 | 政务红 Government Red | 深红 + 米白 + 金 | 党建 / 政务汇报 |
| 7 | 经典白 Classic White | 纯白 + 黑 + 蓝 | 学术 / 培训 |
选择建议:不确定时选金融蓝(最保险);内部日常选商务灰或杂志风;对外正式选金融蓝或经典白;技术内容选科技暗。
| # | 布局名 | 文件 | 用途 | 动效 |
|---|---|---|---|---|
| 1 | 开场封面 | cover-opening.html |
第 1 页,标题+副标题+日期 | hero |
| 2 | 章节幕封 | chapter-divider.html |
每幕/每章开场 | hero |
| 3 | 数据大字报 | data-big-number.html |
核心数字/KPI 独立展示 | cascade |
| 4 | 左文右图 | left-text-right-image.html |
图文配合/人物介绍/产品图 | cascade |
| 5 | 图片网格 | image-grid.html |
多图展示/产品对比 | cascade |
| 6 | 两列流水线 | two-column-pipeline.html |
步骤流程/时间线 | pipeline |
| 7 | 悬念收束 | suspense-closing.html |
幕末设问/制造悬念 | hero |
| 8 | 大引用 | big-quote.html |
金句/takeaway/名人名言 | quote |
| 9 | 并列对比 | side-by-side-compare.html |
旧vs新/Before-After/方案对比 | directional |
| 10 | 图文混排 | text-image-mixed.html |
信息密集页/多模块组合 | cascade |
| 11 | 纯文本 | text-only.html |
三要点并列/概念阐述 | cascade |
| 12 | 结尾页 | ending.html |
行动号召/联系方式/感谢 | hero |
| 13 | KPI 仪表盘 | finance-kpi-dashboard.html |
AUM/收益率/夏普/回撤等指标 | cascade |
| 14 | 产品卡片 | finance-product-card.html |
金融产品要素展示 | cascade |
| 15 | 股票分析 | finance-stock-analysis.html |
基本面+估值+催化剂+风险 | cascade |
打开生成的 index.html 后,所有交互通过键盘完成:
| 快捷键 | 功能 | 说明 |
|---|---|---|
| ← → | 翻页 | 前进/后退,900ms 贝塞尔曲线过渡 |
| T | 主题切换 | 7 套主题循环切换,实时生效 |
| ESC | 缩略图概览 | 网格视图,显示所有页面缩略图,点击跳转 |
| P | 演讲者模式 | 双窗口:主屏全屏播放 + 副屏(计时器+备注+缩略图导航),窗口间实时同步 |
| URL #NN | 页面直跳 | 地址栏 #05 跳转第 5 页 |
# Step 1: HTML → SVG(逐页截图)
python scripts/html_to_svg.py output/<项目名>/index.html
# Step 2: SVG → PPTX(插入为可编辑矢量图形)
python scripts/svg_to_pptx.py output/<项目名>/ output.pptx生成的 PPTX 中,每页为独立的可编辑矢量图形,可在 PowerPoint / WPS 中进一步编辑。
python scripts/html_to_pdf.py output/<项目名>/index.html output.pdf完整保留 HTML 的布局、字体、颜色,适合打印和分发。
导出依赖 Playwright。安装:
playwright install chromium
fppt-std 附带一个基于 PyWebView 的轻量桌面客户端,适合不熟悉命令行的用户:
# 安装
pip install pywebview
# 启动
python desktop/main.py
# 或双击 start.bat (Windows) / bash start.sh (macOS/Linux)- 窗口规格:480×680,最小 400×560
- API 连接:通过
FPPT_API_BASE_URL环境变量配置远程 API(默认空,纯本地模式) - 打包分发:
- Windows:
scripts/build_win.bat(PyInstaller) - macOS:
scripts/build_mac.sh(PyInstaller)
- Windows:
# 全部测试(159 个用例)
pytest tests/ -v
# 按模块筛选
pytest tests/ -v -k theme # 主题相关
pytest tests/ -v -k navigation # 翻页导航
pytest tests/ -v -k presenter # 演讲者模式
pytest tests/ -v -k e2e # 端到端测试
# 覆盖率
pytest tests/ --cov=. --cov-report=term-missing| 测试模块 | 文件 | 覆盖范围 |
|---|---|---|
| 主题系统 | test_theme.py |
主题 CSS 加载、T 键切换、背景色变化 |
| 导航翻页 | test_navigation.py |
方向键翻页、URL hash 恢复、过渡动效 |
| 演讲者模式 | test_presenter.py |
P 键双窗口、计时器、备注同步 |
| 缩略图概览 | test_overview.py |
ESC 切换、网格渲染、点击跳转 |
| Chart.js | test_chartjs_local.py |
本地回退、图表创建、响应式 |
| 渲染导出 | test_render.py |
HTML 渲染、SVG/PPTX/PDF 导出 |
| 质检清单 | test_checklist.py |
P0-P3 检查项验证 |
| 内容质量 | test_content_quality.py |
数据一致性、排版约束、受众适配 |
| Prompt 审查 | test_prompt_audit.py |
Prompt 模板完整性、指令衰减检测 |
| Gate 编排 | test_gate_orchestration.py |
三层 Gate 协议验证 |
| 竖版 One-Pager | test_portrait.py |
竖版自动生成规则 |
| 桌面客户端 | test_desktop.py |
结构完整性、纯客户端模式 |
| i18n | test_i18n.py |
中英文切换、locale 完整性 |
| 安装脚本 | test_install.py |
install.bat/sh 结构检查 |
| Skill 定义 | test_skill.py |
SKILL.md 格式与完整性 |
| E2E 浏览器 | test_e2e_browser.py |
浏览器环境端到端 |
| E2E 生成流 | test_e2e_generate_flow.py |
完整生成流程验证 |
FPPT Pro 为金融从业者和重度用户提供深度行业适配:
| 功能 | 标准版 | Pro 版 |
|---|---|---|
| HTML 翻页演示 | ✅ | ✅ |
| PPTX / PDF 导出 | ✅ | ✅ |
| 7 标准主题 + 15 标准布局 | ✅ | ✅ |
| 5 层创作引擎 + 3 Gate | ✅ | ✅ |
| 演讲者模式 + 键盘交互 | ✅ | ✅ |
| Chart.js + WebGL 粒子背景 | ✅ | ✅ |
| 中英文双语 | ✅ | ✅ |
| 金融行业完整包(5主题+7布局+10+图表) | — | ✅ |
| One-Pager 完整体系(6种) | — | ✅ |
| Pro 专属主题(21套) | — | ✅ |
| Pro 专属布局(25套) | — | ✅ |
| AI 图片生成 | — | ✅ |
| 多画布格式(4:3 / 3:4 / 1:1) | — | ✅ |
| 长文本预处理 + URL 抓取 | — | ✅ |
| 金融数据保真体系 | — | ✅ |
- 在 FPPT 官网 注册并购买 Pro
- 从 Dashboard 下载
.fppt_license许可文件 → 放入 fppt-std 根目录 - 从 Dashboard 下载 Pro 资源包 → 解压到 fppt-std 目录
- 运行
python scripts/license_check.py --status验证
# 验证 Pro 是否就绪
python scripts/license_check.py
# 退出码 0 = Pro 已激活FPPT Standard Edition 采用 MIT License 开源发布。
Copyright (c) 2026 FPPT
本项目完整基于 STDD(Specification-Driven Test-first Development) 方法论开发。
STDD 是一套规约驱动的测试先行开发流程,包含 6 个阶段:
Phase 1: UNDERSTAND → Phase 2: SPEC → Phase 3: SLICE → Phase 4: BUILD → Phase 5: VERIFY → Phase 6: DELIVER
所有功能均从 proposal.md 出发,经由 spec.md(GIVEN/WHEN/THEN 行为规格)→ test-plan.md(TC 测试方案)→ TDD 切片实现 → 全量质量验证,最终归档交付。
详见 changes/ 目录中的完整变更记录。
Pro 版功能需单独获取许可。