乐于分享
好东西不私藏

AI 写的文档格式总崩,自动化办公的新思路:一个为 AI Agent 而生的命令行工具

AI 写的文档格式总崩,自动化办公的新思路:一个为 AI Agent 而生的命令行工具

一个通过 COM 自动化直接操控 WPS 引擎的命令行工具,让 Word/Excel/PPT/PDF 操作变成一行命令。


一、为什么你用 AI 写文档,格式总是错乱?

让 AI 帮忙写文档,内容没问题,格式一塌糊涂。

标题该用黑体,它给你宋体;正文该用仿宋,它给你 Calibri;表格该居中,它给你左对齐。你让它改,中文部分对了,英文又变了;表格边框莫名消失;页码每页都是”1″。你花了 20 分钟写内容,又花了 40 分钟调格式——比手写还慢。

常见翻车现场一览:

问题
表现
原因
字体错乱
正文变成 Calibri,标题变成宋体
库不知道 WPS 的字体回退逻辑
表格崩坏
边框消失、列宽跑偏、合并单元格错位
表格渲染依赖 WPS 内部布局引擎
页码异常
每页都显示”1″,目录页码全错
域代码(Field Code)需要 WPS 实时计算
中文兼容
中英文混排时标点挤压、行距不均
OOXML 标准与 WPS 中文排版引擎不一致
图片丢失
插入的图片变成空白框
图片嵌入方式不被 WPS 正确识别

根本原因:主流 Python 文档库(python-docx、openpyxl)本质上是在拼接 XML 文件。 它们按 OOXML 标准写文件,但 WPS 有自己的一套渲染逻辑——字体回退、行距计算、表格边框合并、中文标点压缩。这些规则不在 XML 里,在 WPS 的渲染引擎里。

你给 AI 一把”拼 XML”的工具,让它生成”WPS 能完美打开的文档”,相当于让一个不懂排版的人用代码模拟排版引擎——格式崩是必然,不崩才是侥幸。

办公自动化的需求巨大,但工具链一直缺失。wps-cli 要解决的就是这个问题。

不让 AI 拼 XML,让 AI 直接操控 WPS 本身。


二、换个思路:让 WPS 自己干活

想象你在看电视——你不需要知道遥控器内部的电路怎么工作,按一下”音量+”,电视就调高了音量。

COM 自动化就是这个道理。它是 Windows 系统提供的一种组件通信机制:Python 通过 COM 向 WPS 发指令(”打开文件””选中文字””改为黑体””保存”),WPS 在后台执行操作。你用 VBA 宏操控 Office 是同一套机制,只不过把 VBA 换成了 Python。

关键优势:你拿到的文档,和你手动在 WPS 里一点点排版做出来的文档,格式效果完全一致。因为本来就是同一个引擎在干活。

wps-cli 把这套能力封装成了命令行工具,覆盖 Word、Excel、PPT、PDF 四大模块:

模块
命令数
核心能力
典型用途
Writer(文字)
10
文档创建、文本替换、表格操作、图片插入、PDF 导出
批量生成报告、合同模板填充
Calc(表格)
10
单元格读写、公式计算、图表生成、排序筛选、CSV 导出
数据提取、报表自动化、图表生成
Impress(演示)
9
幻灯片管理、文本操作、图片插入、母版控制、PDF 导出
批量生成 PPT、统一修改模板
PDF
5
合并、拆分、提取页面、添加水印
文档后处理、批量加水印
Export(导出)
2
格式转换、批量转换
文档格式互转

35 个命令,覆盖办公自动化 90% 的日常需求。 每个命令都是一行就能跑,每个命令都支持 --json 输出,方便 AI Agent 解析结果、做下一步决策。


三、上手试试:让 AI Agent 帮你操作文档

wps-cli 的设计目标是让 AI Agent 能直接操控 WPS。你不需要敲命令,只需要跟 Agent 说一句话。

场景一:直接用 Agent 对话

打开 Claude Code、Codex CLI、OpenCode 或 Cursor,直接说:

“帮我把 contract.docx 里的’甲方公司’替换成’星辰科技有限公司’,然后导出 PDF。”

Agent 会自动调用 wps writer replace 和 wps writer export_pdf,你什么都不用管。

其他 Agent 也一样:

Agent 工具
使用方式
Claude Code
终端中输入自然语言指令
Codex CLI
终端中输入自然语言指令
OpenCode
VS Code 中对话式操作
Cursor Agent
编辑器中用自然语言描述需求
公司内部 Agent
接入 Shell 执行能力即可

场景二:让 Agent 读取表格数据并生成图表

对 Agent 说:

“把 budget.xlsx 的 C12 单元格读出来,然后基于 A1 到 C10 的数据生成一个柱状图。”

Agent 会自动调用:

wps calc cell get budget.xlsx "C12" --json# → {"ref": "C12", "value": 285600}wps calc chart create budget.xlsx --data "A1:C10" --type bar --title "年度预算"

上一步的输出直接喂给下一步——Agent 自动完成这个循环。

场景三:一句话完成 PDF 合并加水印

对 Agent 说:

“把 jan.pdf、feb.pdf、mar.pdf 合并成一个文件,加上’内部资料’水印。”

Agent 自动执行,全程本地处理,数据不出电脑。


