小马的 AI 工具集

办公命令行

专为 AI Agent 打造的 Office CLI,免装 Office 直接读写 Word/Excel/PPT

办公命令行
类型 CLI 22,134 星标 更新 2026-07-25 许可 Apache-2.0 原仓库 主页

OfficeCLI 是世界首款也是最佳专为 AI 智能体设计的 Office 套件。

让任何 AI 智能体完全掌控 Word、Excel 和 PowerPoint —— 只需一行代码。

开源。单个二进制文件。无需安装 Office。无依赖。随处运行。

OfficeCLI 内置的 HTML 渲染引擎能以高保真度重现文档 —— 这正是 AI 的“眼睛”所在。 它将 .docx / .xlsx / .pptx 渲染为 HTML 或 PNG,从而形成 渲染 → 查看 → 修正 的闭环。

GitHub Release License

English | 中文 | 日本語 | 한국어

🌐 网站: officecli.ai  |  💬 社区: Discord

OfficeCLI 在 AionUi 上创建 PowerPoint 演示文稿

在 AionUi 上使用 OfficeCLI 创建 PPT 的过程

PowerPoint 演示文稿

OfficeCLI 设计演示(PowerPoint) OfficeCLI 商务演示(PowerPoint) OfficeCLI 技术演示(PowerPoint)
OfficeCLI 太空演示(PowerPoint) OfficeCLI 游戏演示(PowerPoint) OfficeCLI 创意演示(PowerPoint)

—

Word 文档

OfficeCLI 学术论文(Word) OfficeCLI 项目方案(Word) OfficeCLI 年度报告(Word)

—

Excel 电子表格

OfficeCLI 预算追踪(Excel) OfficeCLI 成绩簿(Excel) OfficeCLI 销售仪表盘(Excel)

以上所有文档均由 AI 智能体使用 OfficeCLI 完全自动创建 —— 无需模板,无需手动编辑。

面向 AI 智能体 —— 一行代码开始

将此命令粘贴到你的 AI 智能体对话中 —— 它将读取技能文件并自动安装所有内容:

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

就是这样。该技能文件会教会智能体如何安装二进制文件并使用所有命令。

面向人类用户

选项 A — GUI: 安装 AionUi —— 这是一款桌面应用,让你通过自然语言创建和编辑 Office 文档,底层由 OfficeCLI 驱动。只需描述你的需求,AionUi 代你完成其余工作。

选项 B — CLI: 从 GitHub Releases 下载适用于你平台的二进制文件,然后运行:

officecli install

这会将二进制文件复制到你的 PATH 环境变量中,并将其检测到的每个 AI 编码智能体(Claude Code、Cursor、Windsurf、GitHub Copilot 等)中安装 officecli 技能。你的智能体可以立即代表你创建、读取和编辑 Office 文档,无需额外配置。

面向开发者 —— 30 秒内亲眼见证

# 1. 安装(macOS / Linux)—— 或使用:brew install officecli / npm install -g @officecli/officecli
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

# 2. 创建一个空白 PowerPoint
officecli create deck.pptx

# 3. 启动实时预览 —— 在浏览器中打开 http://localhost:26315
officecli watch deck.pptx

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

就是这样。你执行的每一条 add、set 或 remove 命令都会实时刷新预览。继续尝试 —— 浏览器就是你的实时反馈环。

快速入门

# 创建演示文稿并添加内容
officecli create deck.pptx
officecli add deck.pptx / --type slide --prop title="Q4 Report" --prop background=1A1A2E
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

# 查看大纲
officecli view deck.pptx outline
# → Slide 1: Q4 Report
# →   Shape 1 [TextBox]: Revenue grew 25%

# 查看 HTML 格式 —— 在浏览器中打开渲染预览,无需服务器
officecli view deck.pptx html

# 获取任何元素的结构化 JSON
officecli get deck.pptx '/slide[1]/shape[1]' --json

# 保存并关闭 —— 将驻留会话写入磁盘
officecli close deck.pptx
{
  "tag": "shape",
  "path": "/slide[1]/shape[1]",
  "attributes": {
    "name": "TextBox 1",
    "text": "Revenue grew 25%",
    "x": "720000",
    "y": "1800000"
  }
}

为什么选择 OfficeCLI?

过去需要 50 行 Python 和 3 个独立库才能完成的操作:

