OfficeCLI 是什么?

OfficeCLI 是 iOfficeAI 维护的 Apache-2.0 命令行 Office 文档引擎,面向 Agent 读、写、检查和渲染 DOCX、XLSX、PPTX。发布包是自包含单文件,不要求安装 Microsoft Office;它还提供技能、MCP、常驻管道 SDK 和本地实时预览。

⭐ 15,234 Stars 🍴 1,039 Forks C# Apache-2.0 作者: iOfficeAI
来源:github.com/iOfficeAI/OfficeCLI/blob/main/README.md 查看 GitHub 仓库 → 📘 使用教程 →

为什么值得关注

项目把 Office Open XML 的底层操作包装成路径选择器、JSON 结果、原子 batch、渲染与问题检查,直接适合 Agent 的“改动—查看—修复”循环;v1.0.152 仍在快速修正查询语义。

来源:github.com/iOfficeAI/OfficeCLI/releases/tag/v1.0.152;https://github.c…

核心功能

三层文档操作

L1 提供文本、结构、问题与渲染视图,L2 用路径和选择器操作元素,L3 用 XPath 直接访问 Open XML 作为兜底。

来源:github.com/iOfficeAI/OfficeCLI/blob/main/README.md
Agent 可解析结果

命令可返回 JSON、明确 success/error/warnings,并用 0/1/2 退出码区分成功、失败和带警告结果。

来源:github.com/iOfficeAI/OfficeCLI/blob/main/README.md
原子批量与常驻模式

batch 默认任一失败就回滚;resident 模式把文档留在内存,通过 save/close 或自动策略刷盘,Python/Node SDK 可复用管道。

来源:github.com/iOfficeAI/OfficeCLI/blob/main/README.md
渲染、预览和 MCP

内置 HTML/PNG 渲染与 `watch` 本地预览,MCP 可把全部文档操作暴露成 JSON-RPC 工具。

来源:github.com/iOfficeAI/OfficeCLI/blob/main/README.md

技术架构

核心是 C#/.NET 10 构建的自包含二进制。文档操作从语义视图、结构化 DOM 到 raw XML 分三层;常驻进程通过命名管道减少重复打开文件,MCP 与薄 SDK 复用命令协议。写操作可能暂存在 resident 内存,外部程序读取前要 `save` 或 `close`。`watch` 会在 `localhost:26315` 打开本地 HTTP 预览;`officecli install` 还会复制二进制并向检测到的 Agent 安装技能。

来源:github.com/iOfficeAI/OfficeCLI/blob/main/README.md

项目知识图谱

