
凌晨三点,服务器在跑。一个 Agent 正在生成一份 100 页的年度报告,每写完一页就截图自己看一眼,发现标题溢出了就调字号,发现图表位置歪了就调坐标,最后整页 validate 一遍,close 保存。
早上九点我打开电脑,文档已经躺在那里。
这件事之所以能发生,是因为我的 AI 最近装了一双「手」。
01 AI 看不见自己做的

让 AI 帮你做个 PPT,它确实「做」了。打开一看
标题溢出文本框被裁掉一半
字体全部回退成默认的等线,和设计稿完全不搭
说好要做的图表没做,只是把数据堆进了单元格
问题不在 AI 不会写内容,而在它根本「看不见」自己做出来的东西。它往文件里写了一堆 XML,写完就撒手,不知道版式对不对,也不知道公式有没有真的算出来。
过去这两年,AI 办公工具差不多都死在这个点上。会写,不会看。能生成,不能交付。
02一个 3 个月冲到 2.8 万星的怪胎
有个叫 OfficeCLI 的项目把这个坑填上了。它在 GitHub 上叫 iOfficeAI/OfficeCLI,2026 年 3 月 15 日才创建,到 8 月中下旬已经涨到 2.8 万星,1.9k fork。
几个关键事实先摆出来
C# / .NET 10 写的,Apache 2.0 协议可商用
编译出来是单个二进制文件,运行时不需要 .NET、不需要 Python、更不需要装 Microsoft Office
macOS (Intel 和 Apple Silicon)、Linux (x64/ARM64)、Windows 全平台一个文件搞定,背后组织叫 AionUi
发版非常勤,3 月到 7 月底已经迭代到 v1.0.143,平均两天一个版本
贡献者名单里最显眼的一行是 Claude。AI 也参与写这个让 AI 写文档的工具。
一个更扎心的细节。OfficeCLI 仓库的 README,第一个板块不叫 For Humans,不叫 For Developers,叫 For AI Agents。给 Agent 一行 curl,它自己读 SKILL.md,自己学会怎么安装、怎么用。officecli install 一跑,自动检测你机器上装了 Claude Code、Cursor、Windsurf、Copilot,把 Skill 文件塞进对应目录。Agent 重启,立刻能帮你操作 Office 文档。零配置。
03给 AI 装一双眼睛
这是 OfficeCLI 和 python-docx、openpyxl 这类纯代码库最本质的区别。它内置了一个渲染引擎,能直接把 .docx、.xlsx、.pptx 渲染成 HTML 或逐页 PNG。
一个完整的工作流闭环出现了
render → look → fix(渲染 → 看一眼 → 修复)

Agent 做完 PPT,会自己「看」一遍成品。标题溢出了、两个图形叠在一起了、页面太空了,它定位元素直接修,修完再看。做、查、改,全程不用人插手。
它有三种「看」的方式
officecli view deck.pptx html → 渲染成独立 HTML 文件,浏览器打开
officecli view deck.pptx screenshot --page 1 → 截取单页 PNG,直接喂给多模态模型
officecli watch deck.pptx → 启动一个 localhost 服务,每次 add / set / remove 浏览器自动刷新
你写代码开过 live server 吧。officecli watch 干的就是这件事,只不过对象从代码换成了文档。
04给每个元素一个稳定坐标
光「能看」还不够。AI 看完之后要能精确地「指哪改哪」,不能每次都重新解析整棵 XML 树。OfficeCLI 用了一个非常克制的设计路径寻址。
每个元素都有可读路径
/slide[1]/shape[2]
/body/tbl[1]/tr[1]/tc[2]
/Sheet1/B3
AI 定位元素就像在文件系统里 cd 目录,不用懂 XML,也不用理解 OOXML 那套命名空间地狱。
更聪明的是它把操作复杂度分成了三层

