乐于分享
好东西不私藏

OfficeCLI:让 AI Agent 直接操控 Word/Excel/PPT 的开源 Office 引擎 |SSP Github Daily

OfficeCLI:让 AI Agent 直接操控 Word/Excel/PPT 的开源 Office 引擎 |SSP Github Daily
每日开源 · 第 088 期 · 早间篇
OfficeCLI:让 AI Agent 直接操控 Word/Excel/PPT 的开源 Office 引擎
免责声明:本工具依赖境外公开数据源(GitHub、officecli.ai 等),部分平台在中国大陆需合规网络环境。文中提及的开源项目仅供技术学习与交流,不构成任何商业或投资建议。

你有没有发现:AI 已经能写代码、画图、剪视频,但一到「生成一份真正能打开的 PPT」或「批量改 Excel 报表」就频频翻车?不是让装 Python 库,就是让手动复制粘贴,Agent 像极了一个只会动嘴、不会动手的「办公室菜鸟」。

今天这款开源项目,就是为解决这个问题而生——它把 Office 文档操作重新设计成AI 原生的命令行原语,让任何 Agent 都能像调用 API 一样创建、编辑、渲染 Word/Excel/PPT。

项目:iOfficeAI/OfficeCLI语言:C# / .NET协议:Apache 2.0版本:v1.0.132(2026-07-08)Stars:11.8k+今日新增:+1,717 🔥

一、项目速览

OfficeCLI 自称是「世界上第一个也是最好的为 AI 智能体设计的 Office 套件」。它用一个单一二进制文件实现了对 .docx、.xlsx、.pptx 的完整读写能力,无需安装 Microsoft Office,也无需任何运行时依赖

核心定位非常清晰:给 AI Agent 装上 Office 的「手」和「眼」——手能创建编辑,眼能看到渲染结果。

3文档格式全覆盖1单一二进制文件350+内置 Excel 函数L1→L3三层渐进架构

二、它能解决什么问题?

传统方案让 Agent 操作 Office 文档,通常有几条「弯路」:

  • Python 库拼凑:python-docx、openpyxl、python-pptx 各管一摊,跨语言项目还得写胶水代码。

  • Office 依赖重:Microsoft COM 接口只跑 Windows;LibreOffice 无头部署体积大、容器里折腾。

  • Agent 是「盲飞」:生成完 PPT 不知道标题有没有溢出、形状有没有重叠,无法形成 render→look→fix 闭环。

  • 调用接口不统一:每个库 API 风格迥异,LLM 容易在参数、索引、样式上犯错。

OfficeCLI 的做法是:把 OOXML 解析、渲染、公式求值、模板合并全部打包进一个自包含二进制,对外暴露统一的 CLI + JSON 接口。Agent 不需要懂 Office XML,也不需要打开 Office 软件,就能完成从创建到渲染的全流程。

三、核心亮点

1. 三层渐进架构:从「看懂」到「改透」

OfficeCLI 把文档操作分成三层,AI Agent 可以按需深入,不会一头扎进 XML 地狱:

L1 读取层:语义视图

用 view 命令输出大纲、纯文本、HTML、截图、问题诊断,让 Agent 先「看懂」文档结构。

L2 DOM 层:结构化操作

用 get/query/set/add/remove/move/swap 等命令操作具体元素,路径寻址如 /slide[1]/shape[2]

L3 原始 XML 层:万能兜底

用 raw/raw-set 直接 XPath 访问 OOXML,处理 L2 覆盖不到的极端边缘场景。

2. 内置高保真渲染引擎:Agent 终于有「眼睛」

这是 OfficeCLI 最独特的创新。它从零构建了一个 Agent 友好的 HTML 渲染引擎,直接打包在二进制度里,支持形状、图表、公式(OMML→KaTeX)、3D .glb 模型、Morph 过渡等。

officecli view deck.pptx html       # 独立 HTML,资源内联officecli view deck.pptx screenshot  # 逐页 PNG,供多模态 Agent 读取officecli watch deck.pptx            # 本地 HTTP 服务,实时自动刷新

多模态 Agent 可以通过 view screenshot 逐页「看」设计稿,再用 set 调整排版,render→look→fix 循环可以在 CI、Docker、无显示器服务器上运行

3. 内置公式与透视表引擎:不装 Excel 也能算

OfficeCLI 内置 350+ Excel 函数,写入公式时自动求值,支持 FILTER、SORT、UNIQUE、SEQUENCE、LET、LAMBDA 等动态数组函数,以及 XIRR、PRICE、YIELD 等金融函数。

officecli add sales.xlsx '/Sheet1' --type pivottable   --prop source='Data!A1:E10000' --prop rows='Region,Category'   --prop cols=Quarter --prop values='Revenue:sum,Units:avg'   --prop showDataAs=percentOfTotal

4. 模板合并 + Dump 往返:设计一次,批量复制

Agent 先设计一次版式,留下 {{key}} 占位符,生产时直接 JSON 填充:

officecli merge invoice-template.docx out-001.docx '{{"client":"Acme","total":"$5,200"}}'

遇到参考文档,可以用 dump 把结构序列化为可重放的批处理 JSON,Agent 学的是「结构化规格」而不是原始 XML:

officecli dump existing.docx -o blueprint.json officecli batch new.docx --input blueprint.json

