首页 › Skills专栏 › officeCLI skill

officeCLI skill

​

OfficeCLI 是全球首个、也是最好的专为 AI 智能体设计的 Office 套件。​

​

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

开源免费。单一可执行文件。无需安装 Office。零依赖。全平台运行。​

OfficeCLI 的内置 HTML 渲染引擎,高度还原文档原貌 —— 这正是让 AI 拥有"眼睛"的关键。 它把 .docx / .xlsx / .pptx 渲染为 HTML 或 PNG,闭合"渲染 → 看 → 改"的循环。​

​

飞书文档 - 图片

​

在 AionUi 上使用 OfficeCLI 的 PPT 制作过程​

PowerPoint 演示文稿​

​

​

​

飞书文档 - 图片

​

33%

​

​

​

飞书文档 - 图片

​

33%

​

​

​

飞书文档 - 图片

​

33%

​

​

​

​

​

飞书文档 - 图片

​

33%

​

​

​

飞书文档 - 图片

​

33%

​

​

​

飞书文档 - 图片

​

33%

​

​

Word 文档​

​

​

​

飞书文档 - 图片

​

33%

​

​

​

飞书文档 - 图片

​

34%

​

​

​

飞书文档 - 图片

​

33%

​

​

Excel 电子表格​

​

​

​

飞书文档 - 图片

​

33%

​

​

​

飞书文档 - 图片

​

34%

​

​

​

飞书文档 - 图片

​

33%

​

​

AI 智能体 — 一行搞定​

普通用户​

​

方式 A — 图形界面: 安装 AionUi — 一款桌面应用,用自然语言就能创建和编辑 Office 文档,底层由 OfficeCLI 驱动。只需描述你想要什么,AionUi 帮你搞定。​

​

​

方式 B — 命令行: 从 GitHub Releases 下载对应平台的二进制文件,然后运行:​

​

​

代码块​

Plain Text

officecli install​

​

该命令会将二进制文件复制到 PATH,并自动将 officecli 技能文件安装到检测到的所有 AI 编程助手 — Claude Code、Cursor、Windsurf、GitHub Copilot 等。您的智能体可以立即创建、读取和编辑 Office 文档,无需额外配置。​

开发者 — 30 秒亲眼看到效果​

​

​

就这么简单。你执行的每一条 add、set、remove 命令都会实时刷新预览。继续尝试吧 — 浏览器就是你的实时反馈窗口。​

快速开始​

​

​

​

​

为什么选择 OfficeCLI?​

以前需要 50 行 Python 和 3 个独立库:​

​

​

现在只需一条命令:​

​

​

OfficeCLI 能做什么:​

​

•

创建 文档 -- 空白文档或带内容的文档​

•

读取 文本、结构、样式、公式 -- 纯文本或结构化 JSON​

•

分析 格式问题、样式不一致和结构缺陷​

•

修改 任意元素 -- 文本、字体、颜色、布局、公式、图表、图片​

•

重组 内容 -- 添加、删除、移动、复制跨文档元素​

​

​

#SVaKPwHeawWU text{white-space:pre}.fb0{stroke:var(--N900-FG, 0.15)}.fx0{stroke-miterlimit:10}.fa1{fill:#bbbfc4}.fx1{font:normal 400 12px MonospacedNumber,LarkHackSafariFont,LarkEmojiFont,LarkChineseQuote,-apple-system,BlinkMacSystemFont,Helvetica Neue,Tahoma,PingFang SC,Microsoft Yahei,Arial,Hiragino Sans GB,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.fx2{text-anchor:middle}.fx3{dominant-baseline:central}.fx4{stroke:none}.fc0{fill:var(--text-caption)}.fa2{fill:var(--text-link-disabled)}.fx5{font:400 normal 16px MonospacedNumber, LarkHackSafariFont, LarkEmojiFont, LarkChineseQuote, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Tahoma, "PingFang SC", "Microsoft Yahei", Arial, "Hiragino Sans GB", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"}.fx6{text-anchor:start}.fx7{dominant-baseline:alphabetic}.fc1{fill:rgb(31, 35, 40)}.fb1{fill:var(--N900-FG, 0.15)}.fb2{fill:rgb(209, 217, 224)}.fa3{fill:var(--bg-body)}ABCD1234格式Word (.docx)Excel (.xlsx)PowerPoint (.pptx)读取✅✅✅修改✅✅✅创建✅✅✅

​

​

🎈

