首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >7.3K Star!一个面向 AI Agent 的 Office 文档的开源工具!

7.3K Star!一个面向 AI Agent 的 Office 文档的开源工具!

作者头像
开源星探
发布2026-06-23 18:40:11
发布2026-06-23 18:40:11
720
举报
文章被收录于专栏:翩翩白衣少年翩翩白衣少年

如果你让 AI Agent 写过 PPT,就一定经历过那种"写了但看不见"的尴尬。

文档自动化这个领域,很长一段时间里开发者和 Agent 都在用同一批 Python 库(python-pptx、python-docx、openpyxl)。

这些库能读写结构,但渲染是另一个世界的事。你要预览?那就得装 LibreOffice,或者让它去调微软的 Graph API。Agent 在服务器里跑得好好的,一到渲染环节就卡壳。

这就导致一个很尴尬的现象:Agent 能"写"文档,但不能"看"文档。 它写出来的东西自己没法质检,交付质量完全靠运气。

直到 OfficeCLI 出现,这件事才真正有了转机。

项目简介

OfficeCLI 是一个面向 AI Agent 的 Office 文档命令行工具,支持 .docx.xlsx.pptx 的创建、读取、分析和修改。

它是单二进制分发,不需要本机装 Microsoft Office,也不需要 Python 环境。

它的核心价值其实分成两层,而第二层才是真正关键的:

第一层:把 Office 文档变成 Agent 能操作的结构化对象。

不管是 PPT 里的 slide、shape、table、chart、动画、3D 模型,还是 Word 里的段落、样式、表格、公式、脚注、修订追踪,还是 Excel 里的单元格、公式、数据透视表、条件格式——OfficeCLI 都能用命令行路径的方式直接定位和操作。

比如你想在第一张幻灯片上加一个文本框,只需要:

代码语言:javascript
复制
officecli add deck.pptx '/slide[1]' --type shape \
  --prop text="Revenue grew 25%" --prop x=2cm --prop y=5cm \
  --prop font=Arial --prop size=24 --prop color=FFFFFF

对比一下 Python 的写法(import、Inches、Pt、slide_layouts……至少 10 行起步),差距一目了然。

第二层(更关键):自带渲染能力,能把 Word / Excel / PPT 渲染成 HTML 或 PNG。

这意味着 Agent 写完文档后可以立刻"看"到结果——它可以把渲染出的 PNG 喂给多模态模型,或者直接读 HTML 结构来判断排版是否合理。

OfficeCLI 提供的是一个完整的 生成 → 预览 → 修改 反馈循环。

它的渲染引擎是从零开始写的,覆盖了形状、图表(趋势线、误差线、瀑布图、K 线图、迷你图)、公式(OMML → MathJax)、3D .glb 模型(用 Three.js)、平滑切换(morph)、幻灯片缩放、各种形状效果……单二进制里塞了这么多东西,说实话有点夸张。

三层架构

OfficeCLI 给 Agent 设计了三层操作模式,推荐永远从高层开始,遇到复杂需求再往下钻:

  • L1(语义视图)create / view / get / query / validate —— 读大纲、读统计、查问题、取结构化 JSON。Agent 用这一层就能搞定 80% 的日常需求。
  • L2(DOM 操作)add / set / remove / move / copy —— 按元素路径增删改查,相当于对文档的 DOM 直接动手。
  • L3(原始 XML 访问)raw —— 真有特殊需求,可以直接读写 OOXML。这一层是逃生舱,99% 的场景用不到。

这个分层设计特别聪明。Agent 不需要一上来就啃 XML,大多数时候一条命令就够了;但真遇到复杂场景,它也有能力一路钻到最底层。

而且它的元素定位用的是 稳定 ID 寻址,不是单纯的索引。比如 /slide[1]/shape[@id=550950021],这种路径在插入/删除操作后依然有效,对多步骤工作流特别友好。

三种使用姿势:Agent、人类、开发者

OfficeCLI 把用户分成了三类,每一类都有对应的入门路径:

给 AI Agent 的:一行搞定

代码语言:javascript
复制
curl -fsSL https://officecli.ai/SKILL.md

把这一行贴进 Agent 的对话,它会读取 SKILL 文件(239 行、8K tokens,涵盖命令语法、架构设计、常见坑),自动安装二进制,然后就能直接用了。安装后还会自动把 officecli skill 注入到它检测到的所有 AI 编码 Agent 里——Claude Code、Cursor、Windsurf、GitHub Copilot 这些都支持。

给人类用户的:两条路

  • A 路线(GUI):装 AionUi,一个桌面应用,直接用自然语言描述你要什么,它用 OfficeCLI 做底层生成文档。
  • B 路线(CLI):从 GitHub Releases 下对应平台的二进制,跑 officecli install,就完事了。

给开发者的:30 秒上手

代码语言:javascript
复制
# 安装 (macOS / Linux)
curl -fsSL https://raw.githubusercontent.com/iOfficeAI/OfficeCLI/main/install.sh | bash

# 创建空 PPT
officecli create deck.pptx

# 启动实时预览 (浏览器打开 http://localhost:26315)
officecli watch deck.pptx

# 另开一个终端加幻灯片,浏览器会即时更新
officecli add deck.pptx / --type slide --prop title="Hello, World!"

每一条 add / set / remove 都会让浏览器实时刷新。而且如果是 3 步以上的连续操作,推荐用 open / close 的常驻模式减少文件 I/O 开销:

代码语言:javascript
复制
officecli open report.docx   # 加载到内存
officecli set report.docx ... # 零文件 I/O
officecli close report.docx   # 保存并释放

写在最后

我觉得 OfficeCLI 最有意思的一点,不是它功能有多全——而是它从第一天就明确了一个核心设计原则:为 Agent 而不是为人类设计。

几乎所有同类工具的默认假设都是"人来写代码调 API",而 OfficeCLI 的默认假设是"Agent 来发命令、看结果"。

以后做 PPT,真的不该只剩 python-pptx 苦修了。

GitHub: https://github.com/iOfficeAI/OfficeCLI

官网: https://officecli.ai

如果本文对您有帮助,也请帮忙点个 赞👍 哈!❤️

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-06-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源星探 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 项目简介
  • 三层架构
  • 三种使用姿势:Agent、人类、开发者
  • 写在最后
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档