OfficeCLI:一个单文件二进制,让AI智能体读写渲染Word/Excel/PowerPoint
OfficeCLI是一个开源单文件CLI,让AI智能体完全掌控.docx/.xlsx/.pptx文件——支持路径式元素访问、内置HTML/PNG渲染引擎,不需要安装Office。
- ⭐ 22885
- C#
- Apache-2.0
- 更新于 2026-07-30
graphify:把任意代码库变成可查询的知识图谱,供 Claude Code 使用 • DeepTutor:港大出品、记忆可审查的agent原生辅导工作台

OfficeCLI 是什么? #
OfficeCLI 瞄准了一个具体又不起眼的缺口:AI智能体擅长写代码和文字,但要真正编辑一份真实的.docx、.xlsx、.pptx文件——同时保住格式、公式、排版——通常要么得靠COM自动化真的Office,要么就得直接下沉到原始OOXML。OfficeCLI是一个开源(Apache-2.0)的单文件二进制,专门设计成让智能体通过一套统一的CLI和JSON接口去创建、读取、分析、修改这三种格式。
🔗 GitHub:https://github.com/iOfficeAI/OfficeCLI 🌐 官网:https://officecli.ai
2026年3月首次推送,到2026年7月底已达到2.29万以上GitHub star。不需要安装Office,没有依赖,项目介绍它是内嵌.NET运行时的自包含单文件二进制。
项目开头举的例子:过去用python-pptx要写50行样板代码才能搭出的一张幻灯片,现在一条命令就够:
officecli add deck.pptx / --type slide --prop title="Q4 Report"
渲染-查看-修正循环 #
OfficeCLI跟普通文档操作库最大的区别在于:一个内置的HTML/PNG渲染引擎,让智能体能渲染文档、真正看到渲染结果、然后修正问题——这个循环如果没有人工手动打开文件检查,本来是做不到的。
officecli watch deck.pptx # 实时预览 http://localhost:26315,编辑自动刷新
从另一个终端跑的每条add、set、remove命令都会实时更新预览——适合看着agent一步步搭建文档。
安装 #
一键安装(macOS/Linux):
curl -fsSL https://raw.githubusercontent.com/iOfficeAI/OfficeCLI/main/install.sh | bash
Windows(PowerShell):
irm https://raw.githubusercontent.com/iOfficeAI/OfficeCLI/main/install.ps1 | iex
或通过包管理器:
brew install officecli
npm install -g @officecli/officecli
然后:
officecli install
会把二进制加进你的PATH,并把OfficeCLI技能安装进检测到的所有AI编码智能体——Claude Code、Cursor、Windsurf、GitHub Copilot等,不需要额外配置。
让AI智能体自己完成配置,项目建议的一行流程是让智能体自己抓取并读取curl -fsSL https://officecli.ai/SKILL.md,这份文件会直接教它安装步骤和命令集。
快速开始 #
officecli create deck.pptx
officecli add deck.pptx / --type slide --prop title="Q4 Report"
officecli view deck.pptx --outline
# → Slide 1: Q4 Report
# → Shape 1 [TextBox]: Revenue grew 25%
officecli view deck.pptx --html # 浏览器渲染预览,不需要单独起服务
officecli get deck.pptx /slide[1]/shape[1] --json # 拿任意元素的结构化JSON

