乐于分享
好东西不私藏

AI Agent 终于能自己做 Word、Excel、PPT 了

AI Agent 终于能自己做 Word、Excel、PPT 了

阅读全文预计耗时 8 分钟。

几秒钟速读版

这篇讲什么

OfficeCLI 是一个开源命令行工具,目标很直接:让 AI Agent 能读、改、创建 Word、Excel、PowerPoint 文件,而且不依赖本机安装 Microsoft Office。

为什么要看

现在很多 Agent 能写代码、查资料、生成 Markdown,但一到“交付一份真正的 PPT / Excel / Word”,就开始变形。OfficeCLI 想补的就是这个断点。

你能记住什么

  • 它不是普通 Office 插件,而是给 AI Agent 用的 Office 操作层。
  • 支持.docx.xlsx.pptx 的读取、修改和创建。
  • 单二进制、跨平台、Apache-2.0,不要求安装 Office。
  • 重点能力是“渲染→看见→修复”,让 Agent 不再盲做 PPT。
  • 它还提供 MCP、JSON 输出、模板合并、dump/batch,适合接进自动化链路。

适合谁:

做 Agent、办公自动化、报告流水线、投研/销售/运营文档自动生成的人,都值得看。只想找一个“一键生成爆款 PPT”的普通用户,可以先别急。

完整正文版

先说结论。
OfficeCLI 这个项目,真正有传播点的地方,不是“AI 能做 PPT 了”。这句话太宽,市面上已经听麻了。
它更像是给 AI Agent 接了一只 Office 手。
以前 Agent 最擅长的是文本:写 Markdown、写 JSON、写代码、读网页。可真实办公交付不是这样。老板要的是 `.pptx`,客户要的是 `.docx`,财务和运营每天盯的是 `.xlsx`。
中间这层格式,一直很尴尬。
你让 AI 写内容,它会。你让 AI 直接产出一份可打开、可检查、可继续修改的 Office 文件,它经常会掉进三个坑:格式看不见、结构不好改、修完不知道有没有坏。
OfficeCLI 切的就是这个缝。
它的仓库地址是:
https://github.com/iOfficeAI/OfficeCLI
截至我核验时,这个仓库主语言是 C#,许可证是 Apache-2.0,GitHub API 显示 Star 约 6.8k,Fork 约 500+。README 里对自己的定位很明确:面向 AI Agents 的 Office 套件,用一个 CLI 控制 Word、Excel、PowerPoint。

一、AI 做办公文档,最大的问题不是“不会写”

很多人误解了 AI 办公自动化。
以为核心问题是:模型会不会写一份报告、会不会列一个表、会不会生成几页 PPT。
这只是第一层。
真正麻烦的是第二层:这份文档能不能被程序稳定修改,能不能被 Agent 看懂结构,能不能在没有 Office 的服务器上生成预览,能不能出错后自动定位并修复。
一个很典型的例子:
Agent 写了一页 PPT,标题太长溢出了。传统脚本只知道 XML 里有这个文本,不一定知道它在视觉上已经压住了图表。人打开 PowerPoint 一眼就能看出来,Agent 不行。
所以 OfficeCLI 的 README 里反复强调一个词:render。
它内置了面向 Agent 的渲染引擎,可以把 `.docx`、`.xlsx`、`.pptx` 渲染成 HTML 或 PNG。也就是说,Agent 不只是“写文件”,还可以“看见文件”。
这个变化很关键。
因为一旦 Agent 能看见,它就可以进入一个更像人的工作流:生成、预览、发现问题、修复、再预览。
这才是办公自动化从 demo 走向交付的分水岭。

二、OfficeCLI 做的不是一个格式转换器