from pptx import Presentation
from pptx.util import Inches, Pt
prs = Presentation()
slide = prs.slides.add_slide(prs.slide_layouts[0])
title = slide.shapes.title
title.text = "Q4 Report"
# ... 45 more lines ...
prs.save('deck.pptx')

现在只需一条命令:

officecli add deck.pptx / --type slide --prop title="Q4 Report"

OfficeCLI 能做什么:

  • 创建 从头开始制作文档 —— 空白或带内容
  • 读取 文本、结构、样式、公式 —— 以纯文本或结构化 JSON 格式
  • 分析 格式问题、样式不一致和结构问题
  • 修改 任何元素 —— 文本、字体、颜色、布局、公式、图表、图片
  • 重组 内容 —— 跨文档添加、删除、移动、复制元素
格式读取修改创建
Word (.docx)✅✅✅
Excel (.xlsx)✅✅✅
PowerPoint (.pptx)✅✅✅

Word — 完整的 i18n 与 RTL 支持(每个脚本的字体槽、每个脚本的 BCP-47 语言标签 lang.latin/ea/cs、复杂脚本的粗体/斜体/字号、通过段落/文本块/节/表格/样式/页眉页脚/文档默认值级联设置的 direction=rtl、rtlGutter + pgBorders 简写、支持印地语/阿拉伯语/泰语/CJK 的区域感知页码编号;create --locale ar-SA 自动启用 RTL)、段落(framePr、制表符简写、基于字符的缩进)、文本块(下划线颜色、半磅单位的位置)、表格(虚拟列操作 add/remove/move/copyfrom、hMerge)、样式、文本框 / 形状(文本框:旋转、textDirection eaVert/vert270、渐变、阴影、透明度)、页眉/页脚、图片(PNG/JPG/GIF/SVG)、公式(LaTeX 输入)、图表(mermaid → 原生可编辑形状,或任何 mermaid 类型作为全保真 PNG)、批注、脚注、水印、书签、目录、图表、超链接、节、表单域、内容控件 (SDT)、域(22 种零参数类型 + MERGEFIELD / REF / PAGEREF / SEQ / STYLEREF / DOCPROPERTY / IF)、OLE 对象、修订 / 跟踪更改(revision.type=ins\|del\|format\|moveFrom\|moveTo + revision.action=accept\|reject,按目标 /revision[@author=Alice] 选择器,跟踪的查找替换)、页面背景色、文档属性

Excel — 单元格(添加时支持拼音指南/振假名,删除时支持 Excel-UI --shift left\|up / 添加时支持 shift=right\|down)、公式(350+ 内置函数,自动求值,带 _xlfn. 自动前缀的溢出动态数组、财务/债券与统计函数族、OFFSET/INDIRECT、解析时内联的定义名称公式体、行/列插入时的公式引用重写)、工作表(可见/隐藏/深度隐藏、打印边距、printTitleRows/Cols、RTL sheetView、级联感知的工作表重命名、打开时去除空单元格膨胀)、布尔 and/or 选择器(row[Salary>5000 and Region=EMEA])、表格、排序(工作表/区域、多关键字、边栏感知)、条件格式、图表(包括箱形图、帕累托图 带自动排序 + 累积百分比、对数轴)、数据透视表(多字段、日期分组、showDataAs、排序、总计、小计、紧凑/大纲/表格布局、重复项标签、空行、计算字段、持久化 labelFilter / topN 筛选器、缓存 CoW + 跨透视表共享)、切片器、命名区域、数据验证、图片(PNG/JPG/GIF/SVG 带双重表示回退)、迷你图、批注(RTL)、自动筛选、形状、OLE 对象、CSV/TSV 导入、$Sheet:A1 单元格寻址