L1 语义视图。view outline、view text、view issues,AI 先快速读懂「这文档讲了什么、有没有问题」。Token 消耗极低。
L2 DOM 操作。add、set、get、remove,对形状、表格、图表做结构化增删改。这一层覆盖 90% 的场景。
L3 裸 XML 兜底。raw、raw-set,直接用 XPath 操作,高层够不着时也不会被卡死。
简单任务永远停在高层,只有高层够不着时才下沉到 XML。AI 不用一上来就啃 OOXML 的命名空间地狱。
这种分层对 AI 极友好。一个直接对比
用 python-pptx 生成一张标题幻灯片
●●●CODE
from pptx import Presentationfrom pptx.util import Inches, Ptprs = Presentation()slide = prs.slides.add_slide(prs.slide_layouts[0])title = slide.shapes.titletitle.text = "Q4 Report"# 还有 45 行在凑字体、坐标、RGBprs.save('deck.pptx')用 OfficeCLI
●●●CODE
officecli create deck.pptxofficecli add deck.pptx / --type slide --prop title="Q4 Report"行数差距只是表象,真正的差距是右边这条命令 Agent 一句话就能学会、能记住、能组合。左边那 50 行,每次都要查 API、拼参数。
05让 AI 自己改错
AI 改文档最怕的不是改错,是改错了不知道。OfficeCLI 的做法是给每个错误一个「出口」。
返回结果是结构化 JSON。越界了,比如请求第 50 页但只有 8 页,会拿到这样的回执
●●●CODE
{ "success": false, "error": { "error": "Slide 50 not found (total: 8)", "code": "not_found", "suggestion": "Valid Slide index range: 1-8" }}Agent 读 suggestion 字段,解析出有效范围,自动重试。这就是 self-healing workflow。
再叠加两个工程设计,AI 改文档的稳定性会上一个台阶
常驻模式 (Resident)。文档留在内存里,后续命令通过命名管道直接操作,延迟接近零。代价是改完默认不落盘,需要另一个进程立刻读文件时,记得显式 officecli save 或 close,或者设置环境变量 OFFICECLI_RESIDENT_FLUSH=each 强制每条命令都 flush。
批处理 (batch) 原子性。一次提交一串操作,默认原子,任何一步失败整批回滚。改到一半出错,不会留下一个解压一半的损坏文件。
这两个合起来,解决的就是 AI 改文档最要命的「改到一半翻车」问题。
06你能拿它来干什么
落到具体工作上,最直接能接的活
会议纪要流水线。录音转写、聊天记录丢给 Agent,「提取决策、待办、负责人和截止时间,整理成正式纪要,统一标题层级,补充表格。」读资料、提信息、排版式,一气呵成。
数据从清洗到汇报。OfficeCLI 内置 350 多个 Excel 函数,写公式 =SUM(A1:A2) 当场算给你看,返回里直接带 computedValue,不会出现交给你才发现满屏 #REF! 的尴尬。还有原生 OOXML 透视表引擎,多维聚合、日期分组、切片器全都有。
对话式修改的 PPT。Agent 做完一份 8 页汇报,你看完说「第 3 页标题太长,缩短但别丢结论。图表下移半厘米,和正文留白对齐。」它精确修改,不会重做整页。
模板合并。读一份设计好的模板,里面用 {{client}}、{{total}}、{{date}} 标记需要填充的位置。下游代码 officecli merge template.docx output.docx --data '{...}' 就能批量生成 N 份格式统一、内容各异的文档。设计一次,贵;填充 N 次,便宜、确定性、零 token 消耗。
下面两张图是 OfficeCLI 官方 README 里的实机截图,全程零模板、零手改,由 AI 用命令行直接生成


07软件的假想用户从人变成 AI
OfficeCLI 为什么能成?回头看,命令行有几个 GUI 天然不具备的特质
可组合。一条命令的输出是下一条命令的输入,几十步操作串成流水线,不需要人盯着点鼠标。
可验证。每一步都有明确的返回结果,成功还是失败、改成了什么样,白纸黑字。AI 最怕的不是做错,是做错了不知道。命令行天然自带反馈回路。
可复现。同一串命令跑一百次,结果一致。而「让 AI 模拟鼠标点第 237 个像素」,错一次就全盘皆输。
任何软件,只要暴露出稳定的命令行或 API,理论上都可以被 AI 接管。Office 三件套只是第一个被攻下的山头,因为它最标准化、最重复、最痛。
OfficeCLI 自己也内置了 MCP 服务器,对接主流 AI 编程助手只要一条命令

●●●CODE
officecli mcp claude # 注册到 Claude Codeofficecli mcp cursor # 注册到 Cursorofficecli mcp vscode # 注册到 VS Code / Copilot工具在主动向 AI 递出自己的技能文件 (SKILL.md),等于工具在自我介绍「你这么用我」;MCP 协议在给工具和模型之间铺标准管道;GitHub 上 Skills 生态正在爆发。
未来评价一个软件好不好用,可能要多加一条标准。它对 AI 友好吗?有没有命令行?有没有稳定的程序化接口?因为能不能被 AI 接管,直接决定了你的工作流能不能自动化。
GUI 不会消失。人做决策、做审美判断、做需要手感的事,图形界面依然是最低成本的方式。更可能的格局是分层,人通过 GUI 和对话做决策与验收,AI 通过 CLI 和 API 做执行与自检。
08凌晨三点 AI 在服务器上做 PPT

如果你也想让自己电脑上的 AI 拥有这双手,三步就够了
第一步,一行安装
●●●CODE
# macOS / Linuxcurl -fsSL https://raw.githubusercontent.com/iOfficeAI/OfficeCLI/main/install.sh | bash# Windows PowerShellirm https://raw.githubusercontent.com/iOfficeAI/OfficeCLI/main/install.ps1 | iex# 也可以用 Homebrewbrew install officecli第二步,让 Agent 接管你的 Office
●●●CODE
officecli install它会自动扫描你机器上装好的 Claude Code、Cursor、Windsurf、Copilot,把 Skill 文件和 MCP 配置塞进对应目录。
第三步,开始让 AI 干活
●●●CODE
officecli create deck.pptxofficecli add deck.pptx / --type slide --prop title="Q4 Report"officecli watch deck.pptx打开浏览器看实时预览,加一页、改一个颜色,刷新一下。AI 改完你再改,改到满意为止。
如果不想敲命令,官方还做了一个配套桌面应用叫 AionUi,用自然语言描述你想要什么,底层调用的是同一个引擎。CLI 给 Agent 用,GUI 给人用,两边都照顾到了。
仓库地址:https://github.com/iOfficeAI/OfficeCLI技能描述文件:https://officecli.ai/SKILL.md,Apache 2.0 开源,
你经常被 Office 文件折磨的话,今晚就可以装一下。明天早上九点,可能你的 AI 已经把周报做好了。
以上,既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧,如果想第一时间收到推送,也可以给我个星标⭐~
谢谢你看我的文章,我们,下次再见。
夜雨聆风