如果只把 OfficeCLI 理解成“命令行操作 Office 文件”,会低估它。
它的命令体系更像三层:
第一层是读。
你可以用 `view` 看文档文本、outline、stats、issues、HTML、截图等。这一层适合让 Agent 快速理解文档大概长什么样。
第二层是结构化操作。
`get`、`query`、`set`、`add`、`remove`、`move`、`swap` 这些命令,让文档不再是一坨难读的 OOXML,而是可定位、可修改、可验证的对象树。
第三层是兜底。
当结构化命令覆盖不到时,还有 `raw`、`raw-set`、`add-part`、`validate`。这意味着它不是只做“常见场景”,而是给 Agent 留了深入 OpenXML 的后门。
这套设计对普通用户可能没那么性感,但对做 Agent 的人很重要。
因为 Agent 最怕的不是步骤多,而是每一步没有确定反馈。
OfficeCLI 大量使用 JSON 输出,错误也会返回结构化信息,比如 `not_found`、`invalid_value`、`unsupported_property`、`invalid_path`。这类错误对人来说只是报错,对 Agent 来说就是自我修复的入口。
它可以读错误、改参数、再执行。
这比“生成一个文件,祈祷它能打开”强太多。

三、为什么它适合 Agent,不只是适合程序员

OfficeCLI 的一大特点是:它不把人当唯一操作者。
传统 Office 自动化工具,大多是给程序员写脚本用的。比如你写 Python,用 `python-docx` 处理 Word,用 `openpyxl` 处理 Excel,用 `python-pptx` 处理 PPT。每种格式一套库,一套心智,一套坑。
OfficeCLI 的思路是:给 Agent 一个统一入口。
README 里明确写了几个关键能力:
  • 支持 Word、Excel、PowerPoint 的读取、修改和创建。
  • 单个自包含 binary,运行时不需要额外安装 .NET,也不要求安装 Office。
  • 支持 macOS、Linux、Windows,多平台有独立二进制。
  • watch 实时预览,有view screenshot 输出截图,有view html 输出 HTML。
  • 内置 MCP server,可注册到 Claude Code、Cursor、VS Code / Copilot、LM Studio 等环境。
  • 安装后可以把 officecli skill 注入到 AI coding agent,让 Agent 学会使用命令。
这些点合在一起,指向一个方向:它不是只想让开发者少写几行脚本,而是想成为 Agent 处理 Office 文档的工具层。
比如一个销售日报流程,可以是:
CRM 拉数据,Agent 总结关键变化,OfficeCLI 填入 Excel 模板,生成图表,再把结果合并进 PPT。最后通过截图检查是否溢出、图表是否遮挡、关键页面是否缺内容。
再比如一个投研周报流程:
Agent 先读已有 `.docx` 模板,用 `dump` 拆出结构,改其中几个段落、表格、图注,再用 `validate` 检查文件,最后导出 HTML 或 PNG 给人审。
这不是“AI 写一段话”。
这是 Agent 开始接近“交付一份能用的办公文件”。

四、几个能力,值得单独拎出来看

第一个是模板合并。
OfficeCLI 的 `merge` 可以替换 Word、Excel、PowerPoint 里的 `{{key}}` 占位符。这个能力看起来朴素,但很实用。
因为很多自动化文档不应该每次从零生成。
从零生成容易风格漂移:今天标题这样,明天图表那样,后天页眉又变了。更稳的做法是:人先设计模板,Agent 或程序只填数据。
OfficeCLI 的模板合并就是为这个模式服务的。
第二个是 dump/batch。
`dump` 可以把已有 `.docx` 或 `.pptx` 序列化成可回放的 batch JSON,`batch` 再执行一组操作。对 Agent 来说,这相当于把“参考样稿”翻译成可编辑说明书。
第三个是 Excel 公式和透视表。
README 提到它内置 150+ Excel 函数自动求值,支持动态数组函数前缀、VLOOKUP、INDEX、MATCH 等,还能写原生 OOXML pivot tables。这个点对报表自动化很关键,因为很多自动化不是写几个单元格,而是要让 Excel 打开时已经带着可用的结果。
第四个是 PowerPoint 能力。
它支持 slides、shapes、images、tables、charts、animations、morph transitions、3D models、equations、themes、connectors、video/audio、notes 等。换句话说,它不是只会插一个文本框。
这些能力合在一起,才撑得起“Agent 用的 Office 套件”这个定位。

五、别被“AI 自动做 PPT”这句话带偏