PowerPoint — 幻灯片(页眉/页脚/日期/幻灯片编号开关、隐藏)、形状(图案填充、模糊效果、超链接工具提示 + 幻灯片跳转链接、高亮颜色 应用于文本块、slideMaster/slideLayout 类型的 add/set/remove、箭头别名、effective.X + effective.X.src)、图片(PNG/JPG/GIF/SVG、填充模式:拉伸/适应/覆盖/平铺、亮度/对比度/发光/阴影、旋转、链接 + 工具提示)、表格(内置 PowerPoint 样式目录、虚拟 /col[C] 获取 + 交换/copyFrom、行/列 Move/CopyFrom、填充/背景别名)、图表(复合饼图、条形饼图、每个属性的轴线/网格线设置器、系列添加/删除带主题调色板、anchor=x,y,w,h 简写)、动画(15 种强调 + 16 种退出模板支持的预设、多效果链、运动路径预设、重复/重启/自动反转、图表动画 + chartBuild)、切换效果(变形 + p14 + 12 种 p15 PowerPoint 2013+ 预设)、3D 模型 (.glb)(组合 rotation=ax,ay,az)、幻灯片缩放、公式(LaTeX 输入)、图表(mermaid 流程图/序列图 → 原生可编辑形状,或任何 mermaid 类型作为全保真 PNG)、主题、连接线(from/to 接受完整 /slide[N]/shape[@name=Foo] 路径)、视频/音频(循环、自动开始)、组合(链接 + 工具提示;获取/查询/添加/移除都会深入组合内部)、备注(RTL、语言)、批注(RTL、旧版 + 新版 p188 线程化往返)、SmartArt(通过添加部件 + 原始设置往返)、OLE 对象、占位符(按 phType 添加/设置)

用例

针对开发者:

  • 从数据库或 API 自动生成报告
  • 批量处理文档(批量查找替换、样式更新)
  • 在 CI/CD 环境中构建文档流水线(从测试结果生成文档)
  • 在 Docker/容器化环境中实现无头 Office 自动化

针对 AI Agent:

  • 根据用户提示生成演示文稿(参见上方示例)
  • 从文档中提取结构化数据到 JSON
  • 在交付前验证并检查文档质量

针对团队:

  • 克隆文档模板并用数据填充
  • 在 CI/CD 流水线中自动验证文档

安装

以单个自包含二进制文件形式分发。.NET 运行时已嵌入——无需安装任何内容,无需管理运行时。

一行安装:

# 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

或通过包管理器:

# Homebrew (macOS / Linux)
brew install officecli

# Scoop (Windows)
scoop install officecli

# npm (全平台——获取对应平台的原生二进制文件)
npm install -g @officecli/officecli

或手动下载 从 GitHub Releases:

平台二进制文件
macOS Apple Siliconofficecli-mac-arm64
macOS Intelofficecli-mac-x64
Linux x64officecli-linux-x64
Linux ARM64officecli-linux-arm64
Windows x64officecli-win-x64.exe
Windows ARM64officecli-win-arm64.exe

验证安装:officecli --version

或从已下载的二进制文件自行安装(或直接运行裸 officecli 以自动安装):

officecli install    # 显式安装
officecli            # 裸调用也会触发安装

更新会在后台自动检查。通过 officecli config autoUpdate false 禁用,或通过 OFFICECLI_SKIP_UPDATE=1 跳过单次检查。配置位于 ~/.officecli/config.json。

主要特性

内置引擎与生成原语

OfficeCLI 是自包含的。以下功能内置于二进制文件中——无需 Office。

渲染引擎——高保真,内置

OfficeCLI 的基石:一个从头构建的高保真 HTML 渲染引擎,让 AI agent 可以看到渲染后的文档,而不是根据 DOM 猜测。它覆盖形状、图表(趋势线、误差线、瀑布图、蜡烛图、迷你图)、公式(OMML → LaTeX,通过 KaTeX 渲染)、3D .glb 模型(通过 Three.js)、变形过渡、幻灯片缩放和形状效果。逐页 PNG 截图通过将渲染后的 HTML 送入无头浏览器生成。三种模式:

  • view html ——独立 HTML 文件,资源内联。可在任何浏览器中打开。
  • view screenshot ——逐页 PNG,适合多模态 agent 读取。
  • watch ——本地 HTTP 服务器,自动刷新预览;每次 add / set / remove 操作都会立即更新浏览器。Excel watch 支持内联单元格编辑和拖拽调整图表位置。
officecli view deck.pptx html -o /tmp/deck.html
officecli view deck.pptx screenshot -o /tmp/deck.png # 添加 --page 1-N 获取更多幻灯片
officecli watch deck.pptx                            # http://localhost:26315

没有可视化,生成幻灯片的 agent 就像盲飞——它能读取 DOM,但无法判断标题是否溢出或两个形状是否重叠。由于渲染功能内置于二进制文件中,渲染 → 查看 → 修复 循环可以在 CI、Docker、无显示器的服务器上运行——任何运行该二进制文件的地方。

