背景

做 PPT 最耗时的不是做幻灯片,是写演讲备注。30 页的汇报 PPT 做完了,备注栏全是空的。手动写一遍 3-4 小时,用 python-pptx 写脚本也得 1-2 小时(含调试)。

市面 300+ 个 AI PPT 工具都在做"创建幻灯片",几乎没有专注编辑演讲备注的。于是我做了 pptx-notes-editor——一个专门通过 XML 直接编辑 PPTX 演讲备注的 AI Agent Skill。

PPTX 文件结构

PPTX 本质上是 ZIP 压缩包,内部由 XML 文件组成(ECMA-376 标准):

pptx-unpacked/
├── ppt/
│   ├── slides/              # 幻灯片
│   │   ├── slide1.xml
│   │   └── _rels/          # 关键:映射关系文件
│   │       └── slide1.xml.rels
│   ├── notesSlides/        # 备注文件
│   │   ├── notesSlide1.xml
│   │   └── notesSlide2.xml
│   └── _rels/
│       └── presentation.xml.rels
└── [Content_Types].xml

备注文本在 <a:t> 标签中(DrawingML 命名空间),和幻灯片文本结构相同。

notesSlide 编号陷阱(重要!)

notesSlide3.xml 不一定是第 3 页的备注! 这是几乎所有 PPTX 开发者都会踩的坑。

PPTX 的增量编辑机制会导致编号空洞或错位。真正的映射关系在 ppt/slides/_rels/slideN.xml.rels 中:

<!-- slide5.xml.rels 的内容 -->
<Relationship Id="rId2"
  Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesSlide"
  Target="../notesSlides/notesSlide3.xml"/>

即第 5 页幻灯片对应 notesSlide3.xml。直接按编号改会改错页。

自动检测脚本:

for f in pptx-unpacked/ppt/slides/_rels/slide*.xml.rels; do
  slide=$(basename "$f" .xml.rels)
  notes=$(grep -o 'notesSlide[0-9]*.xml' "$f" | head -1)
  [ -n "$notes" ] && echo "$slide -> $notes"
done

XML 特殊字符处理

备注中的特殊字符必须正确转义:

字符 XML 转义 说明
& &amp; 必须转义
< &lt; 必须转义
> &gt; 建议转义
" &quot; 属性中使用时必须转义

pptx-notes-editor 核心流程

先通读全 PPT 再动笔。 理解整体叙事结构后逐页设计备注,避免上下文不连贯。

四种备注风格:

  • 叙事风格(对外汇报、投资人演示):口语化,有起承转合
  • 精简要点(内部周会):关键信息提炼
  • 逐字稿(重要演讲):完整讲稿,可直接朗读
  • 自定义(特殊需求):按描述生成

与 python-pptx 对比

维度 python-pptx 脚本 pptx-notes-editor
编程要求 需要 Python 无,自然语言
映射检测 需自己实现 自动检测
上下文分析 不支持 先通读全 PPT
交互确认 不支持 逐页确认
备注导出 需额外编码 一键导出 Markdown

安装

# Claude Code
mkdir -p ~/.claude/skills/pptx-notes-editor && curl -fsSL https://raw.githubusercontent.com/cm8421/pptx-notes-editor/main/SKILL.md -o ~/.claude/skills/pptx-notes-editor/SKILL.md

# OpenClaw
/skill install @cm8421/pptx-notes-editor

FAQ

Q:会改幻灯片吗?
A:不会。只修改 ppt/notesSlides/ 下的 XML,不碰幻灯片内容。

Q:需要联网吗?
A:不需要。全部本地操作,不上传文件。

Q:支持 WPS 和 Google Slides 导出的 PPTX 吗?
A:支持。任何 ECMA-376 标准的 PPTX 都可以。

GitHub: https://github.com/cm8421/pptx-notes-editor

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