惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
About on SuperTechFans
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
T
Tenable Blog
WordPress大学
WordPress大学
小众软件
小众软件
Y
Y Combinator Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 聂微东
大猫的无限游戏
大猫的无限游戏
T
The Exploit Database - CXSecurity.com
Attack and Defense Labs
Attack and Defense Labs
Simon Willison's Weblog
Simon Willison's Weblog
C
CXSECURITY Database RSS Feed - CXSecurity.com
量子位
有赞技术团队
有赞技术团队
C
Cisco Blogs
D
Darknet – Hacking Tools, Hacker News & Cyber Security
F
Fortinet All Blogs
S
Schneier on Security
Engineering at Meta
Engineering at Meta
Microsoft Azure Blog
Microsoft Azure Blog
Martin Fowler
Martin Fowler
Recent Announcements
Recent Announcements
Stack Overflow Blog
Stack Overflow Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
阮一峰的网络日志
阮一峰的网络日志
G
GRAHAM CLULEY
Spread Privacy
Spread Privacy
F
Full Disclosure
Scott Helme
Scott Helme
GbyAI
GbyAI
N
Netflix TechBlog - Medium
MyScale Blog
MyScale Blog
Cloudbric
Cloudbric
云风的 BLOG
云风的 BLOG
L
LangChain Blog
aimingoo的专栏
aimingoo的专栏
Hacker News - Newest:
Hacker News - Newest: "LLM"
Security Latest
Security Latest
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
MongoDB | Blog
MongoDB | Blog
The GitHub Blog
The GitHub Blog
The Register - Security
The Register - Security
L
Lohrmann on Cybersecurity
PCI Perspectives
PCI Perspectives
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
D
Docker
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
S
Secure Thoughts
C
Check Point Blog

博客园_首页