公式与数据透视表引擎

写入时自动计算 350 多个内置 Excel 函数——写入 =SUM(A1:A2),get 该单元格,值已经存在。无需通过 Office 进行往返计算。支持溢出动态数组(FILTER / SORT / UNIQUE / SEQUENCE / LET / LAMBDA / MAP)、VLOOKUP / XLOOKUP / INDEX / MATCH、金融与债券计算(XIRR / PRICE / YIELD / DURATION / COUPNUM)、统计分布、检验与回归(NORM.DIST / T.TEST / LINEST)以及日期与文本函数。

再加上通过一条命令从源范围生成本地 OOXML 数据透视表——多字段行/列/筛选器、10 种聚合方式、showDataAs 模式、日期分组、计算字段、Top-N、布局。数据透视缓存 + 定义写入 OOXML,因此 Excel 打开文件时聚合已就位:

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

模板合并——一次生成,多次填充

merge 将任何 .docx / .xlsx / .pptx 中的 {{key}} 占位符替换为 JSON 数据——涵盖段落、表格单元格、形状、页眉、页脚和图表标题。Agent 设计一次布局(成本高);生产代码填充 N 次(成本低、确定性、零 token 成本)。避免 agent 从头重新生成每个报告并产生 N 个不一致布局的失败模式。

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

往返转储——从现有文档学习

dump 将任何 .docx、.pptx 或 .xlsx——整个文档或任何子树(单个段落、表格、幻灯片、工作表、样式部分、编号、主题或设置)——序列化为可重放的批处理 JSON;batch 重放。给定一个用户想要模仿的示例,agent 读取结构化规范而不是原始的 OOXML XML,进行修改然后重放。桥接了“我有一个现有模板”和“帮我生成 100 个变体”。

officecli dump existing.docx -o blueprint.json                  # 整个文档
officecli dump existing.docx /body/tbl[1] -o table.json         # 任何子树
officecli dump existing.xlsx /Sheet1 -o sheet.json              # 单个工作表
officecli batch new.docx --input blueprint.json

驻留模式与批处理

对于多步骤工作流,驻留模式将文档保留在内存中。批处理模式在单次通过中应用多个操作。

# 驻留模式——通过命名管道实现接近零延迟
officecli open report.docx
officecli set report.docx /body/p[1]/r[1] --prop bold=true
officecli set report.docx /body/p[2]/r[1] --prop color=FF0000
officecli close report.docx

# 批处理模式——多命令执行(默认是原子的:任何失败项都会回滚整个批次)
echo '[{"command":"set","path":"/slide[1]/shape[1]","props":{"text":"Hello"}},
      {"command":"set","path":"/slide[1]/shape[2]","props":{"fill":"FF0000"}}]' \
  | officecli batch deck.pptx --json

# 内联批处理,使用 --commands(无需 stdin)
officecli batch deck.pptx --commands '[{"op":"set","path":"/slide[1]/shape[1]","props":{"text":"Hi"}}]'

# 即使某些项失败也保留成功项(1.0.137 之前的行为)
officecli batch deck.pptx --input updates.json --best-effort --json

# 在第一个失败命令处停止,不再执行后续命令(仍会回滚所有内容,除非与 --best-effort 结合)
officecli batch deck.pptx --input updates.json --stop-on-error --json

正在用其他工具读取文件?请先刷新到磁盘。 officecli 自身的读取(get/query/view)始终能即时看到你的最新编辑,所以在 officecli 内部你永远无需保存。但是,活动的驻留进程会推迟磁盘写入,因此在非 officecli 程序读取文件之前——例如 python‑docx/openpyxl、Microsoft Word、渲染器、交付/上传——请先刷新:

officecli set report.docx /body/p[1] --prop bold=true
officecli save report.docx           # 刷新,保持驻留进程活跃(或使用 `close` 刷新并释放)
python my_reader.py report.docx      # 现在能看到编辑内容

活动的驻留进程还会在空闲后不久自动刷新(自适应 2–10 秒,根据文档的实际保存开销调整)。对于每条命令后都有其他程序读取的流水线,可以设置 OFFICECLI_RESIDENT_FLUSH=each——每次修改在命令返回前就已写入磁盘,同时驻留进程继续保持活跃。完整的刷新模型(each/auto/固定/off,save/close,环境变量调优):wiki → open / close.