Word — 完整的 i18n 与 RTL 支持(按脚本字体槽位、按脚本 BCP-47 语言标签 lang.latin/ea/cs、复杂脚本粗体/斜体/字号、direction=rtl 在段落/文本片段/节/表格/样式/页眉/页脚/docDefaults 间级联、rtlGutter + pgBorders 简写、印地语/阿拉伯语/泰语/中日韩本地化页码)、段落、文本片段、表格、样式、页眉/页脚、图片(PNG/JPG/GIF/SVG)、公式、批注、脚注、水印、书签、目录、图表、超链接、节、表单域、内容控件 (SDT)、域(22 种零参数 + MERGEFIELD / REF / PAGEREF / SEQ / STYLEREF / DOCPROPERTY / IF)、OLE 对象、文档属性​

​

​

🎈

Excel — 单元格(添加时支持音标/振假名)、公式(内置 350+ 函数自动求值,可溢出的动态数组自动加 _xlfn. 前缀,含财务/债券与统计函数族)、工作表(visible/hidden/veryHidden、打印边距、printTitleRows/Cols、RTL sheetView、级联感知的工作表重命名)、表格、排序(工作表/区域、多键、附属感知)、条件格式、图表(含箱线图、帕累托图 自动排序 + 累计百分比、对数轴)、数据透视表(多字段、日期分组、showDataAs、排序、总计、分类汇总、紧凑/大纲/表格布局、重复项目标签、空白行、计算字段)、切片器、命名范围、数据验证、图片(PNG/JPG/GIF/SVG,双重表示回退)、迷你图、批注(RTL)、自动筛选、形状、OLE 对象、CSV/TSV 导入、$Sheet:A1 单元格寻址​

​

​

🎈

PowerPoint — 幻灯片(页眉/页脚/日期/页码切换、隐藏)、形状(图案填充、模糊效果、超链接提示 + 跳转幻灯片链接)、图片(PNG/JPG/GIF/SVG,填充模式:stretch/contain/cover/tile,亮度/对比度/发光/阴影)、表格、图表、动画、morph 过渡、3D 模型(.glb)、幻灯片缩放、公式、主题、连接线、视频/音频、组合、备注(RTL、lang)、批注(RTL)、OLE 对象、占位符(按 phType 添加/设置)​

​

使用场景​

开发者:​

​

•

从数据库或 API 自动生成报告​

•

批量处理文档(批量查找/替换、样式更新)​

•

在 CI/CD 环境中构建文档流水线(从测试结果生成文档)​

​

AI 智能体:​

​

•

根据用户提示生成演示文稿(见上方示例)​

​

团队:​

​

•

克隆文档模板并填充数据​

•

CI/CD 流水线中的自动化文档验证​

​

安装​

单一自包含可执行文件,.NET 运行时已内嵌 -- 无需安装任何依赖,无需管理运行时。​

一键安装:​

​

代码块​

Plain Text

# 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​

​

或通过包管理器安装:​

​

代码块​

Plain Text

# Homebrew(macOS / Linux)​

brew install officecli​

​

# Scoop(Windows)​

scoop install officecli​

​

# npm(全平台 — 安装时自动拉取对应平台的原生二进制)​

npm install -g @officecli/officecli​

​

或手动下载 GitHub Releases:​

​

​

验证安装:officecli --version​

或从已下载的二进制文件自安装(直接运行 officecli 也会触发安装):​

​

代码块​

Plain Text

officecli install # 显式安装​

officecli # 直接运行也会触发安装​

​

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

核心功能​

内置引擎与生成原语​

OfficeCLI 是自包含的。下列能力全部内置在二进制中——无需 Office。​

渲染引擎 —— 高保真、内置​

OfficeCLI 的基石:一个从零实现、高保真的 HTML 渲染引擎,让 AI 智能体能"看见"渲染后的文档,而不是凭 DOM 瞎猜。它覆盖形状、图表(趋势线、误差线、瀑布、K 线、sparkline)、公式(OMML → LaTeX,KaTeX 渲染)、通过 Three.js 渲染的 3D .glb 模型、morph 过渡、幻灯片缩放、形状效果。按页 PNG 截图是把渲染出的 HTML 通过无头浏览器截出来的。三种模式:​

•

view html —— 独立 HTML 文件,资源内联。任何浏览器打开即可看。​

•

view screenshot —— 按页 PNG,供多模态智能体读图检查。​

•

watch —— 本地 HTTP 服务 + 自动刷新预览;每次 add / set / remove 立即更新浏览器。Excel watch 还支持单元格内联编辑、图表拖动定位。​

​

代码块​

Plain Text

officecli view deck.pptx html -o /tmp/deck.html​

officecli view deck.pptx screenshot -o /tmp/deck.png # 多页用 --page 1-N​

​

​

没有可视化,生成 PPT 的智能体就是在盲跑——它能读 DOM,但分辨不出标题溢出、两个形状重叠。因为渲染引擎内置在二进制里,"渲染 → 看 → 改"循环在 CI、Docker、无显示器的服务器——只要二进制能跑的地方都能用。​

​

公式与透视引擎​

