乐于分享
好东西不私藏

Hermes Agent遇上OfficeCli:让你的AI小弟秒变PPT/Excel/Word大师,这波操作太骚了!

Hermes Agent遇上OfficeCli:让你的AI小弟秒变PPT/Excel/Word大师,这波操作太骚了!

🎭 开场白:AI终于能自己写PPT了,打工人的春天来了?

各位老铁们好啊!今天咱们来聊一个能让所有打工人热泪盈眶的话题——**AI终于能自己搞Office文档了**!

以前让AI帮你写个PPT?做梦!它要么给你吐一堆Markdown让你自己排版,要么生成个丑到爆的HTML。但现在,有了**OfficeCli**这个神器,再加上**Hermes Agent**(江湖人称"爱马仕Agent")这对黄金搭档,你的AI小弟终于能直接操控Word、Excel、PowerPoint了!

💡 **划重点**:OfficeCli号称是"世界上第一个也是最强的、专为AI Agent设计的Office套件"。不是给人类用的哦,是给AI用的!人类?人类只配在旁边喊"666"。

🤖 先认识一下两位主角

主角一:OfficeCli —— AI的Office瑞士军刀

OfficeCli是个什么玩意儿?简单说,它是一个**单文件的命令行工具**,能让AI Agent像操作自家后院一样操控Office文档。

**它有多牛?**

• 🚫 **不需要安装Office** —— 没错,你电脑上没装Office也能创建、编辑Word/Excel/PPT

• 📦 **单个二进制文件** —— 没有乱七八糟的依赖,下载就能用

• 🌍 **跨平台** —— macOS、Linux、Windows通吃

• 👁️ **自带渲染引擎** —— AI能"看到"自己创建的文档,不用盲猜

主角二:Hermes Agent —— 会自我进化的AI管家