三层架构

从简单开始,只在需要时深入。

层用途命令
L1: Read内容的语义视图view (text, annotated, outline, stats, issues, html, svg, screenshot)
L2: DOM结构化元素操作get, query, set, add, remove, move, swap
L3: Raw XML直接 XPath 访问——通用后备方案raw, raw-set, add-part, validate
# L1 — high-level views
officecli view report.docx annotated
officecli view budget.xlsx text --cols A,B,C --max-lines 50

# L2 — element-level operations
officecli query report.docx "run:contains(TODO)"
officecli add budget.xlsx / --type sheet --prop name="Q2 Report"
officecli move report.docx /body/p[5] --to /body --index 1

# L3 — raw XML when L2 isn't enough
officecli raw deck.pptx '/slide[1]'
officecli raw-set report.docx document \
  --xpath "//w:p[1]" --action append \
  --xml '<w:r><w:t>Injected text</w:t></w:r>'

AI 集成

MCP 服务器

内置的 MCP 服务器——通过一条命令注册:

officecli mcp claude       # Claude Code
officecli mcp cursor       # Cursor
officecli mcp vscode       # VS Code / Copilot
officecli mcp lmstudio     # LM Studio
officecli mcp list         # Check registration status

通过 JSON-RPC 将所有文档操作暴露为工具——无需 shell 访问权限。

直接 CLI 集成

两步

突变确认(set、add、remove、move、create 配合 --json):

{"success": true, "path": "/slide[1]/shape[1]"}

详见 officecli --help 以了解退出码和错误格式的完整信息。

比较

OfficeCLIMicrosoft OfficeLibreOfficepython-docx / openpyxl
开源且免费✓ (Apache 2.0)✗ (付费许可)✓✓
AI 原生 CLI + JSON✓✗✗✗
零安装(单二进制)✓✗✗✗ (Python + pip)
任意语言调用✓ (CLI)✗ (COM/插件)✗ (UNO API)仅 Python
基于路径的元素访问✓✗✗✗
原始 XML 回退✓✗✗部分
内置面向智能体的友好渲染引擎✓✗✗✗
无头 HTML/PNG 输出✓✗部分✗
跨格式模板合并({{key}})✓✗✗✗
往返导出 → 批量 JSON✓✗✗✗
实时预览(编辑自动刷新)✓✗✗✗
无头 / 持续集成✓✗部分✓
跨平台✓Windows/Mac✓✓
Word + Excel + PowerPoint✓✓✓独立库

命令参考

命令说明
create创建一个空白的 .docx、.xlsx 或 .pptx(根据扩展名确定类型)
view查看内容(模式:outline、text、annotated、stats(--page-count)、issues、html、svg、screenshot、pdf(通过导出器插件)、forms(通过格式处理器插件))。docx 支持 --render auto|native|html。
load_skill打印特定技能的嵌入 SKILL.md 内容(无需安装)
get获取元素及其子元素(--depth N、--json)
query类似 CSS 的查询,支持布尔 and/or、按列名行查询(row[Salary>5000])、--find 标志
set修改元素属性;支持选择器和 Excel 原生路径(与 get/query 一致)、--find/--replace 标志
add添加元素(或通过 --from <path> 克隆)
remove移除一个元素
move移动元素(--to <parent>、--index N、--after <path>、--before <path>)
swap交换两个元素
validate针对 OpenXML 模式进行验证
view <file> issues枚举文档问题(文本溢出、缺少替换文字、公式错误……)
batch单次执行多个操作(stdin、--input 或 --commands;默认原子性——任何失败项会回滚整个批次——--best-effort 保留部分进度、--stop-on-error 提前中止)
dump将 .docx、.pptx 或 .xlsx 序列化为可回放的批量 JSON(通过 batch 实现往返);接受子树路径
refresh重新计算目录页码 / PAGE / 交叉引用(.docx;Windows 上使用 Word 后端,回退至无头 HTML)
plugins列出 / 检查 / 检查已安装插件(通过导出读取器 / 导出器 / 格式处理器扩展到 .doc、.hwpx、.pdf 导出)
merge模板合并——用 JSON 数据替换 {{key}} 占位符
watch在浏览器中实时预览 HTML,自动刷新
mcp启动 MCP 服务器以集成 AI 工具
raw查看文档部件的原始 XML
raw-set通过 XPath 修改原始 XML
add-part添加新的文档部件(页眉、图表等)
open启动驻留模式(将文档保留在内存中)
close保存并关闭驻留模式
install安装二进制文件 + 技能 + MCP(all、claude、cursor 等)
config获取或设置配置
help <format> <command>内置帮助(例如 officecli help pptx set shape)

