AI 驱动的 PPT 生成命令行工具 — 输入主题或截图,秒出专业演示文稿
ai-agent-ppt 是一个基于 LLM(大语言模型)的命令行 PPT 生成工具。它通过 AI 自动完成大纲构思、内容撰写、排版设计,最终输出原生 .pptx 文件。
这是本项目最大的亮点。只需提供一张 PPT 截图或设计稿图片,工具会自动识别图片中的文字和布局结构,还原为可编辑的 PPTX 文件。
# 单张截图 → PPT
ai-agent-ppt create --images screenshot.png -o output.pptx
# 多张截图 → 多页 PPT
ai-agent-ppt create --images ./slides/ -o presentation.pptx输入一句话的主题描述,AI 自动生成完整的大纲和内容:
ai-agent-ppt create --topic "2025 年 AI 技术趋势" -o ai-trends.pptx从 Markdown 文件或项目文档自动提取内容生成演示文稿:
ai-agent-ppt create --input README.md -o project-intro.pptx
ai-agent-ppt create --input ./docs/ -o docs-summary.pptx提供 HTML+CSS 字符串直接渲染为 PPTX,用于测试和自定义布局:
ai-agent-ppt create --html '<div style="font-size:36px; color:blue">Hello PPT</div>'npm install -g ai-agent-ppt要求 Node.js >= 18.0.0。
ai-agent-ppt init -p deepseek -k sk-your-api-key支持以下 LLM 供应商:
deepseek— DeepSeek Chatglm— 智谱 GLM-4V(支持图片识别)claude,openai,kimi— 预留支持
# 从主题生成
ai-agent-ppt create --topic "人工智能发展史" -o ai-history.pptx
# 从截图生成(需要 glm provider)
ai-agent-ppt init -p glm -k your-glm-key
ai-agent-ppt create --images slide.png -o slide.pptx# 查看可用模板
ai-agent-ppt template
# 使用指定模板
ai-agent-ppt create --topic "产品发布会" --template pitch -o launch.pptx初始化 LLM 配置,保存至 ~/.ai-agent-ppt/config.json。
| 选项 | 说明 | 必填 |
|---|---|---|
-p, --provider |
LLM 供应商: deepseek, claude, openai, kimi, glm | 是 |
-k, --api-key |
API 密钥 | 是 |
-m, --model |
模型名称 | 否 |
-t, --template |
默认模板 | 否 |
-l, --lang |
默认语言 zh/en | 否 |
创建 PPT(四种输入源任选其一)。
| 选项 | 说明 |
|---|---|
--topic <text> |
演示主题(字符串) |
-i, --input <path> |
输入文件(.md)或目录 |
--html <html> |
HTML 字符串(绕过 LLM) |
--images <path> |
图片文件或目录(需 vision LLM) |
-t, --template |
模板名称 |
-o, --output |
输出 .pptx 路径(默认 output.pptx) |
-l, --lang |
内容语言 |
--dry-run |
仅生成大纲预览 |
模板管理。
| 选项 | 说明 |
|---|---|
| (无选项) | 列出所有模板 |
-s, --show <name> |
查看模板详情 |
内置 5 个专业模板:
| 模板 | 风格 | 适用场景 |
|---|---|---|
tech |
科技暗色 | 技术分享、开发者大会 |
business |
商务蓝色 | 商业报告、项目汇报 |
education |
教育清晰 | 教学课件、培训材料 |
pitch |
融资路演 | 产品发布会、BP |
report |
数据驱动 | 数据分析、研究报告 |
内置 8 种页面布局,LLM 会根据内容自动选择:
| 布局 | 用途 | 内容槽 |
|---|---|---|
title |
封面/标题页 | title, subtitle |
bullet |
要点列表 | title, bulletPoints |
code |
代码展示 | title, code, bulletPoints |
chart |
数据展示 | title, bulletPoints |
comparison |
双栏对比 | title, bulletPoints |
timeline |
时间线 | title, bulletPoints |
image |
全幅背景图+文字 | title, subtitle |
image-text |
左图右文 | image, title, bulletPoints |
三条生成管道:
管道 A: --topic / --input(标准 LLM 管道)
主题/文档 → LLM 大纲生成 → LLM 内容填充
→ 布局加载 → Slot 注入 → PPTXBuilder → .pptx
管道 B: --html(直通渲染)
HTML 字符串 → PureLayout 解析 → 坐标计算
→ PPTAdapter → .pptx
管道 C: --images(视觉 LLM 管道,亮点✨)
截图 → vision LLM 识别 → HTML+CSS 生成
→ PureLayout 解析 → PPTAdapter → .pptx
核心组件:
- PureLayout — 纯函数 CSS 布局引擎,解析 HTML+内联 CSS,计算 1280×720 视口中的精确像素坐标
- PPTAdapter — 声明式渲染适配器,将布局坐标映射为 pptxgenjs API 调用
- CSS Inliner — 智能处理 LLM 返回的
<style>块,自动内联到元素 style 属性 - Provider 插件体系 — 基于 PROVIDER_MAP 声明式注册表,一行代码添加新 LLM 供应商
# 构建
npm run build
# 测试(106 项测试,覆盖率门槛 80%)
npm test
# 单元测试
npm run test:unit
# 运行
node bin/ai-agent-ppt.js create --topic "测试"MIT © peterfei