这个项目最容易被写歪。
如果标题只写“AI 一键做 PPT”,流量可能有,但会把项目讲浅。
OfficeCLI 的价值不是替你偷懒做一份漂亮 PPT。它真正解决的是 Agent 操作 Office 文件时的工程问题:如何读结构,如何改结构,如何看见结果,如何验证质量,如何失败后继续修。
这也是我认为它比很多“AI 办公助手”更值得技术人关注的原因。
AI 办公助手往往把能力包在 UI 里,你能用,但不一定能接进自己的系统。
OfficeCLI 反过来。
它先给出底层 CLI、JSON、MCP、模板、渲染和验证。UI 可以有,比如它 README 里提到 AionUi 是一个基于 OfficeCLI 的桌面自然语言办公应用。但 OfficeCLI 本身更像发动机。
发动机不一定最讨普通用户喜欢,但决定上限。

六、哪些人适合马上看,哪些人可以等等

适合马上看的人:
  • 做 Agent 工具链的人。
  • 做企业内部报告自动化的人。
  • 经常批量生成 Word、Excel、PPT 的开发者。
  • 想把文档生成接进 CI、Docker、服务器流程的人。
  • 做投研、销售、运营、项目管理自动化的人。
可以先等等的人:
  • 只想找一个傻瓜式 PPT 美化工具的人。
  • 不想碰命令行,也不打算接 Agent 流程的人。
  • 只需要偶尔改一两个文档,没有批量和自动化需求的人。
这个边界要说清楚。
OfficeCLI 不是“装上就替你当秘书”的产品。它更像一个 Agent 基础设施组件,需要被放进流程里,价值才会出来。

七、坑和注意点

第一,README 里的“world’s first and best”是项目自我表达,不建议照搬成结论。写公开内容时,最好落到可核验事实:开源、Apache-2.0、C#、单二进制、支持 Word/Excel/PPT、内置渲染、支持 MCP。
第二,Office 文档格式本身很复杂。支持很多功能,不等于所有复杂文档都能完美覆盖。真实生产里还是要保留验证、预览和人工抽查。
第三,Agent 自动改 Office 文件,不应该直接覆盖重要原件。更稳的做法是复制模板、生成新文件、validate、截图检查,再交给人确认。
第四,自动更新默认开启这一点,生产环境要注意。README 里提到可以用 `officecli config autoUpdate false` 关闭,或者用 `OFFICECLI_SKIP_UPDATE=1` 跳过单次更新检查。
第五,MCP 和 Agent skill 很方便,但权限边界要管好。能改文档,就意味着能误删、覆盖、批量替换。越自动化,越要有备份和审计。

八、我怎么看

OfficeCLI 让我觉得有意思的地方,是它把“办公文档”从人类 GUI 物件,拆成了 Agent 能理解的工程对象。
这比单纯生成一份 PPT 更重要。
未来很多 Agent 的竞争,不会只比谁会聊天。会比谁能稳定接住真实任务:读文件、改文件、看结果、修问题、交付给人。
Office 文件是最典型的真实任务之一。
它脏、复杂、格式多、历史包袱重,但每天都在公司里流动。
谁能把这层打通,谁就能让 Agent 更靠近工作流,而不是停在聊天框里。
OfficeCLI 现在看起来还是开发者和 Agent 玩家更容易吃到红利。但方向是对的。
如果你做的是 AI 办公、报告自动化、Agent 工具链,这个仓库值得收藏。
不是因为它一定会变成下一个 Office。
而是因为它抓住了一个很硬的点:AI Agent 想真正干活,最后总要碰 Word、Excel、PPT。
而碰到这些文件时,它不能只会写字。
它得会看,会改,会验,会重来。

收藏版清单

仓库:
https://github.com/iOfficeAI/OfficeCLI
一句话定位:
给 AI Agent 用的开源 Office CLI,让 Agent 可以读、改、创建、渲染、验证 Word/Excel/PPT。
核心格式:
`.docx`、`.xlsx`、`.pptx`
关键能力:
`create`、`view`、`get`、`query`、`set`、`add`、`remove`、`move`、`validate`、`batch`、`dump`、`merge`、`watch`、`mcp`
技术事实:
C#;Apache-2.0;单二进制;无需 Office 安装;支持多平台;可输出 HTML/PNG 预览;支持 MCP 接入。
最适合的场景:
Agent 办公自动化、报告生成、模板填充、文档批处理、CI 文档流水线、企业内部材料自动生产。
最该注意的边界:
复杂文档仍需验证;生产环境要备份;不要让 Agent 直接覆盖重要原件;自动更新和 MCP 权限要单独管理。