端到端工作流示例

一个典型的自愈智能体工作流:创建演示文稿、填充内容、验证并修复问题——全程无需人工干预。

# 1. Create
officecli create report.pptx

# 2. Add content
officecli add report.pptx / --type slide --prop title="Q4 Results"
officecli add report.pptx '/slide[1]' --type shape \
  --prop text="Revenue: $4.2M" --prop x=2cm --prop y=5cm --prop size=28
officecli add report.pptx / --type slide --prop title="Details"
officecli add report.pptx '/slide[2]' --type shape \
  --prop text="Growth driven by new markets" --prop x=2cm --prop y=5cm

# 3. Verify
officecli view report.pptx outline
officecli validate report.pptx

# 4. Fix any issues found
officecli view report.pptx issues --json
# Address issues based on output, e.g.:
officecli set report.pptx '/slide[1]/shape[1]' --prop font=Arial

单位与颜色

所有尺寸和颜色属性均接受灵活的输入格式:

类型接受的格式示例
尺寸cm、in、pt、px 或原始 EMU2cm、1in、72pt、96px、914400
颜色十六进制、命名、RGB、主题#FF0000、FF0000、red、rgb(255,0,0)、accent1
字号纯数字或带 pt 后缀14、14pt、10.5pt
间距pt、cm、in 或倍数12pt、0.5cm、1.5x、150%

常见模式

# Replace all Heading1 text in a Word doc
officecli query report.docx "paragraph[style=Heading1]" --json | ...
officecli set report.docx /body/p[1]/r[1] --prop text="New Title"

# Export all slide content as JSON
officecli get deck.pptx / --depth 2 --json

# Bulk-update Excel cells
officecli batch budget.xlsx --input updates.json --json

# Import CSV data into an Excel sheet
officecli add budget.xlsx / --type sheet --prop name="Q1 Data"
officecli import budget.xlsx "/Q1 Data" sales.csv --header

# Template merge for batch reports
officecli merge invoice-template.docx invoice-001.docx --data '{"client":"Acme","total":"$5,200"}'

# Check document quality before delivery
officecli validate report.docx && officecli view report.docx issues --json

从 Python 或 Node.js — 安装一个轻量的常驻管道 SDK(无需每次调用都启动进程):

# Python — `pip install officecli-sdk`
import officecli
with officecli.create("deck.pptx") as doc:          # or officecli.open("deck.pptx")
    doc.send({"command": "add", "parent": "/", "type": "slide"})
    print(doc.send({"command": "get", "path": "/slide[1]"}))
// Node.js — `npm install @officecli/sdk`
const oc = require("@officecli/sdk");
const doc = await oc.create("deck.pptx");            // or oc.open("deck.pptx")
await doc.send({ command: "add", parent: "/", type: "slide" });
console.log(await doc.send({ command: "get", path: "/slide[1]" }));
await doc.close();

两个 SDK 都会在本地 CLI 缺失时自动提供(优先使用镜像、支持 Windows)并提示安装,而非静默操作。

或者直接包装子进程,一次性调用:

import json, subprocess
def cli(*args):
    return json.loads(subprocess.check_output(["officecli", *args, "--json"], text=True))
cli("create", "deck.pptx")

文档

Wiki 提供了每个命令、元素类型和属性的详细指南:

从源码构建

仅需 .NET 10 SDK 用于编译。输出是一个自包含的原生二进制文件 —— .NET 嵌入在二进制文件中,运行时无需安装。

./build.sh

许可证

Apache License 2.0

欢迎在 GitHub Issues 上提交错误报告和贡献。


如果您觉得 OfficeCLI 有用,请在 GitHub 上 给它一个星 —— 这有助于他人发现该项目。

OfficeCLI.AI | GitHub

在 GitHub 查看完整项目