350+ Excel 函数写入即自动求值——写 =SUM(A1:A2),get 单元格,值已经在那。不需要回到 Office 重算。覆盖可溢出的动态数组(FILTER / SORT / UNIQUE / SEQUENCE / LET / LAMBDA / MAP,_xlfn. 自动加前缀)、VLOOKUP / XLOOKUP / INDEX / MATCH、财务与债券函数(XIRR / PRICE / YIELD / DURATION / COUPNUM)、统计分布/检验/回归(NORM.DIST / T.TEST / LINEST)、日期与文本函数等。​

外加从源数据范围一条命令生成原生 OOXML 数据透视表——多字段行/列/筛选器、10 种聚合方式、showDataAs 多种模式、日期分组、计算字段、Top-N、布局选项。透视表缓存和定义都写入 OOXML,Excel 打开即看到聚合后的结果:​

​

代码块​

Plain Text

​

模板合并 —— 设计一次,填充 N 次​

merge 把任意 .docx / .xlsx / .pptx 中的 {{key}} 占位符替换为 JSON 数据——段落、表格单元格、形状、页眉页脚、图表标题都支持。智能体一次性设计版式(昂贵),生产代码填充 N 次(廉价、确定、零 token 成本)。避免了"每份报告都从头重生成、产出 N 份版式不一致"的失败模式。​

​

代码块​

Plain Text

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 往返 —— 从现有文档学习​

dump 把任意 .docx、.pptx、.xlsx —— 整个文档或任意子树(单段、单表、单页幻灯片、单个工作表、styles、numbering、theme、settings)——序列化为可重放的 batch JSON,batch 重放回去。给一份用户想模仿的范本,智能体读结构化规格而不是原始 OOXML XML,修改后重放。打通"我有一份现成模板"和"给我生成 100 份变体"之间的链路。​

​

代码块​

Plain Text

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​

​

驻留模式与批量执行​

驻留模式将文档保持在内存中,批量模式在一次打开/保存周期内执行多条命令。​

​

代码块​

Thrift

# 驻留模式 — 通过命名管道通信,延迟接近零​

officecli open report.docx​

​

​

要用其他工具读这个文件?先落盘。 OfficeCLI 自己的读(get/query/view)永远能看到最新改动,所以在 officecli 内部无需操心保存。但常驻进程会延迟写盘,因此在非-officecli 程序读取该文件之前——python-docx/openpyxl、Microsoft Word、渲染器、交付/上传——先落盘:​

​

代码块​

Plain Text

officecli set report.docx /body/p[1] --prop bold=true​

officecli save report.docx # 落盘, 保留常驻进程(或 `close` = 落盘 + 释放)​

python my_reader.py report.docx # 此时才能看到改动​

​

常驻进程闲置约 10s 后也会自动落盘一次。完整落盘模型(auto-save / auto-close / save / close、环境变量调节):wiki → open / close。​

​

三层架构​

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

​

​

​

代码块​

SQL

# L1 — 高级视图​

officecli view report.docx annotated​

officecli view budget.xlsx text --cols A,B,C --max-lines 50​

​

# L2 — 元素级操作​

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 — L2 不够时用原始 XML​

officecli raw deck.pptx '/slide[1]'​

officecli raw-set report.docx document \​

​

AI 集成​

MCP 服务器​

内置 MCP 服务器 — 一条命令注册:​

​

代码块​

Plain Text

officecli mcp claude # Claude Code​

officecli mcp cursor # Cursor​

officecli mcp vscode # VS Code / Copilot​

officecli mcp lmstudio # LM Studio​

officecli mcp list # 查看注册状态​

​

通过 JSON-RPC 暴露所有文档操作 — 无需 shell 访问。​

直接 CLI 集成​

两步将 OfficeCLI 集成到任何 AI 智能体:​

安装二进制文件 -- 一条命令(见安装)​

完成。 OfficeCLI 自动检测您的 AI 工具(Claude Code、GitHub Copilot、Codex),通过检查已知配置目录并安装技能文件。您的智能体可以立即创建、读取和修改任何 Office 文档。​

如果自动安装未覆盖您的环境,可以手动安装技能文件:​

直接将 SKILL.md 提供给智能体:​

​

代码块​

Plain Text

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

​

安装为 Claude Code 本地技能:​

​

代码块​

Plain Text

curl -fsSL https://officecli.ai/SKILL.md -o ~/.claude/skills/officecli.md​

​

其他智能体: 将 SKILL.md 的内容添加到智能体的系统提示词或工具描述中。​

智能体为什么在 OfficeCLI 上如鱼得水​

•

确定性 JSON 输出 —— 每条命令都支持 --json,schema 一致。无需正则解析、无需抓 stdout。​

•

