AI PPT 设计方法以及与dashi ppt 对比

0. 一句话

一句话 / 一份文档 → 一套有观点的幻灯片 → 网页里像画图一样改 → 导出 文字能直接改 的 PPTX 或保真 PDF。

它和「PPT 讲解视频」是两条线:

输入 输出
可编辑 PPT(本文) 主题 / 文档 .pptx / .pdf
PPT 讲解视频 现成 PPT/PDF + 数字人形象 .mp4

1. 产品形态

1.1 三个入口,同一套业务

入口 谁在用 形态
网页表单 普通用户 主题 或上传文档,页数 3--30(默认 12)
网页编辑器 需要改稿的人 三栏工作台:页栏 / 画布 / 图层属性
Agent / MCP Claude Code、Codex 等 create_deck 工具,从对话里抽参数,回调后给「去编辑」入口

三个入口共用 DeckGenService,差异只在「参数怎么来」。计费走平台的冻结/结算,产物进 OSS ------ 它不是一段脚本,是平台里的一等产品。

1.2 两条生成路径

复制代码
先出大纲:表单 → [简报] → 骨架 → 分节写正文 → 薄页补写 → 一致性审校 → 大纲
                → 用户在编辑器里改大纲 → 展开(不调模型)→ 成稿
一键出稿:     └────────────── 上面整条一次跑完 ──────────────┘ → 成稿

「一键出稿」和「先出大纲」同价 :因为真正贵的是内容生成,而展开这一步是纯确定性排版、不调模型。两条路只是「要不要在大纲上停一下」。


2. 设计方法:七条不肯让步的决策

2.1 不让 LLM 吐坐标

让模型直接产出每个文本框的绝对坐标,出来必是重叠、出界、字号乱。所以我们把活拆成三层:

层 谁做 产出
内容 LLM 标题、要点、数据、表格、配图语义
版式意图 LLM 「这页是大标题 + 三卡」还是「左图右文」,只选名字
绝对坐标 确定性排版器(deck_layout.py) box: {x, y, w, h},按 1920×1080 栅格算

LLM 从头到尾没见过坐标。它甚至不知道字号是多少 ------ 它只说「这是页标题」,字号由主题刻度表决定。

推论:坐标只在 deck_layout.py 一处算 。编辑器、缩略图、导出器都只是照着 box 画;多一处推导就多一份会走歪的口径。

2.2 存「语义角色 + token」,不存绝对样式

jsonc 复制代码
// 不这么存
{ "fontSize": 24, "color": "#1a1a1a", "fontFamily": "PingFang SC" }
// 这么存
{ "role": "title", "style": { "colorToken": "fg-primary", "sizeStep": 5 } }
  • sizeStep 是下标,不是 px ------ 换主题时刻度整体变,字跟着变,框不变。
  • 用户手改存 overrides 覆盖层,就是 CSS 层叠:token 基线 + 用户覆盖。
  • 圆角存的是比例 (短边的几分之几),和 PPTX 圆角矩形的 adj 同口径。

这是「一键换风格」能成立的全部原因:换风格只写 deck.theme,页里的 layers 一个字不动。而且刻度与圆角沿用这份 deck 自己的快照 ------ 老稿子不会因为上新主题而整体涨缩。

2.3 模板 = 主题 × 版式组件,不做「整页模板」

层 是什么 我们现在的量
主题 视觉语言:配色 11 个 token + 字体对 + 圆角 + 字号刻度 17 套(4 套内置骨架 + 13 套带版式皮肤)
版式组件 封面、目录、章节、要点、两栏、三卡、图文、表格、引文、大数字、流程、时间线、图表、矩阵、结尾 15 种
图示版式 process / timeline / chart / matrix / table 五个 builder ≥8 页的稿子至少要求 1 页图示;模型不照做时排版器会确定性换一页

每套皮肤给的是页面槽位 (标题位、内容区、装饰 chrome),不是「第 3 页长这样」。所以维护量是 主题 + 版式,不是 主题 × 页数。

2.4 内容流水线:先想清楚,再写,再校

一次让模型吐 30 页,后半段看不见前半段,越写越飘。实际做法是五段:

阶段 做什么 关键约束
内容简报 论点、可被反驳的判断、事实/案例/反例、叙事弧、术语表 只活在 worker 里,不落库;上限 4608 token
骨架 先定标题链 + 每页版式 + 观点归属 不合格先带纠正重试一次,仍不合格做确定性修复(丢空章节/无标题页)
分节写正文 按批写,每批 5 页,每批都带简报 + 已写好的页 后段有东西可对齐;传输失败才整份回退单趟
薄页补写 确定性检测「内容偏薄」的页,最多 4 页定向补写 结构页永不检测;补写要过「版式不变、不再判薄、内容量不缩水」的门槛
一致性审校 跨页取证:数字冲突、术语异名、重复断言、标题重复/标签化 命中的页最多再修 2 轮,修不动如实写进 notice,不阻塞交付

所有增强环节都是尽力而为 :失败/超时只记日志,绝不连坐整单。计费如实汇总 ------ llmQuota 是这一趟所有成功调用的实扣之和。

2.5 排版自检:两层,各查各的

复制代码
worker(IR 数字)          浏览器(真实换行)
├─ 文字框出界              ├─ 文字比框高/宽
├─ 文字框互相重叠          ├─ 文字互相重叠
└─ 整块形状跑到页外        └─ 图片没加载出来
  • worker 侧查 IR 数字,能覆盖全部页,但看不见字体、换行、用户手改。
  • 浏览器侧 在真渲染的缩略图上量,能看见真实换行,只覆盖已渲染的页;边改边量(240ms 防抖),页栏角标实时消长。
  • 导出前再实测一次:有问题弹确认框,每一行都能点 ------ 跳到那一页并选中出问题的图层;「去修改」直接落到第一处。
  • 同一版内容点过「仍然导出」之后不再重复拦。

2.6 编辑即一切:初稿只是起点

  • 自由画布:拖拽、缩放、旋转(90° 吸附)、层级、显示/隐藏、锁定、撤销重做 50 步
  • 图层:文字(6 个语义角色)、图片、形状(矩形/圆角矩形/椭圆/三角形/线条)、表格、图表(模板皮肤还会带多边形装饰层,编辑器里可选中、可改样式)
  • 文本:颜色/字体/字号档位/粗细/对齐/行高/字号缩放(覆盖层可一键清空)
  • 页:增、删、复制、拖拽排序、右键菜单、键盘操作
  • 单页 AI 重写 :指着一页说「这页要讲什么」,只改这一页,带乐观锁 ------ 等模型的几十秒里你手改了,结果不会盖掉你的改动
  • 重出整套:会替换所有页,所以点之前弹确认框把后果讲清楚
  • 演讲备注:跟着 PPTX 备注页一起导出

撤销栈只装图层与背景;笔记、换主题不进历史 ------ 撤销不该把「换了风格」也撤掉。

2.7 导出是单向投影,不是往返同步

IR → PPTX 一次投影,不做双向同步(PowerPoint 改完传回来再解析,是无底洞)。

IR PPTX
1920×1080 设计 px 1px = 6350 EMU(13.333in × 7.5in)
sizeStep Pt(px / 2)
kind: text add_textbox,关 autofit 、word_wrap = true
kind: image add_picture,contain / stretch 两档
kind: shape add_shape(圆角矩形/椭圆/三角)与 add_connector(线)、freeform(多边形)
kind: table 原生表格,单元格可继续编辑
kind: chart 原生柱状图(COLUMN_CLUSTERED),负值与坐标轴交给 PowerPoint
复杂视觉(渐变/阴影/图标字体) 降级为图片层:看着对,但在 PowerPoint 里改不了

字体在导出时按白名单写入(含东亚字体段),由用户端 PowerPoint 解析;PDF 则在服务端渲染。

保真度的天花板 :PPTX 是「结构正确 + 字体 fallback 后观感接近」;100% 保真的是 PDF(服务器渲染,不依赖用户字体)。所以对外文案只说「导出的 PPTX 里,文字都能直接改」,不说「可以随意编辑」。


3. 功能清单

3.1 生成

  • 主题 / 大纲 / 上传文档(doc、pdf、txt、md、html、pptx;≤20MB)三种取材
  • 出方案前可选联网检索(PPT 主题默认开):检索词只用主题,不传上传文档正文
  • 页数 3--30,可指定;大纲可编辑、可整份重出、可单页让模型重写
  • 自动配图(按页语义)、风格推荐、20MB 文档解析与截断
  • 出稿前自动做图示版式分配(≥8 页至少 1 页图示),章节页强制带副标题,目录从章节页自动汇总