它能做什么 #
| 格式 | 读取 | 修改 | 创建 |
|---|---|---|---|
| Word (.docx) | ✅ | ✅ | ✅ |
| Excel (.xlsx) | ✅ | ✅ | ✅ |
| PowerPoint (.pptx) | ✅ | ✅ | ✅ |
深度是最突出的一点:项目文档里Word支持一路细到RTL/多语言在段落/字符/节/表格/样式/页眉页脚间的级联、带按作者选择器的修订接受/拒绝、LaTeX输入公式;Excel支持350+内置公式函数、数据透视表、条件格式、切片器;PowerPoint支持动画预设、变形过渡、3D模型(.glb)嵌入、SmartArt往返转换。完整参考在项目wiki里,README有链接。
对于结构化命令覆盖不到的情况,还有一个文档化的L3原始XML兜底——L1提供高层视图,L2做元素级操作,L3在需要时直接下沉到原始OOXML。
对比(按项目自己的说法) #
| OfficeCLI | Microsoft Office | LibreOffice | python-docx / openpyxl | |
|---|---|---|---|---|
| 开源免费 | ✅ Apache-2.0 | ❌ 付费授权 | ✅ | ✅ |
| AI原生CLI+JSON | ✅ | ❌ | ❌ | ❌ |
| 零安装(单文件二进制) | ✅ | ❌ | ❌ | ❌ (需Python+pip) |
| 任意语言调用 | ✅ (CLI) | ❌ (COM/插件) | ❌ (UNO API) | 仅Python |
| 内置渲染引擎 | ✅ | ❌ | ❌ | ❌ |
| 实时预览(自动刷新) | ✅ | ❌ | ❌ | ❌ |
| Word+Excel+PowerPoint全支持 | ✅ | ✅ | ✅ | 分开的库 |
批处理模式与可靠性 #
officecli batch deck.pptx --commands "add / --type slide" "set /slide[1] --prop title=X"
批处理操作默认原子性——批次里任何一条命令失败,整个批次都会回滚,不会留下改了一半的文件。--best-effort保留已经成功的部分,--stop-on-error在第一个失败处停止(除非搭配--best-effort,否则仍会回滚全部)。
当agent的命令指向一个不存在的目标时,OfficeCLI返回结构化、可操作的错误,而不是一个裸的堆栈跟踪:
# agent尝试一个无效路径 → {"success": false, "error": {"code": "not_found", "suggestion": "..."}}
# agent根据suggestion里给出的可用元素列表自我纠正
使用场景 #
1. 从数据库或API生成报告 #
把报告生成接入流水线——填充模板、渲染检查格式、修正问题、交付最终文件。
2. CI/CD里的无头Office自动化 #
在Docker/容器化环境里运行文档生成或校验,不需要安装、维护一套图形界面的Office授权。
3. 让agent根据prompt搭建一份演示文稿 #
搭配编码智能体,从自然语言需求生成完整演示文稿,用实时预览循环在交付前发现格式问题。
4. 批量文档处理 #
在一次原子操作里完成批量查找替换、样式更新,或跨格式的模板合并({{key}}占位符替换)。
相关仓库 #
| 仓库 | 用途 |
|---|---|
| AionUi | 一个把OfficeCLI包装成图形界面的桌面应用,用自然语言编辑文档,不用碰CLI |
相关文章 #
- graphify:把任意代码库变成可查询的知识图谱,供 Claude Code 使用 —— 另一个专门为AI智能体消费而设计的本地、确定性工具
- DeepTutor:港大出品、记忆可审查的agent原生辅导工作台 —— 不同领域,但同样是"专为agent驱动而设计"的思路
结语 #
OfficeCLI 补上了AI编码智能体一个真实、具体的缺口——真正高保真地操作Office文档,而不只是生成原始文字,配一个能让agent自己核实输出结果的渲染引擎。单文件二进制、不需要Office授权、全程结构化JSON输出,比针对python-docx写脚本或自动化一套真Office装机,更适合agent工作流。
最适合谁:需要用程序化方式生成、编辑或批量处理真实Word/Excel/PowerPoint文件的开发者和AI智能体,尤其是在装不了Office的无头/CI环境里。
GitHub:https://github.com/iOfficeAI/OfficeCLI
自建部署推荐基础设施 #
OfficeCLI作为单文件二进制可以跑在任何地方,包括无头CI跑者:
- DigitalOcean —— 覆盖14个以上全球区域,60天200美元免费额度,适合跑无头文档生成流水线。
- HTStack —— 香港VPS,从中国大陆访问延迟低。这正是dibi8.com所在的机房。
以上为联盟链接——不会让你多花一分钱,但能帮助dibi8.com持续运营。
最后更新:2026-07-29
💬 留言讨论