Plist 二进制格式 Milvus 和 PGVector,哪个更好? OpenClaw 已过时?在 VS Code 中运行 Hermes Agent! 第30篇文章:一个大三计科生的自白 Manim如何在数学公式中完美显示中文? Docker 部署 RocketMQ 5 并发编程核心概念辨析 C#事务处理最佳实践:别再让“主表存了、明细丢了”的破事发生 CLI 是什么?为什么大厂突然集体卷命令行? 【从0到1构建一个ClaudeAgent】协作-自主Agent UIImageView 设置图片不生效的原因排查 最小二乘问题详解20:无先验约束下的增量式SFM自由网平差 痞子衡嵌入式:大话双核i.MXRT1180之XIP应用里借助MU实现可靠Flash IAP的方法 AI Chat 封装, SemanticKerne.AiProvider.Unified 已发布 Windows下右键编辑js文件无法打开记事本——在注册表中使用环境变量 在后台服务中使用 Scoped 服务,为什么总是报错? H200 安装驱动并使用sglang启动模型 wireshark 抓包Trap上报告警内容 我用 AI 辅助开发了一系列小工具(2):图片压缩工具 [A Primer On MC and CC] 2.1 Memory Consistency 1 - 指令重排序和 SC 模型 Oracle数据库SCN推进技术详解与实践指南 玩转控件:封装个带图片的Label控件 Claude Code 4.7 真正该升级的不是模型,而是你的工作流 前端小白一句话,AI 帮我做了个颜值拉满的桌面媒体播放器。当代码不再是门槛,一句话编程就是现实。 5. WorkBuddy: 小龙虾的灵魂三件套,让你的小龙虾不只是工具 SQLite 分片方案实战:三种分片策略的深度对比 告别简陋 UI!一款基于 Fluent Design 和基于 WinUI 的开源免费、现代化的 Avalonia UI 控件库 关于二进制排列组合枚举的总结 AI开发-python-LangGraph框架(3-27-LangGraph从零实现大模型智能决策工作流) ElasticSearch主分片和副本分片概念详解 【002】HTTPS 粗解:证书、TLS 握手与对后端配置的影响 Hermes Agent 一周暴涨五万 Star,但我劝你别急着追 明明连接的是Redis的DB0,为什么能查到DB3的数据? 【从0到1构建一个ClaudeAgent】协作-Agent团队 熟悉电子元器件之后,电子小白下一步该怎么走? MAF快速入门(23)通过C#类定义Skills .NET 高级开发 | 手写一个对象映射框架 FastAPI数据库ORM怎么选?我肝了三个Demo后,终于不再纠结了 mysqldump 参数拾遗:在遗忘与铭记之间 C# .NET 周刊|2026年3月5期 Claude code入门 - 陈彦斌 一文学习入门 ThingsBoard 开源物联网平台 GitHub 热门项目 | 2026年04月16日 如何为GIT设置全局勾子,为每次提交追加信息 Number.isFinite和isFinite与isNaN()和Number.isNaN的区别 PortSwigger SQL注入LAB2 推荐一个测试人必备的Skills,从功能到性能全搞定(附详细实操和安装下载方式) 筑基期:掌握Odoo基础核心知识点02(Odoo XML 开发方式详解) GLM模型这么火,咱们用vllm也咧一个呗! 深入理解 AbortController:从底层原理到跨语言设计哲学 字符串学习笔记 多租户系统框架的基础模块设计和分析设计 Apache SeaTunnel Zeta 为什么能做到“又快又稳”? AI开发-python-LangGraph框架(3-26-LangGraph基本概念及第一个简单样例) Vue 3 组件通信,别只会用 Props 和 Emits 了,这几个狠活儿你得看看 ElasticSearch7.X版本配置密码 用Manim实现动态交点计算--从一个动点问题说起 团结引擎+Addressable+Instant Game打包抖音小游戏 function call 实战:让 LLM 自动判断 pod 异常、调用日志工具并完成故障分析 bubseek —— 让 Agent 的足迹,变成团队的洞察 通过 C# 读取并导出 PDF 书签 如何用 GitHub Actions 实现 Steam 自动化发布 【从0到1构建一个ClaudeAgent】并发-后台任务 .NET 高级开发 | 定制 ASP.NET Core 框架 电子小白:什么是运算放大器(运放) zero2Agent:面向大厂面试的 Agent 工程教程,从概念到生产的完整学习路线 堆上的ORW HC32F460 USB CDC通信异常:非对齐访问异常排查 20260413-Hyperbridge 攻击事件:发生在默克尔山上的验证绕过 那些喊着AI 要淘汰你的人,正在靠你的焦虑赚大钱! 深度学习进阶(八)Swin Transformer 最小二乘问题详解19:带先验约束的增量式SFM优化与实现 SnapTranslate 3.0 正式发布:全局划词翻译 + 完整英语学习闭环,一站式搞定查词、记词、复习 工作的意义、工作的困难认知再思考 .NET + AI 进阶实战:基于类的技能开发 - 打造可治理的 Agent 能力模块 【从0到1构建一个ClaudeAgent】规划与协调-技能 上周热点回顾(4.6-4.12) 电子小白的工具三件套:面包板、杜邦线、万能板 单表五亿数据的查询优化 | Mysql、StarRocks 2. WorkBuddy:从“我是谁”到“帮我干活” C# 如何减少代码运行时间:7 个实战技巧 基于HelixToolkit.SharpDX 渲染3D模型 - 笺上知微 从零开始的双臂具身VLA起源及现阶段发展综述 - SkyXZ 记对 xonsh shell 的使用, 脚本编写, 迁移及调优 - pluvium27 受够了Vibe Coding的失控?换个起点,让AI事半功倍 从开始配置漏洞环境到漏洞复现流程 - 難しい 关于10年工作经验的程序员对OpenClaw的实战经验分享以及看法 - 虚无境 Any metadata 的内存布局 C# .NET 周刊|2026年3月2期 - InCerry 我帮你测过了,测试圈排名第二的 Skill 依然很牛逼 Skill Discovery | 无监督技能发现的经典工作总结 - MoonOut 上下文工程是什么?过时了么?一文讲明白! - 一枫说码 开了 TUN 模式还是直连?90% 的人都踩过这个坑 AScript扩展多种脚本语言 - rockey627 AI 学习笔记:Agent 的记忆机制 你能被装进一个文件里吗?——7 万人把同事"蒸馏"成了 AI - 我没有三颗心脏 Claude Code 通关手册(七):给 AI 装上技能包——Skills 完全指南 - 暮色之狐 在浏览器中快速编辑代码:VSCode Web 集成实践 - Newbe36524 蒸馏自己 skill?基于 Deepseek 的蒸馏器,丐版蒸馏方式,简单便捷 - To_Carpe_Diem Spring AI Aliababa和AgentScope,哪个更好? - 苏三说技术
解锁 AI 办公:配置 AI 操控 WPS 全攻略
TTGF · 2026-05-08 · via 博客园_首页

