核心用法
Presentation Agent 是一款基于 Marp CLI 的 Markdown 转演示文稿自动化工具,可将标准 Markdown 文档转换为 PDF、PPTX 或 HTML 格式的幻灯片。核心工作流为:接收 Markdown 内容(或从用户需求生成)→ 确保 frontmatter 包含 marp: true → 执行 bash scripts/md2slide.sh 脚本完成转换 → 向用户交付输出文件。
关键特性:
- 原生支持 Mermaid 图表(甘特图、流程图、时序图、饼图、类图、状态图、ER 图),自动渲染为 PNG 嵌入
- 数据图表通过
exec预生成 PNG 后嵌入 Markdown - 内置企业级设计规范:强制使用本地明朝体(30px+正文)、禁用 emoji、右上角固定 120px+ logo、 Navy+Gold 主题色
技术架构:基于 Node.js 生态(@marp-team/marp-cli + @mermaid-js/mermaid-cli),通过 Python 预处理脚本处理 Mermaid 渲染,CSS 主题系统支持深度定制。
显著优点
1. 自动化程度高:单命令完成 Markdown → 幻灯片全流程,无需手动排版
2. 图表生态完整:Mermaid + matplotlib/plotly 双轨支持,满足技术文档可视化需求
3. 设计规范内建:硬编码的字体、配色、logo 规则确保输出一致性,适合企业品牌管控
4. 格式覆盖全面:PDF(最终交付)、PPTX(可编辑)、HTML(在线演示)三端输出
潜在缺点与局限性
- 字体依赖严苛:强制要求本地预装明朝体(IPAex明朝等),远程字体在 PDF 转换时失效,跨平台兼容性受限
- 预处理链路复杂:Mermaid 需 Python 脚本预渲染为 PNG,增加故障点和维护成本
- stdin 处理缺陷:
md2slide.sh存在 hang 风险,需显式附加--no-stdin或< /dev/null - 主题定制门槛:CSS 需处理绝对路径、字体替换等细节,非前端用户难以调试
- 安全扫描缺失:认证报告明确标注"未执行安全扫描",生产环境部署存在盲区
适合人群
- 技术团队/开发者:需将架构文档、API 说明、项目计划快速转为演示材料
- 企业品牌部门:有严格 VI 规范(字体、配色、logo 位置)的汇报场景
- 数据分析师:需要将 Python/R 生成的图表自动嵌入幻灯片工作流
常规风险
- 路径注入风险:CSS
background-image: url()使用绝对路径,若路径构造依赖外部输入可能引发目录遍历 - 命令执行风险:
exec节点用于预生成图表,若用户可控代码注入将导致 RCE - 依赖供应链风险:npm 全局安装的
marp-cli与mermaid-cli版本未锁定,升级可能破坏兼容性 - 文件残留风险:
/tmp/生成的临时 CSS 文件若未清理可能泄露主题配置信息