夜雨聆风学习资料网

ARTICLE · 1055780

WorkBuddy 装 WPS 技能包,我先踩了三个坑

WorkBuddy 装 WPS 技能包,我先踩了三个坑

「AI 办公自动化」这四个字,我见过最多的理解是:装个技能,AI 就能替你改 Excel。

上周我把 WorkBuddy 的 WPS 技能包装上了,耗了一个上午,从头到尾跑了一遍。技能确实好用,但它跟我原本想的不太一样。这篇把过程和我踩的三个坑写清楚,想试的人可以少走点弯路。

一、先看清「装」到底装了什么

技能市场里搜 wps,出来的是「WPS Office 全家桶」,v5.2.0,免费,56 个文件。右侧的能力清单列得很长:Word 文档、Excel 表格、PPT 演示、公式与图表、统计与筛选、公文一键排版、批量水印与打码、会议纪要、定时任务。

点「安装」,它落到本机的一个目录里:

~/.workbuddy/skills/wps-office-suite__skillhub

装完这一下只用了几十秒。如果你觉得「这就完了」,那确实完了,不过这只是开始。

     
技能市场搜 wps,能看到它的能力清单和安装入口

二、坑一:WPS 明明装了,技能却说没装

装完第一件事,我按技能文档的建议跑了自检:

python scripts/wps_test.py

输出前半段一路绿灯,中间开始红:

  pywin32(COM): ❌ pywin32 未安装     → 运行: pip install pywin32   WPS Office: ❌ WPS Office 未安装或 COM 注册失败     → 安装 WPS Office 2019+ 后重启电脑   COM 健康: ❌ 严重(30/100)  总结: ❌ 5 个问题需要解决

可我电脑上明明装着 WPS Office 12.1。

关键在 pywin32 那一行。技能要指挥 WPS,走的是 Windows 的 COM 接口,而 COM 接口在 Python 里的绑定就是 pywin32。没有它,技能就算看得见 wps.exe 也伸不进手。

所以「WPS Office 未安装」这句话说得不准确。准确的说法是「我够不着 WPS」。想连上就一句 pip install pywin32,装完重启一次。

     
上面是自检报告,下面是引擎探测。这台机器上 WPS 是 false

三、坑二:你以为它在用 WPS,其实它换了引擎

这个坑更隐蔽。

技能内置了四个引擎,按 WPS → MS Office → LibreOffice → 纯 Python 的顺序往下找,找到哪个用哪个。我跑 engine-info 看到的输出是这样的:

{   "engine": "LIBREOFFICE",   "wps": false, "msword": false, "libreoffice": true,   "word": true, "excel": true, "ppt": true,   "hardware": { "cpu_cores": 4, "memory_gb": 7.9, "level": "low" } }

然后我真的建了一张表,create 命令的返回里写的是 "engine": "PURE"

也就是说:它没有走 WPS,也没走 LibreOffice,最后用纯 Python 把活干了。

这不算坏事。纯 Python 模式下,建表、写数据、写公式、排序、筛选、图表、条件格式、数据验证都支持,换到 Mac 或 Linux 上行为也一致。但它和原生引擎的能力不完全重合,PPT 的幻灯片增删、透视表、VBA 这些只有原生引擎才认。

值得记住的是,引擎切换是静默的。你没装 WPS,它不报错,它只是换了个方式干活。所以你拿到一个结果,最好回头看一眼它到底跑在哪个引擎上。

四、它确实把活干出来了

前面说的都是问题,说点好听的。

我给了它一句话的活:建一个销售明细表,两个工作表,写四行数据,算金额合计,出一张柱状图。

它做出来了,全程我没有点一下鼠标。从空文件到一张能用的表,这部分它比我快,也不会漏掉设数字格式、给表头加底纹这些琐碎动作。

五、坑三:它读不懂你的表头

问题出在我没有说清楚。

我让它写公式算金额合计,范围写的是 =SUM(D2:D5)。打开文件一看,求和是 245025,比我自己算的少了一行。

原因是我看错了行号。技能写数据是从「最后一行 + 1」开始写的,而一张空表的最后一行会被算成第 1 行。所以数据实际落在 A2:D6,第 1 行永远空着。

于是:

  • 公式 =SUM(D2:D5) 整体错了一行,漏掉 D6 的 115420
  • 排序直接失败,返回 列"金额"未找到
  • 筛选同样失败
     
表建出来了,但公式落在了 D6,数据其实在 D3 到 D6

技能文档里其实写着这条:确保第一行是表头。它默认第 1 行放列名,排序和筛选按这个前提去匹配列。我的表头在第 2 行,它自然找不到。

把范围改成 D3:D6 之后,合计 360445,一行不差。但排序和筛选依然报错。表头位置这件事,光改公式解决不了。

六、所以该怎么跟它说话

跑完这一上午,我把它总结成一句话:它像个手很快、但眼神不太好的实习生。

被明确交代的事它都做对,但它不会主动猜你的表长什么样。所以派活的时候,把三件事写进去:

  1. 文件在哪
    :写完整路径,别用「桌面那个表」这种说法
  2. 表头在哪一行、数据在哪一块
    :第 1 行是空的,表头在第 2 行,数据区 A2:D6
  3. 要动哪一列、按什么顺序
    :金额在 D 列,按金额降序
     
把「表头在第 2 行」写进指令,它就会先跟你确认再动手

最后

回到开头那个问题:装个技能,AI 就能替你改 Excel 吗。

能,前提是你把这张表的「地形」告诉它。这件事花不了两分钟,省下来的是它把公式写错一行、你第二天打开文件才发现的那半小时。

如果你打算试,建议第一件事就干这个:随便建张小表,跑一遍自检,看一眼 engine 那一栏写的是什么。搞清手上这套东西实际跑在什么引擎上,后面所有的期待才不会跑偏。

相关学习资料