专业 PPT 演示文稿全流程 AI 生成助手。模拟顶级 PPT 设计公司的完整工作流(需求调研到资料搜集到大纲策划到策划稿到设计稿),输出高质量 HTML 格式演示文稿。当用户提到制作 PPT、做演示文稿、做 slides、做幻灯片、做汇报材料、做培训课件、做路演 deck、做产品介绍页面时触发此技能。即使用户只说"帮我做个关于 X 的介绍"或"我要给老板汇报 Y",只要暗示需要结构化的多页演示内容,都应该触发。也适用于用户说"帮我把这篇文档做成 PPT"、"把这个主题做成演示"等需要将内容转化为演示格式的场景。英文场景同样适用:"make a presentation about..."、"create slides for..."、"build a pitch deck"、"I need a keynote for..."。隐式意图也应触发:"帮我把这个数据可视化一下给老板看"、"我需要一份能拿去路演的东西"、"把这个报告做得好看点能展示"、"beautify my existing PPT"、"redesign these slides"。改善或美化现有 PPT 也属于此技能范畴。
$npx -y skills add sunbigfly/ppt-agent-skills --skill ppt-agent-skillsInstalls into the current project.
Run `npx skills use "https://github.com/sunbigfly/ppt-agent-skills" --skill "sunbigfly/ppt-agent-skills"` and follow the generated skill instructions now. Read its complete output, redirecting it to a temporary file first if necessary. Resolve relative paths from the supporting-files directory it provides.
Use the skills in "https://github.com/sunbigfly/ppt-agent-skills" that are relevant to the current task. Run `npx skills add "https://github.com/sunbigfly/ppt-agent-skills"` and select the relevant skills, then follow their instructions.
| 1 | <div align="center"> |
| 2 | <img src="assets/logo.png" alt="PPT Agent Logo" width="160" /> |
| 3 | <h1>PPT Agent</h1> |
| 4 | <p>基于软件工程理念的演示文稿全自动生成框架</p> |
| 5 | <p><a href="README_EN.md">English</a> | 中文</p> |
| 6 | |
| 7 | <p> |
| 8 | <a href="#快速开始"><img src="https://img.shields.io/badge/快速开始-blue?style=for-the-badge" alt="Quick Start" /></a> |
| 9 | <a href="LICENSE"><img src="https://img.shields.io/badge/MIT-blue?style=for-the-badge" alt="License" /></a> |
| 10 | </p> |
| 11 | |
| 12 | <p> |
| 13 | <img src="https://img.shields.io/badge/流水线-7_阶段-4f7df5?style=flat-square" /> |
| 14 | <img src="https://img.shields.io/badge/主题风格-8_套-ff6b35?style=flat-square" /> |
| 15 | <img src="https://img.shields.io/badge/版式类型-10_种-00d4ff?style=flat-square" /> |
| 16 | <img src="https://img.shields.io/badge/图表模板-13_种-8b5cf6?style=flat-square" /> |
| 17 | <img src="https://img.shields.io/badge/组件库-8_类-22c55e?style=flat-square" /> |
| 18 | <img src="https://img.shields.io/badge/脚本工具-15_个-f59e0b?style=flat-square" /> |
| 19 | </p> |
| 20 | </div> |
| 21 | |
| 22 | --- |
| 23 | |
| 24 | **PPT Agent** 以严格的状态机驱动多 Agent 协作,将一句话需求输出为专业级 PPTX 文件,从根源解决传统大模型生成的幻觉、重叠与布局混乱问题。 |
| 25 | |
| 26 | ## 最近更新 |
| 27 | |
| 28 | `2026-04-09 · v4.1` |
| 29 | |
| 30 | - 补齐 Step 3 `density_bias` 与 Step 4 `density_label / density_contract` 合同,页面密度预算开始成为明确的可校验约束。 |
| 31 | - `visual_qa.py` 新增 `planning + html` 双层断言,除了看图,也会核对结构与装饰预算。 |
| 32 | - 新增 `subagent_logger.py`,把 PageAgent / PagePatchAgent 的阶段命令与运行日志补齐,断点返工更容易审计与回放。 |
| 33 | |
| 34 | ## 安装 |
| 35 | |
| 36 | ``` |
| 37 | npx skills add sunbigfly/ppt-agent-skills |
| 38 | ``` |
| 39 | |
| 40 | |
| 41 | ## 核心亮点 |
| 42 | |
| 43 | **Subagent 阶段隔离**:Research / Outline / Style / Planning 四大阶段各自运行独立的子代理,Context 不互染。每个子代理创建时强制携带 `SUBAGENT_MODEL` 参数,禁止走默认回退。 |
| 44 | |
| 45 | **像素级 Visual QA 闭环**:每页 HTML 构建后自动截图,由大模型进行视觉审计。检测到布局溢出后,子代理以 DOM + CSS 结构重写的方式消除冲突,而非依赖间距微调。 |
| 46 | |
| 47 | **无状态断点恢复**:全流程不依赖任何进度状态文件。中断后通过扫描磁盘上已存在的产物文件(`outline.txt` / `style.json` / `slide-N.png` 等)自动推断恢复点。 |
| 48 | |
| 49 | **数据层与渲染层隔离**:每页先生成并由 `planning_validator.py` 通过校验的 JSON 合同,再驱动 HTML 渲染。针对生成的静态文件拥有 `html` 级物理结构探测器拦截非标骨架。 |
| 50 | |
| 51 | **《阴阳割线》设计哲学**:首创在底层封死绝对的物理安全墙与基准坐标流(阴)的前提下,向 AI 模型全量释放针对 Typography、重叠深度与留白排版的特权(阳),告别传统的平庸公文感。 |
| 52 | |
| 53 | **极速底层光栅化引擎**:内置的 Puppeteer 引擎彻底摒弃硬延时,全面接入事件全息钩子 (`document.fonts.ready` 及全节点监听),实现 0 丢字体、0 秒白等的极速快门截图与 SVG 源生解析。 |
| 54 | |
| 55 | **双引擎 PPTX 导出**:PNG 光栅流保证跨平台 100% 视觉还原;SVG 矢量流保留字体可独立编辑。 |
| 56 | |
| 57 | ## 工作流 |
| 58 | |
| 59 | ``` |
| 60 | P0 采访 → P1 分支确认 |
| 61 | P2A 联网检索 / P2B 本地资料压缩 |
| 62 | P3 叙事大纲 → P3.5 全局风格锁定 |
| 63 | P4 逐页并行生产(Planning → HTML → Visual QA) |
| 64 | P5 Preview + 双 PPTX 导出 |
| 65 | ``` |
| 66 | |
| 67 | 每个阶段产物落盘后经 Gate 校验放行,失败只回退当前步,不影响其他页进度。 |
| 68 | |
| 69 | ## 产物链 |
| 70 | |
| 71 | ``` |
| 72 | interview-qa.txt → requirements-interview.txt |
| 73 | → search.txt + search-brief.txt | source-brief.txt |
| 74 | → outline.txt → style.json |
| 75 | → planningN.json → slide-N.html → slide-N.png |
| 76 | → preview.html → presentation-{png,svg}.pptx → delivery-manifest.json |
| 77 | ``` |
| 78 | |
| 79 | ## 效果示例 |
| 80 | |
| 81 | <details> |
| 82 | <summary>点击展开渲染参照</summary> |
| 83 | <div align="center"> |
| 84 | <br/> |
| 85 | <img src="assets/screenshots/slide1.png" width="48%" /> |
| 86 | <img src="assets/screenshots/slide2.png" width="48%" /> |
| 87 | <img src="assets/screenshots/slide3.png" width="48%" /> |
| 88 | <img src="assets/screenshots/slide4.png" width="48%" /> |
| 89 | </div> |
| 90 | </details> |
| 91 | |
| 92 | ## 快速开始 |
| 93 | |
| 94 | 本项目以 Agent Skill 形式运行,无需独立部署。在支持 Skill 的代理环境中直接输入需求即可触发完整流程: |
| 95 | |
| 96 | > *"帮我生成一份关于 2026 年具身智能发展趋势的 15 页路演 Deck,暗色科技风格。"* |
| 97 | |
| 98 | 所有产物输出至 `ppt-output/runs/<RUN_ID>/`,包含网页预览和双格式 PPTX。 |
| 99 | |
| 100 | ## 仓库结构 |
| 101 | |
| 102 | ``` |
| 103 | ppt-agent-skill/ |
| 104 | ├── SKILL.md # 主控制台:状态机、Gate、恢复规则 |
| 105 | ├── scripts/ # 执行脚本(validator / harness / exporter) |
| 106 | ├── references/ # 按需挂载的 Markdown 知识源 |
| 107 | │ ├── playbooks/ # 各阶段子代理执行手册 |
| 108 | │ ├── styles/ # 主题风格规范 |
| 109 | │ ├── layouts/ # 版式资源 |
| 110 | │ ├── charts/ # 图表模板 |
| 111 | │ └── blocks/ # UI 组件 |
| 112 | └── assets/ |
| 113 | ``` |
| 114 | |
| 115 | ## 友情链接 |
| 116 | |
| 117 | 已链接认可 [LINUX DO 社区](https://linux.do) 的友情链接。 |
| 118 | |
| 119 | ## License |
| 120 | |
| 121 | [MIT](LICENSE) |