知识图谱:项目核心节点(中心)+ 核心功能(内环六边形)+ 关键技术依赖(外环 chip) 发布二进制运行时无 Office/.NET 依赖发布二进制运行时… .NET 10 SDK(源码构建).NET 10 SDK(… 可选 Python/Node resident SDK可选 Python/No… 三层文档操作 Agent 可解析结果 原子批量与常驻模式 渲染、预览和 MCP OfficeCLI 项目本体 核心功能 关键依赖

技术栈

语言C#/.NET 10(仅源码编译需要 SDK)框架自包含 CLI、resident named pipe、MCP JSON-RPC、HTML rendering
发布二进制运行时无 Office/.NET 依赖.NET 10 SDK(源码构建)可选 Python/Node resident SDK
本地文件、PATH、Agent 技能目录、本地 26315 预览端口
来源:github.com/iOfficeAI/OfficeCLI/blob/main/README.md

快速上手

从官方 Release 下载对应平台资产并校验来源,先在临时目录运行 `officecli create demo.pptx`、`officecli add ...`、`officecli view demo.pptx outline` 和 `officecli validate demo.pptx`。不要把 README 中的远程脚本直接管道给 shell。运行 `officecli install` 前先了解它会改 PATH 并向检测到的 Agent 安装技能;启用 `watch` 时确认 26315 只绑定本机并及时关闭。
来源:github.com/iOfficeAI/OfficeCLI/blob/main/README.md;https://github.com…

使用场景

适合在 CI 或 Agent 工作流中批量生成报告、更新表格、制作演示文稿、执行模板合并、做 Open XML 校验和渲染检查。对复杂版式、宏、外部链接、OLE 或交付前视觉一致性,仍应使用真实 Office/目标查看器做最终验收。

来源:github.com/iOfficeAI/OfficeCLI/blob/main/README.md

优势与局限

优势

  • 单一 CLI 覆盖 Word、Excel、PowerPoint
  • JSON、退出码和原子 batch 适合自动化
  • 不需要安装 Microsoft Office
  • 有渲染、问题检查和 raw XML 兜底

局限

  • Agent/MCP 可对本地文档执行完整写操作
  • install 会改 PATH 和多个 Agent 技能目录
  • resident 模式的内存改动需刷盘后外部工具才可见
  • 复杂格式的渲染和兼容性仍需目标应用复核
来源:github.com/iOfficeAI/OfficeCLI/blob/main/README.md

最新版本

v1.0.152 发布于 2026-09-22,修复 `>` 子组合器错误地把父级谓词再次应用到子级的问题。该版本距离核对日期仅一天,生产使用仍应固定版本并用代表性文档回归。

来源:github.com/iOfficeAI/OfficeCLI/releases/tag/v1.0.152

实测与证据

status: official_docs_checked_not_run  |  checked_at: 2026-09-23  |  environment: 核对官方 README、v1.0.152 Release、构建要求与 Microsoft Open XML SDK README  |  limitations: 未下载或执行二进制,未运行安装脚本,未改 PATH/Agent 配置,未创建或修改 Office 文件,未启动预览、resident 或 MCP  |  observed_output: 当前版 v1.0.152 发布于 2026-09-22;发布二进制自包含,源码编译才需要 .NET 10 SDK;watch 文档使用 localhost:26315

来源:github.com/iOfficeAI/OfficeCLI/releases/tag/v1.0.152;https://github.c…

同类项目对比

相比 Microsoft Open XML SDK,OfficeCLI 提供现成 CLI、选择器、JSON、渲染和 Agent/MCP 工作流;Open XML SDK 是 .NET 底层框架,官方明确说它不直接提供高级抽象或生产力工具,使用者需要掌握格式标准。要写定制 .NET 逻辑和精确控制包结构可选 SDK,要让多语言脚本或 Agent 快速操作文档可评估 OfficeCLI。

来源:github.com/iOfficeAI/OfficeCLI/blob/main/README.md;https://github.com…

总结评价

OfficeCLI 的强项是给 Agent 一套一致、可解析的三格式文档接口。采用时应固定 Release、从小样本开始,把安装副作用、MCP 写权限、resident 刷盘和预览端口写进运行规范,并保留目标 Office 应用的最终视觉验收。

来源:github.com/iOfficeAI/OfficeCLI/blob/main/README.md

常见问题

OfficeCLI v1.0.152 运行时需要 Microsoft Office 或 .NET 吗?

官方发布二进制是自包含文件,不需要 Microsoft Office,也不要求另装 .NET;只有从源码编译才需要 .NET 10 SDK。

执行 officecli install 会改哪些地方?

它会把二进制复制到 PATH,并向检测到的 AI 编码工具安装技能;运行前应先备份相关配置并确认需要覆盖哪些 Agent。

officecli watch 的 26315 端口能公开访问吗?

README 示例使用 `localhost:26315`。不要主动把它绑定到公网或通过隧道暴露;预览可能包含敏感文档内容,用完后应关闭。

OfficeCLI 的 resident 模式为什么改完文件后别的程序看不到?

resident 会把修改暂存在内存并延迟刷盘。交给 Word、上传器或其他库前要执行 `officecli save` 或 `officecli close`,也可设置每次修改都刷盘。

资料与核验范围
本文依据项目公开资料整理。版本、安装命令和功能边界可能随上游更新,请以所列来源和项目当前版本为准。 资料核对时间: 2026-09-23 13:55.

参考材料:README、GitHub API、依赖文件