Hermes Agent(爱马仕Agent)是Nous Research搞出来的开源AI Agent [GitHub](https://github.com/nousresearch/hermes-agent)。它跟普通AI最大的区别是:**它会学习、会记忆、会成长**!

**它的核心卖点:**

• 🧠 **持久记忆** —— 跨会话记住你的偏好和项目,不用每次重新解释上下文

• 📚 **自动技能创建** —— 解决难题后会自动写技能文档,下次再也不犯同样的错

• 🔌 **多平台网关** —— 支持Telegram、Discord、Slack、WhatsApp、Signal,甚至CLI

• ⏰ **定时自动化** —— 内置cron调度器,日报、备份、审计全自动

• 🤝 **并行子Agent** —— 可以派出多个分身同时干活

🚀 第一步:安装OfficeCli(比泡面还简单)

一键安装(推荐懒人使用)

bash

# 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

就这么一行命令,OfficeCli就装好了。什么?你说你网络不好?没关系,还可以手动下载:

手动下载(适合有洁癖的用户)

平台

下载文件

macOS Apple Silicon

officecli-mac-arm64

macOS Intel

officecli-mac-x64

Linux x64

officecli-linux-x64

Linux ARM64

officecli-linux-arm64

Windows x64

officecli-win-x64.exe

Windows ARM64

officecli-win-arm64.exe

下载后验证一下:

bash

officecli --version

看到版本号就说明成功了!然后执行:

bash

officecli install

这一步会把二进制文件复制到你的PATH,并且自动检测你电脑上装了哪些AI编码工具(Claude Code、Cursor、Windsurf、GitHub Copilot等等),然后给它们都装上officecli技能。

🎯 **小贴士**:如果你用的是Hermes Agent,它也会自动被检测到!不过咱们后面还有更骚的操作。

🎨 第二步:让Hermes Agent学会OfficeCli

方法一:自动安装(最省事)

如果你已经装好了OfficeCli,直接运行:

bash

officecli install

它会自动扫描你电脑上的AI工具,如果发现Hermes Agent,就会把技能文件安装进去。

方法二:手动喂技能(更可控)

Hermes Agent支持技能系统,我们可以直接把OfficeCli的SKILL.md喂给它:

bash

# 下载SKILL.md          curl -fsSL https://officecli.ai/SKILL.md -o ~/.hermes/skills/officecli.md

或者更简单,直接在Hermes Agent的对话里粘贴:

code

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

Hermes Agent会自动读取这个技能文件,学会怎么使用OfficeCli的所有命令。

💬 **吐槽**:这就像给新员工一本《OfficeCli从入门到精通》,然后说"你自己看吧,我不管了"。

方法三:MCP服务器集成(最优雅)

OfficeCli还内置了MCP服务器,可以让AI工具通过JSON-RPC直接调用:

bash

# 注册MCP服务器          officecli mcp list# 查看注册状态

Hermes Agent支持MCP工具集成,这样就能更优雅地调用OfficeCli的功能了。

🎬 第三步:实战演练!让Hermes Agent帮你做PPT

现在重头戏来了!打开你的Hermes Agent,直接跟它说:

*"帮我做一个Q4季度汇报的PPT,要有数据图表,风格要商务一点"*

然后你就会看到Hermes Agent开始疯狂输出OfficeCli命令:

1. 创建空白PPT

bash

officecli create report.pptx

2. 添加幻灯片和内容

bash

# 添加第一页,标题是"Q4业绩汇报"          officecli add report.pptx / --type slide --prop title="Q4业绩汇报" --prop background=1A1A2E          # 在幻灯片上添加文本框          officecli add report.pptx '/slide[1]' --type shape \          --prop text="营收增长25%" --prop x=2cm --prop y=5cm \          --prop font=Arial --prop size=24 --prop color=FFFFFF

3. 实时预览(超酷的功能!)

bash

# 启动实时预览,浏览器自动打开          officecli watch report.pptx

这会在http://localhost:26315打开一个实时预览页面,你每执行一次add、set、remove命令,浏览器里的PPT就会自动刷新!

🤯 **震撼**:这体验,比VSCode的热重载还爽!

4. 查看文档结构

bash

# 以大纲形式查看          officecli view report.pptx outline          # → Slide 1: Q4业绩汇报          # →Shape 1 [TextBox]: 营收增长25%          # 以HTML形式查看(生成独立HTML文件)          officecli view report.pptx html          # 截图(给多模态AI看的)          officecli view report.pptx screenshot -o /tmp/report.png

5. 获取JSON结构(AI最爱)

bash

officecli get report.pptx '/slide[1]/shape[1]' --json

输出:

json

{          "tag": "shape",          "path": "/slide[1]/shape[1]",          "attributes": {          "name": "TextBox 1",          "text": "营收增长25%",          "x": "720000",          "y": "1800000"          }          }

💡 **为什么AI喜欢JSON?** 因为结构化数据好解析啊!不用正则表达式去抠stdout,干净利落。

🧠 进阶玩法:Hermes Agent的自我进化

Hermes Agent最骚的地方在于,它用完就忘?不存在的!

技能自动沉淀

当Hermes Agent用OfficeCli完成一个复杂的PPT后,它会自动把这次的经验写成技能文档。下次你再让它做PPT,它就知道:

• 用什么命令创建幻灯片

• 怎么设置字体和颜色

• 如何添加图表

越用越聪明,这就是Hermes Agent的"自我进化"能力!

持久记忆加持

Hermes Agent还有跨会话的持久记忆。你上周让它做的PPT风格,这周它还记得!

🎯 **场景**:你跟它说"按照上次的风格再做一份",它真的能记住上次的字体、颜色、布局!这记忆力,比我强多了。

🛠️ OfficeCli的三大架构层次

OfficeCli的设计哲学是:简单开始,需要时再深入。

层级

用途

命令

L1: 读取

内容的高级视图

view(text、annotated、outline、stats、issues、html、svg、screenshot)

L2: DOM

结构化元素操作

get、query、set、add、remove、move、swap

L3: 原始XML

直接XPath访问——万能后备

raw、raw-set、add-part、validate

L1:高层视图(适合快速查看)

bash

# 查看Word文档的注释版本          officecli view report.docx annotated          # 查看Excel的文本内容          officecli view budget.xlsx text --cols A,B,C --max-lines 50

L2:元素级操作(日常使用最多)

bash

# 查询包含"TODO"的段落          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:原始XML(高级玩家专属)

bash

# 查看原始XML          officecli raw deck.pptx '/slide[1]'          # 直接修改XML          officecli raw-set report.docx document \          --xpath "//w:p[1]" --action append \          --xml '注入的文本'

🎮 **类比**:L1就像自动挡,L2就像手动挡,L3就像直接改发动机。大部分时候L1+L2就够了,除非你是硬核玩家。

🔥 杀手级功能盘点

1. 内置渲染引擎(AI终于有眼睛了)

以前AI做PPT就像盲人画画——全靠猜。现在OfficeCli内置了渲染引擎,AI可以:

bash

# 生成HTML预览          officecli view deck.pptx html -o /tmp/deck.html          # 生成PNG截图(给多模态AI看)          officecli view deck.pptx screenshot -o /tmp/deck.png          # 实时预览(浏览器自动刷新)          officecli watch deck.pptx

👁️ **意义**:AI可以"看到"自己做的PPT,发现标题溢出了、两个形状重叠了,然后自己修复!这就是"渲染→观察→修复"的闭环!

2. 公式和数据透视表引擎(Excel玩家狂喜)

150+内置Excel函数,写入即计算!

bash

# 写入公式,直接获取计算结果          officecli add sales.xlsx '/Sheet1' --type cell --prop formula="=SUM(A1:A10)"          officecli get sales.xlsx '/Sheet1/B1'          # 值已经算好了,不用打开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

3. 模板合并(一次设计,批量生成)

bash

# 用模板批量生成发票          officecli merge invoice-template.docx out-001.docx '{"client":"Acme","total":"$5,200"}'          officecli merge q4-template.pptx q4-acme.pptx data.json

💰 **场景**:你要给100个客户发报告?设计一次模板,然后批量填充,零token成本!

4. 往返Dump(从现有文档学习)

bash

# 把现有文档序列化为JSON          officecli dump existing.docx -o blueprint.json          # 只导出某个子树(比如第一个表格)          officecli dump existing.docx /body/tbl[1] -o table.json          # 用JSON重放创建新文档          officecli batch new.docx --input blueprint.json

🎓 **用法**:用户说"按照这个模板做100个变体",AI先dump学习结构,然后批量生成,完美!

⚡ 常驻模式 & 批量操作(性能拉满)

常驻模式(近零延迟)

bash

# 打开文档,保持在内存中          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

批量模式(原子操作)

bash

# 一次性执行多个操作          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          # 内联批量(不用stdin)          officecli batch deck.pptx --commands '[{"op":"set","path":"/slide[1]/shape[1]","props":{"text":"Hi"}}]'          # 遇到错误继续执行          officecli batch deck.pptx --input updates.json --force --json

🎯 完整实战:Hermes Agent的自愈工作流

来看一个典型的AI工作流:创建PPT → 填充内容 → 验证 → 修复问题,全程无需人类干预!

bash

# 1. 创建          officecli create report.pptx          # 2. 添加内容          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. 验证          officecli view report.pptx outline          officecli validate report.pptx          # 4. 检查问题并修复          officecli view report.pptx issues --json          # 根据输出修复问题,比如:          officecli set report.pptx '/slide[1]/shape[1]' --prop font=Arial

🤖 **Hermes Agent的自愈能力**:如果命令出错,它会: - 看到结构化错误信息(包含错误代码、建议、有效值范围) - 自己检查可用元素 - 自动修正路径或参数 - 重试直到成功

bash

# Agent尝试无效路径          officecli get report.docx /body/p[99] --json          # 返回:{"success": false, "error": {"error": "...", "code": "not_found", "suggestion": "..."}}          # Agent自我修正,检查可用元素          officecli get report.docx /body --depth 1 --json          # 获取可用子元素列表,选择正确路径

📊 单位和颜色(灵活到离谱)

🎨 **吐槽**:这兼容性,比我前女友的心思还难猜……哦不,是比我前女友的心思还好猜!

类型

支持的格式

示例

尺寸

cm, in, pt, px, 或原始EMU

2cm, 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%

🧰 常用命令速查表

命令

说明

create

创建空白 .docx, .xlsx, 或 .pptx

view

查看内容(模式:outline, text, annotated, stats, issues, html, svg, screenshot, pdf)

get

获取元素及子元素(--depth N, --json)

query

CSS风格查询([attr=value], :contains(), :has()等)

set

修改元素属性

add

添加元素(或用--from克隆)

remove

删除元素

move

移动元素(--to, --index N, --after, --before

swap

交换两个元素

validate

验证OpenXML规范

batch

批量操作(stdin, --input, 或 --commands)

dump

序列化为可重放的batch JSON

merge

模板合并——用JSON数据替换{{key}}占位符

watch

浏览器实时预览(自动刷新)

mcp

启动MCP服务器

raw

查看文档部分的原始XML

raw-set

通过XPath修改原始XML

open

启动常驻模式(文档保持在内存)

close

保存并关闭常驻模式

install

安装二进制文件 + 技能 + MCP

config

获取或设置配置

🐍 Python集成(程序员最爱)

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 Report")          slide = cli("get", "deck.pptx", "/slide[1]")          print(slide["attributes"]["text"])

💻 **场景**:把OfficeCli封装成Python函数,集成到你的自动化流水线里,CI/CD生成文档so easy!

🎓 内置帮助(不用背命令)

不知道属性名?直接问:

bash

officecli pptx set# 所有可设置的元素和属性          officecli pptx set shape# 某个元素类型的详情          officecli pptx set shape.fill# 某个属性:格式和示例          officecli docx query# 选择器参考:属性、:contains、:has()等

🤦 **吐槽**:这年头连CLI都有内置帮助了,我记性差终于有救了!

📝 配置说明

配置文件在`~/.officecli/config.json`:

bash

# 关闭自动更新          officecli config autoUpdate false          # 单次跳过更新检查          OFFICECLI_SKIP_UPDATE=1 officecli view deck.pptx html

🏁 总结:为什么这套组合拳这么强?

OfficeCli的优势:

• ✅ **确定性JSON输出** —— 每个命令都支持--json,不用正则抠stdout

• ✅ **路径寻址** —— 每个元素都有稳定路径(/slide[1]/shape[2]),不用懂XML命名空间

• ✅ **渐进式复杂度** —— L1→L2→L3,按需深入

• ✅ **自愈工作流** —— 结构化错误+建议,AI能自我修正

• ✅ **内置渲染** —— AI能"看到"输出,CI/Docker/无头环境都能用

• ✅ **模板合并** —— 设计一次,批量填充,省token

• ✅ **自动安装** —— 检测AI工具,自动配置

Hermes Agent的加持:

• 🧠 **持久记忆** —— 记住你的偏好和项目上下文

• 📚 **技能沉淀** —— 用完就学,下次更快

• 🔌 **多平台** —— CLI、Telegram、Discord、Slack随你用

• ⏰ **定时任务** —— 自动生成日报、周报

• 🤝 **并行处理** —— 多个子Agent同时干活

🎯 **终极场景**:你在Telegram上跟Hermes Agent说"帮我做份Q4汇报PPT",它自动调用OfficeCli创建、填充、验证、修复,最后把成品发给你。全程你在外面喝咖啡,回来就收作业!

🔗 相关链接

📢 **最后说一句**:如果你觉得这篇文章有用,别忘了给OfficeCli和Hermes Agent点个Star!开源项目不容易,你的支持就是作者们继续肝代码的动力!