乐于分享
好东西不私藏

MiniMax 开源四套 Office Skills:让 AI 生成的文档真正能交付

MiniMax 开源四套 Office Skills:让 AI 生成的文档真正能交付

用 AI 生成 Word、Excel、PPT,这件事听起来简单,做起来全是坑。

公式存完变成了死数字,模板编辑一轮后格式全乱了,数据透视表保存之后悄悄丢了……文件能打开,但没办法作为最终交付产出。

这就是为什么很多 AI 生成的文档只能停留在 demo 阶段,无法真正落地。

3月25日,MiniMax 做了一件实在事:把他们在生产环境中验证过的四套 Office Skills 完整开源,MIT 协议,代码、设计文档、评测框架全部放出。

这不是简单的"轮子分享",而是把他们在文档生成踩过的所有坑,以及对应的解决方案,一次性摊开来给你看。

四个 Skill,四种技术选型

这次开源的四个 Skill 分别对应 Word、Excel、PDF、PPT 四种格式。最值得看的不是代码本身,而是每个格式背后的技术选型逻辑——每一条都是"踩过坑才知道"的经验。

Word:为什么不用 python-docx?

这是整个项目里讨论最久的一个选型。

python-docx 是社区最常见的 Word 生成方案,轻量、易用。但问题在于:当需求推进到复杂表格嵌套、多级目录、页眉页脚控制、修订追踪这些场景时,有些功能它不支持,有些支持但生成出来的文档结构容易出错。

MiniMax 最终选择了 .NET OpenXML SDK——微软官方维护的底层库,对 Word 文件格式标准的实现最完整。

代价是需要额外部署 .NET 运行环境,但换来的是对 Word 文档结构更完整、更可靠的控制力。

结论:文档质量比部署便利性更重要。

Excel:为什么不用 openpyxl?

Excel 的坑更隐蔽。很多时候不是 Agent 写不出来,而是"写完以后悄悄坏了"。

openpyxl 有一个工程上很难接受的问题:文件读入再写回之后,一些高级内容会被静默丢弃。比如一个包含数据透视表、迷你图、VBA 宏的 Excel 文件,被 openpyxl 打开再保存,这些东西可能就没了——甚至没有报错和提示。

MiniMax 的方案很硬核:绕开所有 Python Excel 库,直接在 XML 层面操作。

.xlsx 文件本质上是一个压缩包,里面是一组 XML 文件。解压 → 只修改目标单元格对应的 XML 节点 → 重新打包。这样每次编辑只动需要动的地方,样式、图表、宏都原封不动保留。

另一个关键点是公式。很多方案会把公式提前算好,存一个静态数字进去。MiniMax 要求每一个派生值都必须是真正的 Excel 公式,比如 =SUM(B2:B9),这样用户打开文件后还能正常编辑和联动。

PDF:封面和正文要用两套引擎

PDF 的核心挑战不在于文字呈现本身,而在于需要做出一套可复用、可扩展的设计系统。

MiniMax 做了一个关键判断:封面和正文使用不同的渲染引擎。

封面用 HTML + CSS 编写,通过 Playwright 渲染为 PDF。原因在于渐变、网格、混合模式、自定义字体这些设计能力,CSS 原生就支持,而多数 PDF 绘图 API 做这些非常吃力。

正文交给 ReportLab 排版,它在段落流控制、分页策略、页眉页脚方面更稳定可控。

最后通过 merge 脚本把两部分合并成一份完整的 PDF。

结论:拆成两套引擎,系统更复杂,但封面可以大胆做设计,正文仍然保持工程上的稳定性。

PPT:视觉风格一致性的秘密

PPT 生成的难点不在于往 slide 上放内容,而在于视觉风格的统一——字体大小、间距、配色、圆角弧度,任何一个地方不一致,整份演示文稿看起来都会很粗糙。

MiniMax 的做法是先定义约束体系,再去做生成。

页面类型:定义了 5 种标准类型——封面、目录、章节分割、内容、总结。每种类型都有明确的布局规范和元素位置。

风格配方:设计了 4 套配方——Sharp、Soft、Rounded、Pill。每套配方定义了圆角半径、阴影参数、边框粗细、间距比例等一整套数值。

切换配方,就能整体改变一份 PPT 的视觉调性,而不用逐页调整。

Skill 自循环进化:Execute → Evaluate → Fix

构建一个 skill 并不难。真正的挑战在于:你怎么知道它下一轮是不是更好了,以及它有没有在修一个问题的同时,又把别的场景弄坏。

MiniMax 搭了一套固定的三阶段循环:

Execute(执行)Evaluate(评估)Fix(修复)

先执行一组真实用例,再根据规则检查输出是否达标,把失败样例沉淀成可修复的问题,进入下一轮迭代。

对"达标"的定义不只是文件能打开。真正关心的是:

  • 结构是不是完整
  • 公式还是不是公式
  • 版式在读写之后有没有悄悄变形
  • 模板约束有没有被破坏

一个 xlsx 文件即使成功保存,如果数据透视表丢了、公式被写成了静态数字,在真实交付里都算失败。

只有底层链路足够可控,评测才可能对齐到真正有意义的质量指标,而不是停留在"程序没报错"这一层。

开源信息

  • GitHub:github.com/MiniMax-AI/skills
  • 协议:MIT
  • 内容:代码、设计文档、评测框架全部开源

如果你也在做 AI 文档生成、Agent 工具调用,或者正在把"能跑"往"能交付"推进,这个仓库值得一看。

写在最后

这次开源最有价值的不是代码本身,而是那些"踩过坑才知道"的技术选型逻辑。

为什么选 .NET 而不是 python-docx?为什么直接操作 XML 而不是用 openpyxl?为什么 PDF 要拆成两套引擎?为什么 PPT 要先定义约束体系再生成?

每一个选择背后,都是真实生产环境中无数次失败换来的经验。

对于做 AI Agent 办公场景的开发者来说,这份开源相当于一张"避坑指南"。与其自己从头踩一遍,不如站在别人的肩膀上往前走。


参考资料:MiniMax 官方公众号