乐于分享
好东西不私藏

MiniMax 开源了一套office办公文档引擎,大家可以试试

MiniMax 开源了一套office办公文档引擎,大家可以试试

很多开发者会写md,但是对于ppt、xlsx等和却是咬牙却齿。

MiniMax 刚刚把这个问题解决方案给开源了。


01 先说痛点有多真实

用 Agent 处理文档,最难的根本不是"写不出来"。

你喂给它一句话:"帮我写一份 Q3 策略报告",它能哗哗给你吐出来几十页。但等你真正打开文件——

  • 公式存完变成了静态数字,财务拿去做分析,数字全对不上。
  • 模板编辑一轮后,字体、间距、页眉页脚全乱了。
  • 数据透视表保存之后悄悄丢了,还不报错。

文件能打开,但作为交付产出?废了。

MiniMax 的团队说,他们在实际业务里被这些坑反复折磨之后,决定自己动手,搭了一整套 Office Skills。今天,这套东西完整开源,代码、设计思路、连 Skills 自进化的机制都一并丢出来了,MIT 协议。


02 四个 Skill,每个都是踩坑踩出来的

Word 篇:放弃了 python-docx,投向了微软亲儿子

python-docx 轻量好用,但一遇到复杂表格嵌套、多级目录、页眉页脚控制这些需求,不是功能不支持,就是生成出来的结构容易出错。

他们最后选了 .NET OpenXML SDK——微软官方维护的底层库,对 Word 文件格式标准的实现最完整。代价是要额外部署 .NET 运行环境,但换来的,是对文档结构更可靠的控制力。

三种典型场景全覆盖:从零生成完整文档、在已有模板上编辑内容不破坏原有格式、套用模板并自动校验结构合规。

Excel 篇:直接操作 XML,动最少的刀子

Excel 的坑更隐蔽。

openpyxl 是社区最常见的方案,但它有个工程上很难接受的问题:文件读入再写回之后,数据透视表、迷你图、VBA 宏这些高级内容会被静默丢弃,而且不报错。

他们的解法是:绕开所有 Python Excel 库,直接在 XML 层面操作。.xlsx 本质是一个压缩包,里面是一组 XML 文件。解压 → 只修改目标单元格对应的 XML 节点 → 重新打包。样式、图表、宏,原封不动。

公式也是真公式,不提前静态计算,确保用户打开后还能正常编辑联动。

配套了 13 个独立 Python 工具脚本,还有一份 34,000 字的金融格式化标准文档,对齐投行级别要求。

PDF 篇:封面和正文,用了两套不同的渲染引擎

PDF 的核心挑战不是文字呈现,而是一套可复用的设计系统。MiniMax 为 15 种文档类型设计了独立视觉语言,每种都有封面模式、字体和配色方案。

技术上的关键决策是:封面和正文拆成两套引擎。

封面用 HTML + CSS 写,通过 Playwright 渲染 PDF,因为渐变、网格、混合模式、自定义字体这些设计能力,CSS 原生就强。正文交给 ReportLab 排版,段落流控制、分页策略、页眉页脚更稳定。最后 merge 脚本合二为一。

拆开更复杂,但换来了封面的设计自由度和正文的工程稳定性。

PPT 篇:风格一致性才是真正的难题

PPT 生成最难的不是往 slide 上塞内容,而是一致性——字体大小、间距、配色、圆角弧度,任何一个地方不统一,整份演示文稿看起来都像出自两个人之手。

他们的做法是:先定义约束体系,再做生成。

定义了 5 种标准页面类型:封面、目录、章节分割、内容、总结,每种有明确布局规范。

风格上设计了 4 套配方:Sharp、Soft、Rounded、Pill。每套配方定义了圆角半径、阴影参数、边框粗细、间距比例等一整套数值。切换配方,整份 PPT 视觉调性一键变换,不用逐页调整。


03 这个"自进化"机制才是真正有价值的地方

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

办公文档的特殊性在于,你永远会遇到下一份更难的文档、更刁钻的模板、更多轮真实用户修改。一个 skill 如果不能在失败里持续学习,很快就会停在 demo 阶段。

MiniMax 没有把质量迭代完全交给人工 review,而是搭了一套三阶段循环:

Execute → Evaluate → Fix

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

这里的"达标"不只是文件能打开。他们真正关心的是:

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

这也解释了为什么前面每个格式他们都选了更复杂的方案——只有底层链路足够可控,评测才可能对齐到真正有意义的质量指标,而不是停留在"程序没报错"这一层。


04 我的个人实践

作为一名程序员,实在不会写ppt, 把简单的产品介绍写在文档中,就丢给minimax-m2.7 和他的skill了。
模型使用minimax-m2.7, 工具使用opencode。

总体来说还行,有部分文字重叠和超出。

开源地址

GitHub:github.com/MiniMax-AI/skills 协议:MIT

不仅仅有office相关技能,还有前端开发、全栈开发、安卓开发等相关技能。


说在最后:

说实话,这套东西最打动我的不是某个具体技术选型,而是他们对待"文档生成"这个问题的态度——不满足于"能跑",执着于"能交付"。

Agent 写文档这件事,看起来简单,但越往深做越发现,真正的门槛不在于生成内容,而在于格式的精确控制、评测体系的建设,以及持续迭代的工程化能力。MiniMax 把这些踩过的坑、趟过的弯路都开源出来,对于正在做或者打算做这个方向的人来说,节省的时间可能不是一两个月。

#MiniMax #TokenPlanTips