前言

本文记录 lc2panda/wps-skillsCursor 联动的全流程,适用于 Windows
目标:在 WPS 中启用「Claude 助手」加载项,并在 Cursor 中通过 MCP 调用工具操控当前打开的 Word / 表格 / 演示文档。


一、方案说明:你在搭什么

可以把 wps-skills 理解成三件事叠在一起,分工明确:

  1. 在 Cursor 里多出一个「遥控器」wps-office-mcp,用 Node 跑)
    Cursor 通过这个程序,把你说的话变成一条条指令;每条指令对应一个 wps_ 开头的工具(改单元格、插段落、调格式等)。

  2. 在 WPS 里多出一个「接收器」(加载项,文件夹名一般是 wps-claude-addon
    装好后,WPS 顶部会出现 「Claude 助手」 之类的选项卡。它负责跟已经打开的 WPS 打交道,不是另起一个假 Word。

  3. 在 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 在动的那一份,所以更适合改格式、动图表、写批注这类「必须在软件里完成」的活。


二、环境要求

在开始之前请确认:

  1. WPS Office 已安装(个人版 / 专业版均可,以能正常打开文字、表格、演示为准)。
  2. Node.js ≥ 18(推荐 LTS;本文示例曾使用 v24)。
    • 终端执行:node -v
  3. Git(用于克隆仓库)【没有的话直接去github上面下载也可以】。
  4. Cursor 已安装,且具备编辑用户级 MCP 配置的权限。

说明:WPS 可以装在 C 盘以外的盘符(例如 E:\WPS Office\...),这不影响下文中的用户配置路径;加载项与 MCP 仍主要依赖当前用户的 AppData


三、获取源码

将仓库克隆到固定目录(路径自定,下文以 C:\Users\<用户名>\Desktop\WPS\wps-skills-main 为例):

cd C:\Users\<用户名>\Desktop\WPS
git clone https://github.com/lc2panda/wps-skills.git

若从 GitHub 下载 ZIP 解压,文件夹名可能是 wps-skills-main,后文请将「项目根目录」统一替换为你的实际路径。

项目根目录下应能看到:wps-office-mcpwps-claude-addonscriptsskills 等文件夹。



四、一键安装(编译 MCP + 写 Claude 配置 + 安装 WPS 加载项)

在项目根目录执行:

cd <你的项目根目录>
powershell -ExecutionPolicy Bypass -File .\scripts\auto-install.ps1

脚本大致会完成:

  1. 检查 Node.js 版本
  2. wps-office-mcp 中执行 npm installnpm run build
  3. %USERPROFILE%\.claude\settings.json 写入 wps-office MCP(供 Claude Code 使用)
  4. Skills 复制到 %USERPROFILE%\.claude\skills\(同样主要面向 Claude Code)
  5. 将加载项复制到 wps-claude-addon_,并维护 publish.xml

成功时末尾应出现 Installation Complete

该步常见问题:jsaddons 目录不存在

一键脚本 scripts\auto-install.ps1 在第 5 步会向 %APPDATA%\kingsoft\wps\jsaddons 复制加载项。若该目录尚不存在,脚本会报错,例如:

[ERR] WPS add-on directory not found: C:\Users\...\AppData\Roaming\kingsoft\wps\jsaddons

原因:WPS 已安装且用过,但有时不会自动创建 jsaddons 文件夹;与 WPS 装在 E 盘还是 C 盘无关——用户级加载项仍落在当前用户的 Roaming\kingsoft\wps\ 下。

处理:手动创建目录后再跑安装脚本。

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 绝对路径):

{
  "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 打开要改的文件

  1. 用 Cursor(或任意编辑器)打开这个文件(路径连起来是一整条):

    <项目根目录>\wps-office-mcp\src\utils\logger.ts

    举例:C:\Users\Z\Desktop\WPS\wps-skills-main\wps-office-mcp\src\utils\logger.ts

  2. 在文件里按 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(复制粘贴即可)

  1. 选中并删除new winston.transports.Console({ 开始,到与它成对的 }), 为止的整段(注意包含最后的逗号,后面往往还有 File 之类的配置,不要删错)。

  2. 在原位置粘贴下面这一段(注意:逗号、括号要和文件里其它 transports 条目风格一致;若粘贴后红线报错,多半是少写了逗号或多删了括号):

      // 控制台日志:固定写到 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
        ),
      }),
  1. 保存文件(Ctrl+S)。