5. AI 原生集成:MCP + SKILL.md

OfficeCLI 内置 MCP 服务器,可一键注册到 Claude Code、Cursor、VS Code / Copilot、LM Studio:

officecli mcp claude officecli mcp cursor officecli mcp vscode

也可以直接把 SKILL.md 喂给 Agent:

curl -fsSL https://officecli.ai/SKILL.md

每个命令都支持 --json 输出,错误码结构化(not_found、invalid_value 等),Agent 可以基于建议自我修正,无需人工介入。

四、实战场景展示

场景 1:30 秒生成并预览 PPT

# 1. 安装(macOS / Linux)curl -fsSL https://raw.githubusercontent.com/iOfficeAI/OfficeCLI/main/install.sh | bash# 2. 创建空白 PPTofficecli create deck.pptx# 3. 启动实时预览officecli watch deck.pptx# 4. 另开终端添加幻灯片,浏览器自动刷新officecli add deck.pptx / --type slide --prop title="Hello, World!"

场景 2:从零创建一份 Word 报告

officecli create report.docx officecli open report.docx  officecli add report.docx /body --type paragraph   --prop text="Q4 2025 Sales Report" --prop style=Heading1  officecli add report.docx /body --type table --prop rows=4 --prop cols=3 officecli set report.docx /body/tbl[1]/tr[1]/tc[1]   --prop text="Region" --prop bold=true --prop shd=4472C4 --prop color=FFFFFF  officecli add report.docx / --type watermark --prop text=CONFIDENTIAL --prop opacity=0.2 officecli validate report.docx officecli close report.docx

场景 3:CI/CD 自动生成 Excel 周报

officecli create sales.xlsx officecli set sales.xlsx /Sheet1/A1 --prop value="Product" --prop bold=true officecli set sales.xlsx /Sheet1/D2 --prop formula="=B2*C2"officecli add sales.xlsx /Sheet1 --type chart   --prop chartType=column --prop title="Revenue by Product"   --prop data=A1:D5 officecli merge weekly_report.xlsx data.json

五、上手指南

安装方式

OfficeCLI 提供一键安装、包管理器和手动下载三种方式,支持 macOS / Linux / Windows(x64/ARM64)。

# 一键安装# 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# 包管理器brew install officecli npm install -g @officecli/officecli# 验证officecli --version

接入 AI Agent

安装完成后,OfficeCLI 会自动检测 Claude Code、Cursor、Windsurf、GitHub Copilot 等工具并写入 SKILL.md。也可以手动注册 MCP:

officecli mcp claude   # 注册到 Claude Codeofficecli mcp cursor   # 注册到 Cursorofficecli mcp list     # 检查注册状态

常用命令速查

officecli create report.pptx          # 创建空白文档officecli view report.pptx outline    # 查看大纲officecli get report.docx '/body/p[1]' --json  # 获取元素 JSONofficecli set deck.pptx '/slide[1]/shape[1]' --prop text="New"officecli add doc.docx /body --type paragraph --prop text="Hello"officecli batch deck.pptx --input updates.json   # 批量执行officecli validate report.docx        # 验证文档officecli watch deck.pptx             # 实时预览

SDK 支持

除了 CLI,OfficeCLI 还提供 Python 和 Node.js SDK:

# Pythonpip install officecli-sdkfrom officecli import Docwith Doc("deck.pptx"as d:     d.add("/", type="slide", title="Q4 Report")# Node.jsnpm install @officecli/sdkimport {{ Doc }} from"@officecli/sdk";await using d = await Doc.open("deck.pptx");await d.add("/", {{ type: "slide", title: "Q4 Report" }});

六、适合谁 & 边界在哪

非常适合:需要让 AI Agent 自动生成或编辑 Office 文档的团队;在 CI/CD、Docker、无头服务器里跑 Office 自动化的场景;需要 Agent「看到」渲染结果再修正的复杂排版任务。

暂时不适合:只需要简单查看文档;需要实时多人协同编辑;需要处理旧版 .doc/.xls 或复杂 VBA 宏的场景。另外,部分高级 OOXML 特性仍在快速迭代中。

七、今日总结

OfficeCLI 的独特价值在于,它从底层重新思考了「AI Agent 需要什么样的 Office 工具」:

  • Agent 需要看到结果 → 内置渲染引擎,render→look→fix 闭环。

  • Agent 需要简洁接口 → 50 行 Python 变成 1 行命令。

  • Agent 需要确定性 → JSON 输出、公式自动求值、模板合并零 token 成本。

  • Agent 需要深度控制 → L1→L2→L3 三层架构,从高层视图到原始 XML 按需升级。

如果 AI Agent 需要操作 Office,OfficeCLI 是目前最优雅、最完整的开源方案之一——单文件二进制、零 Office 依赖、Apache 2.0 完全免费。

互动话题

你最希望让 AI Agent 自动帮你处理哪种 Office 文档?是每周自动生成的 Excel 报表、从会议纪要到 PPT 的自动转换,还是合同 Word 的批量填充?欢迎在评论区聊聊你的场景。

查看项目 GitHub

每日开源 · 第 088 期 · 2026-07-09

本内容仅供技术学习交流,不构成任何商业或投资建议。
部分境外数据源需合规网络环境。