有命令行背景的读者:你也可以直接用 wps pdf mergewps writer replace 等命令手工操作。wps-cli 同时支持人工命令行和 Agent 调用两种模式,所有命令加 --json 即为 Agent 模式。


四、为什么 CLI 正在成为 AI Agent 的主流接口?

AI 时代的工具设计,正在发生一个根本性转变:从”给人用的 GUI”转向”给 AI 用的 CLI”

三种接口的对比如下:

维度
CLI(命令行)
GUI(图形界面)
API(编程接口)
Agent 友好度
极高——文本输入,文本输出
低——需解析 UI 元素、坐标、像素
中等——需理解复杂 Schema
学习成本
一条命令,--help 即文档
低对人,但对 AI 极不友好
高——每个服务 API 风格不同
可组合性
极强——管道、脚本、串联
几乎不可组合
中等——需编写调用代码
启动速度
毫秒级
秒级(启动应用 + 渲染 UI)
毫秒级(但有网络延迟)
稳定性
高——接口不变
低——窗口位置/按钮文字一改就崩
高——有版本管理
上下文成本
1 条命令 ≈ 100 tokens
1 次 GUI 操作 ≈ 数千 tokens(截图/坐标)
1 次 API 调用 ≈ 数百 tokens

GUI 自动化极其脆弱。 窗口位置变了、按钮文字改了、弹了个意外对话框——AI 就懵了。让 AI 通过 GUI 操作软件,相当于蒙着眼睛让人指挥你按遥控器。

API 调用学习成本高。 每个服务有不同的认证方式、请求格式、错误码体系。AI 需要记住这些差异,而每个 API 的文档 AI 都得重新”消化”。

CLI 命令是天然的文本接口。 LLM 输出文本,CLI 接收文本——这不是巧合,是必然:

  • • AI 生成 wps calc cell get budget.xlsx "C12" --json
  • • CLI 执行操作,返回 {"ref": "C12", "value": 285600}
  • • AI 读取结果,决定下一步

这个模式正在被最顶尖的 AI 工具验证:

工具
GitHub Stars
发布方
特点
Claude Code
12.4 万+
Anthropic
6 个月内收入达 10 亿美元,npm 下载量增长 128 倍
Gemini CLI
10 万+
Google
开源免费,2025 年 6 月发布
Codex CLI
8.3 万+
OpenAI
Rust 编写,直接在终端中运行
Aider
4.5 万+
社区
最早的 AI 编程 CLI 之一,pip 安装量 680 万次

据 TechCrunch 报道,Anthropic、OpenAI、Google 密集发布终端 AI 工具,CLI 产品已成为各家”最受欢迎的产品之一”。Terminal-Bench 联合创始人断言:”我们的大赌注是,未来 95% 的 LLM-计算机交互将通过类终端界面进行。”

wps-cli 从设计的第一天就遵循这个逻辑。每个命令都支持 --json 输出,返回结构化数据,让 AI Agent 可以:

步骤
Agent 做什么
wps-cli 做什么
理解意图
用户说”把合同里的甲方替换成星辰科技,然后导出 PDF”
提供 --help,每个命令说明白自己能做什么
生成命令
生成 wps writer replace + wps writer export_pdf
执行操作
发送命令,等待结果
操控 WPS 执行操作,返回 JSON
验证结果
解析 JSON,判断是否成功
返回状态码和详细结果
组合流程
把多个命令串联成完整工作流
每个命令独立可组合,像积木一样拼接

任何能执行 Shell 命令的 Agent(Claude Code、Cursor、Copilot、自建 Agent)都能直接用 wps-cli——不需要 SDK,不需要插件,不需要特殊集成。


五、技术架构一览

wps-cli 采用三层架构,职责清晰:

职责
技术选型
说明
CLI 层
命令解析、参数校验、输出格式化
Typer + Rich
把用户/Agent 的输入翻译成结构化调用
业务层
文档逻辑:Word/Excel/PPT/PDF 操作编排
Python
不关心底层实现,只做业务编排
后端层
通过 COM 接口驱动 WPS 引擎
pywin32
与 WPS 进程直接通信,执行实际操作
CLI 层(Typer + Rich)    ↓  结构化调用业务层(Document Service)    ↓  COM 指令后端层(pywin32 COM)    ↓  进程间通信WPS Office 桌面端

可扩展设计:如果未来要支持 LibreOffice,只需替换后端层的实现(从 COM 切换到 UNO 接口),CLI 层和业务层代码完全不用动。


六、怎么开始用?

安装,一行命令:

pip install wps-cli

环境要求:

项目
要求
操作系统
Windows 10/11
WPS Office
2019 或更高版本(专业版/个人版均可)
Python
3.9+

快速验证环境是否就绪:

wps doctor

它会自动检测 WPS 是否安装、COM 组件是否注册、Python 环境是否正常——十几秒就能知道能不能跑起来。

全部命令一览:

wps --help

每个子命令都有独立帮助页,AI Agent 读 --help 就能理解所有参数和用法。


最后

wps-cli 完全开源,MIT 协议,拿来就用,商用也没问题。如果你也用 WPS 做办公自动化,觉得这工具能帮上忙,欢迎点个 Star。有 Bug 提 Issue,有想法提 PR。如果它帮你省了几个小时的调格式时间,那就是这个项目最大的价值。

项目地址:https://github.com/jjchen17/wps-cli反馈邮箱:948881912@qq.com