3.2 编辑

  • 三栏工作台:页栏(真渲染缩略图)/ 画布 / 图层属性
  • 见 2.6;另外:保存状态是一颗图标(错误 > 保存中 > 待保存 > 已保存),自动保存 900ms 防抖 + 串行化,切页前先落库
  • 排版问题实时角标 + 可跳转的导出前检查

3.3 导出

  • PPTX(文字可改)或 PDF(排版固定)
  • 产物 OSS 直链;PDF 由同一份 pptx 经 LibreOffice 转出,两条路的内容必然一致

3.4 平台能力

  • 任务记录、阶段进度、失败重试、订阅通知
  • 冻结额 / 结算与实际 token 一致;单页重写也是按 token 计费,出完报实扣
  • 功能评价、产物历史、MCP 可调用

4. 技术链路一张图

复制代码
浏览器                        后端 (Java)                       worker (Python)
─────────────────────────────────────────────────────────────────────────────
表单 / Agent
  │ POST /deck/outline
  ├──────────────────────────► 建 record + 冻结
  │                            │ 派发 deck_generate(stage=outline)
  │                            ├──────────────────────────────► 简报 → 骨架 → 分批正文
  │                            │                                  → 薄页补写 → 一致性审校
  │                            │ ◄──── /deck/outline/ready ───────┘(llmQuota 回传)
  │ ◄── 轮询 /deck/job ────────┤
大纲编辑器
  │ POST /deck/expand
  ├──────────────────────────► │ 派发 deck_expand(**不调模型**)
  │                            ├──────────────────────────────► deck_layout.py 排绝对坐标
  │                            │ ◄──── /deck/expand/ready ───────┘
  │ ◄── /deck/job ─────────────┤
画布编辑(自动保存 /deck/update_slide)
  │ POST /deck/export
  ├──────────────────────────► │ deck_export
  │                            ├──────────────────────────────► 取 IR → python-pptx
  │                            │                                  →(PDF: LibreOffice)
  │                            │ ◄──── callback + OSS URL ───────┘
  │ ◄── 轮询 → 下载 ───────────┤

边界很清楚 :模型一律由后端代调;坐标只在 worker 的排版器算;导出器只照着 box 画。


5. 与 dashi-ppt(大师 PPT)的对比

对标的 dashi-ppt-skill(作者 chuspeeism,AGPL-3.0,GitHub 约 4.3k star,截至 2026-10)。

它的公开数据:12 套主题、1,020 个版式页、8,576 个可调控件、20 个页面角色;雷达/瀑布/树图/漏斗/热力/桑基/甘特等图表,SWOT/波特五力/PEST/商业模式画布/双钻模型等分析框架;导出 HTML / PDF / 可编辑 PPTX。数据以它 README 为准,本文按公开信息对比,不臆测未公开实现。

5.1 先说结论:这是两个物种

dashi-ppt 我们(Deck)
本质 装在 Agent 里的 skill (npx dashi-ppt-skill),本地跑 平台里的在线产品(账号、任务、计费、产物)
产物归属 本机文件 + 本地 HTTP 预览服务 OSS 直链 + 任务记录 + 可回访的编辑台
谁在交付 用户自己的电脑(Node 20+、Chrome/Chromium) 服务端(Python 排版 + 导出),用户只开浏览器
给谁用 已经用 Claude Code / Codex 的个人 团队 / 客户 / 需要留痕与计费的场景

一句话:dashi 把「做 PPT」做成一个能力,我们把「做 PPT」做成一条产品线。 两者的强项不重叠。

5.2 逐项对比