基于路径的寻址 —— 每个元素都有稳定路径(/slide[1]/shape[2])。智能体无需理解 XML 命名空间即可导航文档。(OfficeCLI 自己的语法:1-based 索引、元素本地名——不是 XPath。)​

•

渐进式复杂度(L1 → L2 → L3) —— 智能体从只读视图入手,升级到 DOM 操作,仅在必要时降到 raw XML。最大限度节省 token。​

•

自愈式工作流 —— validate、view issues、以及结构化错误码(not_found、invalid_value、unsupported_property)会返回 suggestion 和有效范围。智能体无需人工介入即可自纠错。​

•

内置 agent 友好渲染引擎 —— view html / view screenshot / watch 原生输出 HTML 和 PNG。无需 Office。智能体能"看见"自己的产出,并在 CI / Docker / 无头环境里修复排版问题。​

•

内置公式与透视引擎 —— 350+ Excel 函数写入即自动求值(含可溢出动态数组、财务/债券与统计函数族);从源数据范围一条命令生成原生 OOXML 数据透视表。智能体立刻读到计算值和聚合结果,不需要回到 Office 重算。​

•

模板合并 —— 智能体一次性设计版式,下游代码把 {{key}} 占位符填充 N 次。避免每份报告都烧 token 重生成。​

•

Dump 往返 —— dump 把任意 .docx、.pptx、.xlsx 转成可重放的 batch JSON。智能体通过读结构化规格学习人类范本,而不是从原始 OOXML XML 反推。​

•

内置帮助 —— 属性名或取值格式不确定时,智能体跑 officecli set ,不靠猜。​

•

自动安装 —— OfficeCLI 自动识别您的 AI 工具(Claude Code、Cursor、VS Code…)并完成配置。无需手动放 skill 文件。​

内置帮助​

不确定属性名时,用分层帮助查询:​

​

代码块​

Python

officecli help pptx set # 全部可设置元素与属性​

​

将 pptx 换成 docx 或 xlsx;动词包括 view、get、query、set、add、raw。​

运行 officecli --help 查看完整概览。​

JSON 输出格式​

所有命令均支持 --json。常见响应格式:​

单个元素(get --json):​

​

代码块​

JSON

{"tag": "shape", "path": "/slide[1]/shape[1]", "attributes": {"name": "TextBox 1", "text": "Hello"}}​

​

元素列表(query --json):​

​

代码块​

JSON

​

错误 返回结构化错误对象,包含错误码、建议修正和可用值:​

​

代码块​

JSON

{​

"success": false,​

"error": {​

"error": "Slide 50 not found (total: 8)",​

"code": "not_found",​

"suggestion": "Valid Slide index range: 1-8"​

}​

}​

​

错误码:not_found、invalid_value、unsupported_property、invalid_path、unsupported_type、missing_property、file_not_found、file_locked、invalid_selector。属性名支持自动纠错 -- 拼错属性名时会返回最接近的匹配建议。​

错误恢复 -- 智能体通过检查可用元素自行修正:​

​

代码块​

SQL

# 智能体尝试无效路径​

officecli get report.docx /body/p[99] --json​

# 返回: {"success": false, "error": {"error": "...", "code": "not_found", "suggestion": "..."}}​

​

# 智能体通过查看可用元素自行修正​

officecli get report.docx /body --depth 1 --json​

# 返回可用子元素列表,智能体选择正确路径​

​

变更确认(set、add、remove、move、create 使用 --json):​

​

代码块​

Plain Text

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

​

运行 officecli --help 查看退出码和错误格式的完整说明。​

对比​

​

​

命令参考​

​

​

端到端工作流示例​

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

​

代码块​

SQL

​

单位与颜色​

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

​

​

常用模式​

​

代码块​

SQL

# 替换 Word 文档中所有 Heading1 文本​

officecli query report.docx "paragraph[style=Heading1]" --json | ...​

​

Python 调用 —— 包装一次,每次调用都返回解析好的 JSON:​

​

代码块​

Python

import json, subprocess​

​

def cli(*args):​

return json.loads(subprocess.check_output(["officecli", *args, "--json"], text=True))​

​

cli("create", "deck.pptx")​

cli("add", "deck.pptx", "/", "--type", "slide", "--prop", "title=Q4 报告")​

slide = cli("get", "deck.pptx", "/slide[1]")​

print(slide["attributes"]["text"])​

​

文档​

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

•

按格式查看:Word | Excel | PowerPoint​

•

工作流:端到端示例 -- Word 报告、Excel 数据表、PPT 演示、批量修改、驻留模式​

•

故障排除:常见错误与解决方案​

•

AI 智能体指南:Wiki 导航决策树​

从源码构建​

编译需要 .NET 10 SDK。输出为自包含的原生二进制文件 -- .NET 已内嵌,运行时无需安装。​

​

代码块​

Plain Text

./build.sh​

​