粘贴位置提示:这段应紧挨在 transports: [ 下面、在第一个 new winston.transports.File 之前。文件里原来 Console 前面一般已有若干空格缩进;若你粘贴后缩进不齐,只要和同一数组里其它 new winston 行对齐即可。

8.4 重新编译(必须做,否则 Cursor 仍在用旧的 dist

  1. 打开 PowerShell(或 Cursor 自带终端)。

  2. 依次执行(第一行里的路径改成你的 wps-office-mcp 文件夹):

cd <项目根目录>\wps-office-mcp
npm run build
  1. 看到没有报错、命令结束即可。确认生成了编译结果文件:

    <项目根目录>\wps-office-mcp\dist\utils\logger.js

8.5 让 Cursor 重新加载 MCP

  1. 完全退出 Cursor(不是只关窗口,尽量从托盘也退出)。
  2. 再打开 Cursor。
  3. 打开 设置 → MCP,看 wps-office 是否不再报错。

8.6 若 npm run build 报错

wps-office-mcp 目录下执行:

npm install
npm run build

仍失败时,把终端里完整英文报错复制下来,到项目 GitHub 的 Issues 里搜索或提问。


九、安装后自检清单

  1. 文件存在<项目根目录>\wps-office-mcp\dist\index.js
  2. WPS:完全退出后重新打开,打开任意 文字 / 表格 / 演示 文档,功能区出现 「Claude 助手」(或英文 Claude Assistant),连接状态里为 PowerShell COM 桥接、初始化完成。
  3. Cursor:MCP 列表中 wps-office 无红点,可展开查看工具。
  4. 联调:在 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_modulesdist 后重装依赖再编译

官方仓库的 INSTALL.md 中另有 Issue #4 / #5 / #6 等说明,遇到顽固错误可对照排查。


十一、效果示例

一、Word 操作(需先打开WPS Word文档)

文档初始化排版测试

帮我完成当前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. 基础表头 + 录入员工信息表

帮我操作当前WPS表格,生成员工信息统计表:
A1填员工编号,B1填姓名,C1填部门,D1填岗位,E1填月薪;
给A1:E1设置加粗、微软雅黑、12号字、背景浅蓝色、居中对齐;
自动调整A-E列列宽适配内容;
下方依次填入5行模拟数据:
1 张三 研发部 算法工程师 18500
2 李四 产品部 产品经理 15200
3 王五 市场部 运营专员 9800
4 赵六 人事部 人事主管 12500
5 孙七 财务部 会计 11000
所有内容垂直居中、水平居中。

在这里插入图片描述

2. 自动求和 + 平均值公式计算

在当前Excel表格中操作:
在E8单元格填入合计,E9填入平均工资;
E8自动计算E2:E6月薪总和,E9自动计算E2:E6月薪平均值;
给E8:E9设置加粗、红色字体、保留2位小数;
给数据区域A1:E9添加外边框+内边框全黑色细线条。

在这里插入图片描述

三、PPT操作(需先打开WPS 演示文档)

帮我快速创建一个完整的PPT框架,主题为「AI赋能办公自动化」:
1. **第1页(标题页)**:
   - 主标题:AI赋能办公自动化
   - 副标题:未来工作方式的变革与机遇
2. **第2页(目录页)**:
   - 目录项:
     - 行业趋势与挑战
     - 核心技术解析
     - 应用场景展示
     - 未来发展展望
3. **第3页(内容页)**:
   - 标题:行业趋势与挑战
   - 内容:列举当前办公场景中存在的重复性劳动、信息孤岛、效率瓶颈等问题。
4. **第4页(图文页)**:
   - 标题:核心技术解析
   - 左侧放置一张代表「AI与办公软件融合」的示意图。
   - 右侧文字说明:介绍MCP协议、自然语言处理、办公软件API等关键技术。
5. **第5页(结束页)**:
   - 居中大字:感谢观看
   - 下方小字:Q&A
- 为整个演示文稿应用一个现代、简洁的主题样式(如「清新」或「商务」主题)。
- 统一设置所有页面标题字体为「思源黑体 Bold」,字号32;内容字体为「思源黑体 Regular」,字号16。

在这里插入图片描述


十二、参考链接


附录:最小命令备忘(复制粘贴用)

# 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 当前版本为准。