维度 dashi-ppt 我们 谁更强
排版决策 Agent 产出 HTML/CSS,浏览器布局引擎排;版式由 1,020 个页面模板决定 LLM 只出内容 + 版式意图,坐标由确定性排版器算;15 种版式 × 17 套主题 它赢在版式库广度 ;我们赢在版面可预测、不会重叠出界
模板体系 12 主题、20 个页面角色,共 1,020 个整页版式、8,576 个控件 17 主题(4 内置 + 13 皮肤)× 15 版式,槽位级皮肤 它赢在「打开就有好看的页」;我们赢在维护量小(主题 + 版式,不是主题 × 页数)
编辑方式 每页一个控制台(滑杆/下拉/开关,20+ 维度)+ 就地改字、拖图、换色、重排页 自由画布:拖/缩/转、图层树、z-order、锁定隐藏、撤销 50 步 它赢在改得快、不容易改坏 ;我们赢在能改结构(挪框、改层、加形状)
风格切换 换主题/配色(模板参数) 换主题只写 deck.theme,图层一字不动;刻度用这份 deck 自己的快照 接近;我们的 token 化更彻底
可编辑 PPTX HTML 逐节点重建成 Shape/TextFrame,文字可编辑,高级效果降级 IR 直出 python-pptx 原生文本框/形状/表格/图表,没有「HTML→PPTX」这一跳 我们少一跳、少一层失真;它的浏览器渲染观感可能更接近设计稿
图表/分析模型 雷达、瀑布、树图、漏斗、热力、桑基、甘特 + SWOT/五力/PEST/BMC/双钻 原生柱状图 + 原生表格;process / timeline / matrix / chart / table 五种图示版式 它更强(图表类型与分析框架更多);我们的图表是 PPT 原生对象、可直接改数据
内容质量兜底 公开资料未描述跨页审校;靠 Agent + 模板约束 简报 → 骨架 → 分批 → 薄页补写 → 跨页一致性审校(数字/术语/重复断言)→ 确定性排版自检 → 浏览器实测 我们更强(有确定性取证,不靠模型自觉)
交付与运维 本地跑,不上传内容(隐私好);不用账号、没有计费 云端:账号、配额、冻结/结算、任务记录、OSS、订阅通知 隐私它赢;平台化我们赢
运行依赖 Node 20+、Chrome/Chromium/Edge;file:// 不能导 PPTX,必须走本机 HTTP 服务 浏览器即可;PDF 由服务端 LibreOffice 转 我们更适合非技术用户
许可 AGPL-3.0:网络服务里集成会被要求开源 自有代码 商用集成我们无约束
价格形态 开源免费 + 自己出算力 500 积分/次导出;生成按 token 实扣 取决于场景

5.3 各自适合谁

选 dashi,如果你:已经在 Claude Code/Codex 里工作;要的是「好看的页 + 快速调参」;内容敏感不能上传;能接受本机装 Node 和 Chrome;不介意 AGPL。

选我们,如果你 :要一个链接就能用的产品;需要账号、计费、任务记录、产物回访;要真的能改结构 (挪框、改图层、加形状);要跨页数字/术语一致;要把「做 PPT」接进自己的 Agent/MCP 或业务流程;或者需要一份保真 PDF 交付给客户。


6. 能力边界

别说「导出的 PPT 可以随意编辑」,用户一试形状和动画就觉得被骗。准确说法:

导出的 PPTX 里,文字都能直接改。

能做 打折扣 做不到
原生文本框、形状、表格、柱状图 渐变/阴影/图标字体降级为图片层 动画与切换(python-pptx 不支持)
文字改、框挪、图换 合并单元格、条件格式 SmartArt、公式(OMML)
一键换 17 套主题 导出的 PPTX「看着差不多」,不是逐像素 字体嵌入(授权墙,只有思源系可嵌)
保真 PDF 用户端字体 fallback PPTX 反解成可编辑图层、双向同步

参考

相关推荐
悟天特斯1 小时前
边缘计算的“实时决策“:从数据回传到边端即时推理的决策升级
数据库·人工智能·边缘计算
Sailing1 小时前
🚀🚀【封闭结束4】Agent 工具调用工程化:把 Tool Runtime 做扎实
人工智能·面试·agent
浪潮BB机1 小时前
钉钉闪记后续AI处理太弱?2026主流智能工具实测横评
人工智能·钉钉·语音识别·效率工具·ai工具·录音转写·会议纪要
清华kenny1 小时前
中医馆如何参考安徽亳州中医AI健康辨识仪品牌排名前十
大数据·人工智能·安徽晓得养
Jsundoku1 小时前
第七章 机器学习 -- 其他经典算法
人工智能·算法·机器学习
会编程的吕洞宾2 小时前
LangChain4j 流式输出实战:让 AI 回复像打字机一样逐字显示
java·开发语言·人工智能·后端
不脱发的程序猿2 小时前
红利ETF量化策略
人工智能·python·ai·程序员·量化交易·etf·策略回测
鬓戈2 小时前
llmproxy 系统开发目的和基本功能
人工智能·python
武子康2 小时前
CUDA OOM 不只是“显存不够”
人工智能·后端·agent