ARTICLE · 1183930
让 AI 替你操作办公软件:开源项目 harness-Anything 与它的 PPT 引擎全解
AI 只会写代码,动不了桌面软件?
开源工具箱,让 AI 给办公软件长出双手

harness-anything
📦 5 Parts + Conclusion
👉 滑动
PART 01
初识工具箱
CLI 思路
PART 02
四大 Harness
办公 / 学术 / 设计
PART 03
PPT 引擎
JSON 到成品页
PART 04
实战细节
写进引擎的坑
PART 05
如何开始
三步上手
PART ///
写在最后
观点
01
PART
初识工具箱:让桌面软件长出 CLI
OVERVIEW · 总览
用过 AI 写代码的人都知道瓶颈在哪:它能写出上千行程序,却点不动鼠标。Office、Photoshop 这类桌面软件,长期没有给 AI Agent 留正式通道。harness-anything 的思路很直接——把 Windows COM 接口封装成标准 CLI 命令,Agent 用一句话就能完成一次真实操作。
主库叫 cli-anything-wps:每条命令对应一次对 WPS/Office 或 Adobe 软件的操作,加 --json 参数后输出直接变成结构化数据。调用链一目了然:CLI 命令 → Core 模块 → COM Bridge → 软件引擎,全程透明、可审计、可复现。

