前言
本文记录 lc2panda/wps-skills 与 Cursor 联动的全流程,适用于 Windows 。
目标:在 WPS 中启用「Claude 助手」加载项,并在 Cursor 中通过 MCP 调用工具操控当前打开的 Word / 表格 / 演示文档。
一、方案说明:你在搭什么
可以把 wps-skills 理解成三件事叠在一起,分工明确:
-
在 Cursor 里多出一个「遥控器」 (
wps-office-mcp,用 Node 跑)Cursor 通过这个程序,把你说的话变成一条条指令;每条指令对应一个
wps_开头的工具(改单元格、插段落、调格式等)。 -
在 WPS 里多出一个「接收器」 (加载项,文件夹名一般是
wps-claude-addon)装好后,WPS 顶部会出现 「Claude 助手」 之类的选项卡。它负责跟已经打开的 WPS 打交道,不是另起一个假 Word。
-
在 Windows 上,中间用「系统自带的办公自动化通道」传话 (PowerShell + COM)
用人话说:Cursor 不直接摸你的文档文件,而是让系统去跟「当前这个 WPS 窗口」说话,就像以前用宏、用脚本控制 Office 一样,只是现在换成了 AI 在点。
| 你可以把它想成 | 实际上在干什么 |
|---|---|
| Cursor 里的 MCP | 对外提供很多 wps_* 工具,供 AI 调用 |
| WPS 里的加载项 | 在 WPS 里常驻,连着本机正在跑的 WPS |
| PowerShell COM | Windows 专用:让上面的「工具」能操作你屏幕上那个 WPS |
和「用 Python 直接改 docx 文件」有什么不一样?
Python 那种方式,更像在后台改一个磁盘上的压缩包 (docx 本质如此),不经过 WPS 界面,简单、快,但复杂排版、图表、批注等往往力不从心。
wps-skills 这一套是「真的在驱动你打开的 WPS」 :你眼睛看到的文档,就是 AI 在动的那一份,所以更适合改格式、动图表、写批注这类「必须在软件里完成」的活。
二、环境要求
在开始之前请确认:
- WPS Office 已安装(个人版 / 专业版均可,以能正常打开文字、表格、演示为准)。
- Node.js ≥ 18 (推荐 LTS;本文示例曾使用 v24)。
- 终端执行:
node -v
- 终端执行:
- Git(用于克隆仓库)【没有的话直接去github上面下载也可以】。
- Cursor 已安装,且具备编辑用户级 MCP 配置的权限。
说明 :WPS 可以装在 C 盘以外的盘符 (例如 E:\WPS Office\...),这不影响下文中的用户配置路径 ;加载项与 MCP 仍主要依赖当前用户的 AppData。
三、获取源码
将仓库克隆到固定目录(路径自定,下文以 C:\Users\<用户名>\Desktop\WPS\wps-skills-main 为例):
powershell
cd C:\Users\<用户名>\Desktop\WPS
git clone https://github.com/lc2panda/wps-skills.git
若从 GitHub 下载 ZIP 解压,文件夹名可能是 wps-skills-main,后文请将「项目根目录」统一替换为你的实际路径。
项目根目录 下应能看到:wps-office-mcp、wps-claude-addon、scripts、skills 等文件夹。
四、一键安装(编译 MCP + 写 Claude 配置 + 安装 WPS 加载项)
在项目根目录执行:
powershell
cd <你的项目根目录>
powershell -ExecutionPolicy Bypass -File .\scripts\auto-install.ps1
脚本大致会完成:
- 检查 Node.js 版本
- 在
wps-office-mcp中执行npm install、npm run build - 向
%USERPROFILE%\.claude\settings.json写入wps-officeMCP(供 Claude Code 使用) - 将 Skills 复制到
%USERPROFILE%\.claude\skills\(同样主要面向 Claude Code) - 将加载项复制到
wps-claude-addon_,并维护publish.xml
成功时末尾应出现 Installation Complete
该步常见问题:jsaddons 目录不存在
一键脚本 scripts\auto-install.ps1 在第 5 步会向 %APPDATA%\kingsoft\wps\jsaddons 复制加载项。若该目录尚不存在,脚本会报错,例如:
text
[ERR] WPS add-on directory not found: C:\Users\...\AppData\Roaming\kingsoft\wps\jsaddons
原因 :WPS 已安装且用过,但有时不会自动创建 jsaddons 文件夹;与 WPS 装在 E 盘还是 C 盘无关 ------用户级加载项仍落在当前用户的 Roaming\kingsoft\wps\ 下。
处理:手动创建目录后再跑安装脚本。
在 PowerShell 中执行:
powershell
New-Item -ItemType Directory -Path "$env:APPDATA\kingsoft\wps\jsaddons" -Force
五、Cursor 中注册 MCP(必做)
auto-install.ps1 不会修改 Cursor。 必须自行编辑 MCP 配置。
5.1 用户级配置(推荐)
在 mcpServers 中增加一项(路径改成你的 dist\index.js 绝对路径):
json
{
"mcpServers": {
"wps-office": {
"command": "node",
"args": ["C:\\Users\\你的用户名\\Desktop\\WPS\\wps-skills-main\\wps-office-mcp\\dist\\index.js"]
}
}
}
若文件中已有其他 MCP,只需在 mcpServers 里追加 "wps-office": { ... },注意上一项末尾加 英文逗号,保持 JSON 合法。
5.2 command 使用 node 的说明
若 Cursor 启动子进程时找不到 node(PATH 不完整),可将 command 改为 node.exe 的绝对路径,例如:
C:\\Program Files\\nodejs\\node.exe
保存后 完全重启 Cursor ,在 设置 → MCP 中确认 wps-office 已连接。
这样就是已经成功连接上了!
六、改一处代码 + 重新编译(让 Cursor 里 wps-office 能连上)
下面按新手能照着点鼠标 的粒度写。请把文中的 <项目根目录> 换成你电脑上 wps-skills-main(或 wps-skills)所在路径,例如:
C:\Users\你的用户名\Desktop\WPS\wps-skills-main
6.1 打开要改的文件
-
用 Cursor(或任意编辑器)打开这个文件(路径连起来是一整条):
<项目根目录>\wps-office-mcp\src\utils\logger.ts举例:
C:\Users\Z\Desktop\WPS\wps-skills-main\wps-office-mcp\src\utils\logger.ts -
在文件里按 Ctrl+F 搜索:
transports你会看到类似
transports: [下面排着好几段new winston.transports....。
6.2 找到「控制台」那一段
在 transports: [ 这个数组里,找到第一块控制台输出,常见两种写法:
写法 A(需要改) :里面是 new winston.transports.Console({
写法 B(已经改好,可跳过 8.3) :里面是 new winston.transports.Stream({ 且下一行有 stream: process.stderr
- 若是 写法 B ,你只做 8.4 的编译与重启即可。
- 若是 写法 A ,继续 8.3。
8.3 把 Console 整段换成 Stream(复制粘贴即可)
-
选中并删除 从
new winston.transports.Console({开始,到与它成对的}),为止的整段 (注意包含最后的逗号,后面往往还有File之类的配置,不要删错)。 -
在原位置粘贴 下面这一段(注意:逗号、括号要和文件里其它
transports条目风格一致;若粘贴后红线报错,多半是少写了逗号或多删了括号):
typescript
// 控制台日志:固定写到 process.stderr(按下面步骤粘贴即可)
new winston.transports.Stream({
stream: process.stderr,
format: winston.format.combine(
winston.format.colorize({ all: true }),
winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }),
wangFormat
),
}),
- 保存文件(Ctrl+S)。
粘贴位置提示 :这段应紧挨在 transports: [ 下面、在第一个 new winston.transports.File 之前 。文件里原来 Console 前面一般已有若干空格缩进;若你粘贴后缩进不齐,只要和同一数组里其它 new winston 行对齐即可。
8.4 重新编译(必须做,否则 Cursor 仍在用旧的 dist)
-
打开 PowerShell(或 Cursor 自带终端)。
-
依次执行(第一行里的路径改成你的
wps-office-mcp文件夹):
powershell
cd <项目根目录>\wps-office-mcp
npm run build
-
看到没有报错、命令结束即可。确认生成了编译结果文件:
<项目根目录>\wps-office-mcp\dist\utils\logger.js
8.5 让 Cursor 重新加载 MCP
- 完全退出 Cursor(不是只关窗口,尽量从托盘也退出)。
- 再打开 Cursor。
- 打开 设置 → MCP ,看
wps-office是否不再报错。
8.6 若 npm run build 报错
在 wps-office-mcp 目录下执行:
powershell
npm install
npm run build
仍失败时,把终端里完整英文报错复制下来,到项目 GitHub 的 Issues 里搜索或提问。
九、安装后自检清单
- 文件存在 :
<项目根目录>\wps-office-mcp\dist\index.js - WPS :完全退出后重新打开,打开任意 文字 / 表格 / 演示 文档,功能区出现 「Claude 助手」 (或英文 Claude Assistant ),连接状态里为 PowerShell COM 桥接、初始化完成。
- Cursor :MCP 列表中
wps-office无红点,可展开查看工具。 - 联调 :在 WPS 中保持目标文档处于打开且为当前窗口,在 Cursor Agent 中发起自然语言指令,并允许调用
wps-office工具。
十、故障速查表
| 现象 | 可能原因 | 处理方向 |
|---|---|---|
脚本报 jsaddons 不存在 |
目录未创建 | 按第五节创建目录后重装 |
| Cursor MCP 红色 Error | stdout 被日志占用 或 node 不在 PATH |
第八节;第七节改用 node 绝对路径 |
| WPS 无「Claude 助手」选项卡 | 加载项未复制或 publish.xml 未注册 |
检查 wps-claude-addon_ 与 publish.xml,重启 WPS |
| 工具调用无效果 / 返回空 | 未打开对应类型文档 | 打开文字/表格/演示并置于前台 |
npm run build 失败 |
依赖或 TypeScript 问题 | 删除 node_modules 与 dist 后重装依赖再编译 |
官方仓库的 INSTALL.md 中另有 Issue #4 / #5 / #6 等说明,遇到顽固错误可对照排查。
十一、效果示例
一、Word 操作(需先打开WPS Word文档)
文档初始化排版测试
bash
帮我完成当前WPS Word文档的完整初始化排版:在文档开头插入一级标题"WPS-Skills 与 Cursor MCP 联动测试报告",字体设置为微软雅黑、加粗、居中对齐,字号24号,颜色为深蓝色,标题下方添加一条黑色细横线(与页面同宽);横线下方插入3段正文,第一段内容为"本报告用于测试Cursor通过MCP协议调用wps-office工具的全流程联动效果,涵盖Word文档的标题设置、正文排版、页眉页脚配置、批注添加、样式统一等核心操作,无需手动干预WPS,由AI自动完成所有编辑任务。",第二段内容为"测试核心目标:验证MCP工具对Word文档的多维度操控能力,包括文本插入、格式设置、元素添加、内容修改等,确保联动稳定、操作精准,实现AI驱动的高效办公。",第三段内容为"测试环境:Windows系统、WPS Office(最新版)、Cursor(已配置wps-office MCP)、Node.js ≥ 18.0.0,所有环境均已完成部署与调试,确保MCP连接正常。";所有正文统一设置为微软雅黑、字号11号,行间距1.5倍,首行缩进2字符,正文段落添加黑色细边框(仅上下边框),第一段正文添加灰色底纹及批注,批注内容为"MCP工具自动生成,验证正文排版与批注添加功能"。
二、Excel 操作(需先打开WPS Excel文档)
1. 基础表头 + 录入员工信息表
bash
帮我操作当前WPS表格,生成员工信息统计表:
A1填员工编号,B1填姓名,C1填部门,D1填岗位,E1填月薪;
给A1:E1设置加粗、微软雅黑、12号字、背景浅蓝色、居中对齐;
自动调整A-E列列宽适配内容;
下方依次填入5行模拟数据:
1 张三 研发部 算法工程师 18500
2 李四 产品部 产品经理 15200
3 王五 市场部 运营专员 9800
4 赵六 人事部 人事主管 12500
5 孙七 财务部 会计 11000
所有内容垂直居中、水平居中。
2. 自动求和 + 平均值公式计算
bash
在当前Excel表格中操作:
在E8单元格填入合计,E9填入平均工资;
E8自动计算E2:E6月薪总和,E9自动计算E2:E6月薪平均值;
给E8:E9设置加粗、红色字体、保留2位小数;
给数据区域A1:E9添加外边框+内边框全黑色细线条。
三、PPT操作(需先打开WPS 演示文档)
bash
帮我快速创建一个完整的PPT框架,主题为「AI赋能办公自动化」:
1. **第1页(标题页)**:
- 主标题:AI赋能办公自动化
- 副标题:未来工作方式的变革与机遇
2. **第2页(目录页)**:
- 目录项:
- 行业趋势与挑战
- 核心技术解析
- 应用场景展示
- 未来发展展望
3. **第3页(内容页)**:
- 标题:行业趋势与挑战
- 内容:列举当前办公场景中存在的重复性劳动、信息孤岛、效率瓶颈等问题。
4. **第4页(图文页)**:
- 标题:核心技术解析
- 左侧放置一张代表「AI与办公软件融合」的示意图。
- 右侧文字说明:介绍MCP协议、自然语言处理、办公软件API等关键技术。
5. **第5页(结束页)**:
- 居中大字:感谢观看
- 下方小字:Q&A
- 为整个演示文稿应用一个现代、简洁的主题样式(如「清新」或「商务」主题)。
- 统一设置所有页面标题字体为「思源黑体 Bold」,字号32;内容字体为「思源黑体 Regular」,字号16。
十二、参考链接
- 项目仓库:https://github.com/lc2panda/wps-skills
- WPS 官网:https://www.wps.cn/
- Node.js:https://nodejs.org/
- Cursor MCP 文档:https://docs.cursor.com/context/model-context-protocol
附录:最小命令备忘(复制粘贴用)
powershell
# 1. 创建 jsaddons(若不存在)
New-Item -ItemType Directory -Path "$env:APPDATA\kingsoft\wps\jsaddons" -Force
# 2. 进入项目根目录后一键安装
cd <项目根目录>
powershell -ExecutionPolicy Bypass -File .\scripts\auto-install.ps1
# 3. 仅重新编译 MCP(更新代码或改过源码后)
cd <项目根目录>\wps-office-mcp
npm run build
文档版本:与 wps-skills 仓库 Windows + Cursor 部署实践同步整理;具体界面文案以 WPS / Cursor 当前版本为准。