几个关键数字:47 条 CLI 命令,覆盖 DOCX / XLSX / PPTX / PDF / TXT / HTML / CSV / RTF 8 种导出格式;内置 PPT 设计系统(4 套预设 + 14 种布局 + 5 维度质量审查);MIT 协议开源,可直接用于自己的工作流。
系统要求:
Windows 10/11 WPS Office 2019+ 或 Microsoft Office 2016+ / Zotero 7+ Adobe Illustrator 2023+(可选)/ Adobe Photoshop 2023+(可选) Python 3.10+ + pywin32
02
PART
四大 Harness:办公、学术、矢量、位图
MODULES · 四件套
仓库里是四条独立管线:WPS/Office、Zotero 学术、Illustrator 矢量、Photoshop 位图,共用一套封装思路——CLI 命令 → Click 入口 → Core 模块 → COM Bridge → 软件引擎。每条命令都能独立执行,也能被 Agent 串成完整工作流:
CMDcli-anything-wps --json document new --type impress --name "演示"
WPS / MS Office:word · excel · slides
writer 管段落、标题、表格与查找替换;calc 管工作表、公式与批量填充;impress 管幻灯片增删改、文本框与背景。一句 preset apply academic,即可给现有 PPT 套上「答辩」主题预设。
Zotero:27 个学术 Skill,从查文献到交稿
文献管理加 27 个学术 Skill、7 大分类:检索与系统评价、创意生成与头脑风暴、IMRAD 论文写作、五人审稿团与同行评审、期刊图表规范、Meta 分析流水线。从查文献到交稿的整条链路,可分阶段交给 Agent 执行。
Illustrator:几行命令出一版矢量稿
新建文档、图层增删改与可见性锁定、矩形与文字绘制、导出 SVG / PDF——做一个 logo 的矢量初稿,几行命令就能跑完。
Photoshop:位图管线全覆盖
文档属性、图层可见性与混合模式、选区羽化与反选、滤镜操作——一条命令把 1920×1080 的海报导成 PNG。
03
PART
PPT 引擎 pptengine:一份 JSON,一套成品页
ENGINE · 核心组件
仓库里最受关注的组件是 pptengine——它把「做 PPT」沉淀成可复用的引擎:路径全部基于包位置推导,不含任何绑定机器的绝对路径,克隆下来即可运行。
模板底图
960×540 一张
JSON 数据
13 种元素类型
构建脚本
COM 逐页绘制
PPTX + PDF
双格式落盘
院校 PPT 工作流:三件套(底图 + JSON + 脚本)跑一遍即出成品
两种驱动方式
代码驱动:Deck 加几个元素原语,几行代码出一页;JSON 驱动:用 slides.json 描述页面,渲染器按 type 字段路由,换内容零改码。元素覆盖 13 种类型:text、image、table、2×3 卡片组、宽卡片列表、标语条、横向时间轴等;渐变横幅、箭头、圆环、页面背景全部由 PIL 现场绘制,不依赖外部图床;收尾还有 PyMuPDF 逐页检查文本溢出——工程细节做到了位。
图表、表格逐页排布。每个案例给足三件套:模板底图 + JSON 数据 + Python 构建脚本,跑一遍即得 PPTX 与 PDF 双格式产物——照着抄,就是最省事的入门方式。代码驱动的最小示例只有几行:
from pptengine import Deck, el
deck = Deck(bg="bg_page.png")
s = deck.add_slide()
el.header(s, "1.1", "国家重大需求")
deck.save("out/demo.pptx")
WPS 办公
cli-anything-wps document new --type impress --name "演示"
cli-anything-wps preset apply academic --talk-type defense
cli-anything-wps export render output.pptx -p pptx
Zotero 学术
cli-anything-zotero skills pipeline thesis
cli-anything-zotero catalog search "machine learning"
Illustrator 设计
cli-anything-illustrator project new logo.ai -w 500 -h 500
cli-anything-illustrator shapes rect --w 200 --h 200
Photoshop 设计
cli-anything-photoshop project new banner.psd -w 1920 -h 1080
cli-anything-photoshop export png banner.png
04
PART
实战细节:把「坑」写进引擎里的经验
LESSONS · 踩坑清单
开源仓库的价值,往往不在功能列表里,而在它替你踩过的那些坑。COM 接口是老 API,行为特例多,文档零散——pptengine 内置规避了 7 个常见陷阱:
Adjustments 属性的特殊赋值语法、Bold=False 触发的异常、WordWrap 与居中的冲突、多行文本居中上浮、AddTable 边框不稳、SaveAs 静默失败,以及中文字体渲染成方块。每一个都曾让「看起来能跑」的代码反复翻车。
本地装的是 MS Office 而不是 WPS?也不用额外适配:COM 接口与 VBA 兼容,把 ProgID 改成 PowerPoint.Application、Word.Application、Excel.Application 就能直接驱动。作者还把一套 PPT 布局规范写进了文档,可以把排版规范直接当质检清单:
标题不超过 4 字,居中,不画装饰线
正文不小于 22pt,保证投影可读
每页图表与表格至少两种,任何元素不出画布
05
PART
适合谁、如何开始
START · 三步上手
环境门槛:Windows 10/11 + Python 3.10 以上 + pywin32,再有 WPS 2019 以上或 MS Office 想接 Illustrator / Photoshop 2023 及以上属于可选项,装哪条管线就准备哪一个。
按说明把仓库拉下来,执行安装命令
MIT 协议,代码透明可审计;装完用 --help 看一下命令全集,心里就有数了。
一行命令出一个新幻灯片工程
CMDcli-anything-wps --json document new --type impress --name "演示"
照抄一套院校案例,改 JSON、重跑脚本
底图、JSON、构建脚本三件套齐全,改数据即换内容——这是上手最快的路径。要批量做 PPT 的人,从这一步开始就够用了。
流程搭建者
示范如何给 Agent 装上手
课件与运营
批量产出汇报页
研究者
文献与图表管理
///
LAST
写在最后
SUMMARY · 观点
当 COM 接口被包装成 CLI,你装的每一款桌面软件,都可能是一条现成的工具链
这个项目的意义不只是「AI 做 PPT 更快」——它把桌面软件的操作经验,变成了 Agent可读、可复用的资产。对正在搭 AI 工作流的人来说,值得收藏进工具箱;对天天和 Office 打交道的人,它至少提供了一种新的思路:把重复的点击,交给一行命令。
项目开源可取用,感兴趣可以根据指引自助获取源码与文档。
# 软件工具下载地址https://github.com/yb2460/harness-anything
我是 青禾项目笔记,热衷于软件工具分享
既然看到这里了,如果觉得有用,随手点个赞、在看、转发三连吧。
THANKS FOR READING















































































