feat: 实现 Anthropic 官方标准 Skills 框架

## 核心改动

### Skills 目录重构
- 将 skills/*.md 重构为 skills/<name>/SKILL.md 标准目录结构
- 符合 Anthropic 官方 Skills 规范 (https://github.com/anthropics/skills)
- wps-excel: 60+ 方法完整文档
- wps-word: 25+ 方法完整文档
- wps-ppt: 85+ 方法完整文档
- wps-office: 跨应用协调技能

### 安装脚本更新 (auto-install-mac.sh)
- 新增 install_skills() 函数
- 自动创建软链接到 ~/.claude/skills/ 全局目录
- 实现真正的一键全自动安装(MCP + Skills)

### INSTALL.md 重写
- 专为 Claude Code 自动执行设计
- 步骤清晰可执行(Step 1-5)
- 包含验证命令和错误处理

### 双语 README 更新
- 新增 Skills Framework 徽章
- 更新技术架构图(MCP + Skills 双层架构)
- 更新 GitHub 地址为 lc2panda/wps-mcp
- 修复 FAQ 中 Skills 加载方式(/plugin add → ln -sf)
- 移除项目结构中的 docs/ 私有目录

## 技术说明

Skills 正确加载方式:
- 放置到 ~/.claude/skills/ 目录
- Claude Code 启动时自动扫描加载
- 不需要 /plugin add 命令

Co-Authored-By: Claude (claude-opus-4-5-thinking) <noreply@anthropic.com>
This commit is contained in:
PandaAI
2026-01-29 11:23:23 +08:00
parent e14d1a7fbb
commit 507bf9127d
11 changed files with 1478 additions and 1057 deletions
+25
View File
@@ -0,0 +1,25 @@
{
"name": "wps-mcp-skills",
"owner": {
"name": "lc2panda",
"email": "lc2panda@github.com"
},
"metadata": {
"description": "WPS Office AI Assistant Skills - Control WPS Office with natural language",
"version": "1.0.0"
},
"plugins": [
{
"name": "wps-office-skills",
"description": "Complete WPS Office automation skills including Excel formula generation, Word formatting, PPT beautification, and cross-app operations",
"source": "./",
"strict": false,
"skills": [
"./skills/wps-excel",
"./skills/wps-word",
"./skills/wps-ppt",
"./skills/wps-office"
]
}
]
}
+126 -130
View File
@@ -1,159 +1,155 @@
# WPS Skills 安装指南 (For Claude Code)
# WPS Skills 自动安装指南 (For Claude Code)
当用户要求安装 WPS Skills 时,请按以下步骤操作:
> 🤖 **本指南专为 Claude Code 设计**Claude Code 读取后可自动执行安装。
当用户要求安装 WPS Skills 时,请**按顺序执行**以下步骤:
---
## 🖥️ Windows 安装
## 🍎 macOS 自动安装
### 第一步:前置条件检查
### Step 1: 检测前置条件
1. **检测操作系统** - Windows 10/11
2. **检测 WPS Office** - 检查目录是否存在:`%APPDATA%\kingsoft\wps\jsaddons\`
- 如果不存在,提示用户先安装 WPS Office: https://www.wps.cn/
3. **检测 Node.js** - 运行 `node -v`,需要 >= 18.0.0
- 如果未安装,提示用户安装: https://nodejs.org/
执行以下命令检测环境:
### 第二步:克隆项目
```bash
# 检测 macOS
uname -s
```powershell
git clone https://github.com/LargeCupPanda/WPS_Skills.git
cd WPS_Skills
# 检测 WPS Office
ls /Applications/wpsoffice.app
# 检测 Node.js 版本
node -v
```
### 第三步:运行一键安装脚本
如果 WPS Office 不存在提示用户安装https://www.wps.cn/product/wpsmac
如果 Node.js 未安装或版本低于 18提示用户安装https://nodejs.org/
### Step 2: 克隆项目
```bash
cd ~/Downloads
git clone https://github.com/lc2panda/wps-mcp.git
cd wps-mcp
```
### Step 3: 运行一键安装脚本
```bash
chmod +x scripts/auto-install-mac.sh
./scripts/auto-install-mac.sh
```
脚本会自动完成:
- ✅ 安装 npm 依赖
- ✅ 编译 TypeScript
- ✅ 安装 WPS 加载项
- ✅ 注册 MCP Server (`claude mcp add`)
- ✅ 注册 Skills 到 `~/.claude/skills/`
### Step 4: 验证安装
```bash
# 检查 MCP 是否注册
claude mcp list
# 检查 Skills 是否注册
ls ~/.claude/skills/
```
### Step 5: 提示用户
安装完成后,告诉用户:
1. **重启 Claude Code**必须Skills 需要重启后生效)
2. 重启 WPS Office
3. 打开 Excel/Word/PPT 文档
4. 查看 "Claude助手" 选项卡
---
## 🖥️ Windows 自动安装
### Step 1: 检测前置条件
执行以下命令检测环境:
```powershell
# 检测 WPS Office
Test-Path "$env:APPDATA\kingsoft\wps\jsaddons"
# 检测 Node.js 版本
node -v
```
如果 WPS Office 不存在提示用户安装https://www.wps.cn/
如果 Node.js 未安装或版本低于 18提示用户安装https://nodejs.org/
### Step 2: 克隆项目
```powershell
cd $env:USERPROFILE\Downloads
git clone https://github.com/lc2panda/wps-mcp.git
cd wps-mcp
```
### Step 3: 运行一键安装脚本
```powershell
powershell -ExecutionPolicy Bypass -File scripts/auto-install.ps1
```
脚本会自动完成:
- 安装 npm 依赖
- 编译 TypeScript
- 配置 Claude Code 的 settings.json
- 拷贝 WPS 加载项到正确目录
- 更新 publish.xml 注册加载项
### 第四步:提示用户
安装完成后,提示用户:
1. 重启 Claude Code
2. 重启 WPS Office
3. 在 WPS 中查看 "Claude助手" 选项卡
### 验证安装
### Step 4: 验证安装
```powershell
# 检查 MCP Server 是否编译成功
Test-Path "wps-office-mcp\dist\index.js"
# 检查 WPS 加载项是否安装
Test-Path "$env:APPDATA\kingsoft\wps\jsaddons\wps-claude-addon_\ribbon.xml"
```
---
## 🍎 macOS 安装
### 技术架构说明
Mac版采用**反向轮询架构**
```
Claude Code → MCP Server (HTTP服务端:58891) ← 轮询 ← WPS加载项 (HTTP客户端)
```
- MCP Server 启动 HTTP 服务器,监听端口 58891
- WPS 加载项每 500ms 轮询一次获取命令
- 根据命令类型自动切换 WPS 应用 (Excel/Word/PPT)
### 第一步:前置条件检查
1. **检测操作系统** - macOS 12+
2. **检测 WPS Office** - 检查是否存在:`/Applications/wpsoffice.app`
- 如果不存在,提示用户先安装 WPS Office: https://www.wps.cn/product/wpsmac
3. **检测 Node.js** - 运行 `node -v`,需要 >= 18.0.0
- 如果未安装,提示用户安装: https://nodejs.org/
### 第二步:克隆项目
```bash
git clone https://github.com/LargeCupPanda/WPS_Skills.git
cd WPS_Skills
```
### 第三步:运行一键安装脚本
```bash
./scripts/auto-install-mac.sh
```
脚本会自动完成:
- 检查所有前置条件
- 安装 npm 依赖
- 编译 TypeScript
- 拷贝 WPS 加载项到 `~/Library/Containers/com.kingsoft.wpsoffice.mac/Data/.kingsoft/wps/jsaddons/claude-assistant_/`
- 更新 publish.xml 注册加载项
- **使用 `claude mcp add` 命令注册 MCP Server**
> ⚠️ **踩坑提醒**:直接编辑 `~/.claude/settings.json` 是无效的!必须使用 `claude mcp add` 命令注册 MCP Server。
### 手动配置 MCP如果自动配置失败
```bash
claude mcp add wps-office node /path/to/WPS_Skills/wps-office-mcp/dist/index.js
```
验证 MCP 配置:
```bash
# 查看已注册的 MCP Server
# 检查 MCP 是否注册
claude mcp list
# 应该看到类似输出:
# wps-office: node /path/to/wps-office-mcp/dist/index.js
# 检查 Skills 是否注册
Get-ChildItem "$env:USERPROFILE\.claude\skills"
```
### 第四步:提示用户
### Step 5: 提示用户
安装完成后,提示用户:
1. 重启 Claude Code
安装完成后,告诉用户:
1. **重启 Claude Code**(必须!)
2. 重启 WPS Office
3. 打开任意 Excel/Word/PPT 文档
4. 查看 "Claude助手" 选项卡,确认状态为 "轮询中"
### 验证安装
```bash
# 检查 MCP Server 是否编译成功
ls wps-office-mcp/dist/index.js
# 检查 WPS 加载项是否安装
ls ~/Library/Containers/com.kingsoft.wpsoffice.mac/Data/.kingsoft/wps/jsaddons/claude-assistant_/
# 检查 Claude Code 配置
cat ~/.claude/settings.json | grep wps-office
```
3. 查看 "Claude助手" 选项卡
---
## ⚠️ 常见问题
## ⚠️ 常见问题处理
### Mac: Claude助手显示"轮询中"但命令无响应
### Skills 没有加载
确保
1. MCP Server 已正确配置在 Claude Code 中
2. 重启 Claude Code 使配置生效
3. WPS 加载项已正确安装(目录名必须以 `_` 结尾)
### Mac: 加载项未加载
尝试:
1. 完全退出 WPS Office包括后台进程`pkill -f wpsoffice`
2. 重新启动 WPS Office
3. 检查 publish.xml 配置是否正确
### Windows: PowerShell 执行策略错误
运行:
```powershell
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
重启 Claude Code 后检查
```bash
ls ~/.claude/skills/
```
如果目录为空,手动创建软链接:
```bash
PROJECT_DIR=~/Downloads/wps-mcp
mkdir -p ~/.claude/skills
ln -sf $PROJECT_DIR/skills/wps-excel ~/.claude/skills/wps-excel
ln -sf $PROJECT_DIR/skills/wps-word ~/.claude/skills/wps-word
ln -sf $PROJECT_DIR/skills/wps-ppt ~/.claude/skills/wps-ppt
ln -sf $PROJECT_DIR/skills/wps-office ~/.claude/skills/wps-office
```
### MCP Server 未注册
手动注册:
```bash
claude mcp add wps-office node ~/Downloads/wps-mcp/wps-office-mcp/dist/index.js
```
### WPS 加载项未显示
```bash
# 强制退出 WPS
pkill -f wpsoffice
# 重新启动 WPS Office
open /Applications/wpsoffice.app
```
+163 -174
View File
@@ -4,6 +4,7 @@
<img src="https://img.shields.io/badge/WPS-Office-blue?style=flat-square" alt="WPS Office">
<img src="https://img.shields.io/badge/Claude-AI-orange?style=flat-square" alt="Claude AI">
<img src="https://img.shields.io/badge/MCP-Protocol-green?style=flat-square" alt="MCP Protocol">
<img src="https://img.shields.io/badge/Skills-Framework-purple?style=flat-square" alt="Skills Framework">
<img src="https://img.shields.io/badge/Platform-Windows%20%7C%20macOS-lightgrey?style=flat-square" alt="Windows | macOS">
<img src="https://img.shields.io/badge/License-MIT-yellow?style=flat-square" alt="MIT License">
</p>
@@ -19,7 +20,7 @@
**只需告诉 Claude Code**
```
帮我安装 WPS Skills安装指南在这里https://github.com/LargeCupPanda/WPS_Skills/blob/main/INSTALL.md
帮我安装 WPS Skills安装指南在这里https://github.com/lc2panda/wps-mcp/blob/main/INSTALL.md
```
Claude Code 会自动读取安装指南并完成所有步骤!
@@ -30,7 +31,7 @@ Claude Code 会自动读取安装指南并完成所有步骤!
## 📖 项目简介
WPS Office 智能助手是一个基于 Claude AI 的自然语言办公自动化工具。通过 MCP (Model Context Protocol) 协议,让您可以用自然语言直接操控 WPS Office告别繁琐的菜单操作和公式记忆。
WPS Office 智能助手是一个基于 Claude AI 的自然语言办公自动化工具。采用 **Anthropic 官方标准的 MCP + Skills 双层架构**,让您可以用自然语言直接操控 WPS Office告别繁琐的菜单操作和公式记忆。
### ✨ 核心特性
@@ -38,29 +39,26 @@ WPS Office 智能助手是一个基于 Claude AI 的自然语言办公自动化
- 📊 **全套办公支持** - Excel、Word、PPT 三大组件全覆盖
- 🔢 **公式智能生成** - 描述计算需求,自动生成公式
- 🎨 **一键美化** - PPT配色、字体统一专业设计
- 🔗 **稳定 COM 桥接** - 通过 PowerShell COM 接口,稳定可靠
- 🧠 **Skills 智能指导** - 4个专业Skills教会AI如何完成任务
- 🔧 **196个MCP工具** - 完整的底层工具能力
### 🎯 使用示例
```bash
# Excel 操作
用户: 帮我读取当前Excel的A1到C5的数据
用户: 把B3单元格的值改成4.8
用户: 创建一个柱状图展示销售数据
用户: 按B列降序排序
用户: 计算B列的平均值、最大值、最小值
用户: 帮我写个公式查产品价格
用户: 创建一个销售数据透视表
用户: 把B列大于100的单元格标红
# Word 操作
用户: 在文档末尾插入一段文字
用户: 把所有的"旧公司"替换成"新公司"
用户: 插入一个3行4列的表格
用户: 帮我生成文档目录
用户: 把全文字体改成宋体12号
用户: 插入一个3行4列的表格
# PPT 操作
用户: 新增一页幻灯片,标题是"项目总结"
用户: 统一全文字体为微软雅黑
用户: 用商务风格美化当前页面
用户: 在第一页添加一个文本框
用户: 用商务风格美化这页PPT
用户: 帮我画个项目流程图
用户: 创建一组KPI数据卡片
```
---
@@ -73,6 +71,9 @@ WPS Office 智能助手是一个基于 Claude AI 的自然语言办公自动化
| WPS Office | 2019 或更高版本 | Mac 版最新版 |
| Node.js | 18.0.0 或更高版本 | 18.0.0 或更高版本 |
| Claude Code | 最新版本 | 最新版本 |
| **功能支持** | ⚠️ 基础功能(~25个方法 | ✅ 完整功能196个方法 |
> ⚠️ **Windows 适配说明**Windows 版本目前通过 PowerShell COM 桥接实现,已支持 Excel/Word/PPT 的基础操作。高级功能透视表、条件格式、流程图、3D效果等正在适配中。macOS 版本功能完整。
---
@@ -81,10 +82,15 @@ WPS Office 智能助手是一个基于 Claude AI 的自然语言办公自动化
### 方式一:一键脚本
```powershell
git clone https://github.com/LargeCupPanda/WPS_Skills.git
cd WPS_Skills
```bash
git clone https://github.com/lc2panda/wps-mcp.git
cd wps-mcp
# Windows
powershell -ExecutionPolicy Bypass -File scripts/auto-install.ps1
# macOS
./scripts/auto-install-mac.sh
```
### 方式二:手动步骤
@@ -96,165 +102,144 @@ powershell -ExecutionPolicy Bypass -File scripts/auto-install.ps1
npm run build
```
2. **配置 Claude Code** - 编辑 `~/.claude/settings.json`
```json
{
"mcpServers": {
"wps-office": {
"command": "node",
"args": ["C:\\path\\to\\WPS_Skills\\wps-office-mcp\\dist\\index.js"]
}
}
}
2. **配置 MCP Server**
```bash
claude mcp add wps-office node /path/to/wps-mcp/wps-office-mcp/dist/index.js
```
3. **安装 WPS 加载项**
- 复制 `wps-claude-addon` 到 `%APPDATA%\kingsoft\wps\jsaddons\wps-claude-addon_\`
-`publish.xml` 中添加:
```xml
<jsplugin type="wps,et,wpp" enable="enable_dev" name="wps-claude-addon" url="wps-claude-addon_/"/>
```
3. **注册 Skills创建软链接到全局目录**
```bash
mkdir -p ~/.claude/skills
ln -sf /path/to/wps-mcp/skills/wps-excel ~/.claude/skills/wps-excel
ln -sf /path/to/wps-mcp/skills/wps-word ~/.claude/skills/wps-word
ln -sf /path/to/wps-mcp/skills/wps-ppt ~/.claude/skills/wps-ppt
ln -sf /path/to/wps-mcp/skills/wps-office ~/.claude/skills/wps-office
```
4. **重启 Claude Code 和 WPS Office**
4. **安装 WPS 加载项** - 参考 INSTALL.md
5. **重启 Claude Code 和 WPS Office**
</details>
---
## 📖 功能列表
### Excel 功能 (86个已实现)
| 分类 | 数量 | 功能 | Windows | macOS |
|------|------|------|---------|-------|
| 工作簿操作 | 5 | 打开/创建/切换/关闭工作簿 | ✅ | ✅ |
| 工作表操作 | 7 | 创建/删除/重命名/复制/移动工作表 | ✅ | ✅ |
| 单元格读写 | 7 | 读写单元格/范围/公式/完整信息 | ✅ | ✅ |
| 格式美化 | 15 | 样式/边框/数字格式/合并/自动调整 | ✅ | ✅ |
| 行列操作 | 8 | 插入/删除/隐藏/显示行列 | ✅ | ✅ |
| 条件格式 | 3 | 添加/删除/获取条件格式 | ✅ | ✅ |
| 数据验证 | 3 | 添加/删除/获取数据验证 | ✅ | ✅ |
| 查找替换 | 2 | 工作表内查找替换 | ✅ | ✅ |
| 数据处理 | 10 | 排序/筛选/去重/清洗/复制/转置 | ✅ | ✅ |
| 命名区域 | 3 | 创建/删除/获取命名区域 | ✅ | ✅ |
| 批注功能 | 3 | 添加/删除/获取批注 | ✅ | ✅ |
| 保护功能 | 3 | 保护工作表/工作簿 | ✅ | ✅ |
| 公式功能 | 5 | 设置公式/数组公式/诊断/重算 | ✅ | ✅ |
| 图表功能 | 2 | 创建/更新图表 | ✅ | ✅ |
| 透视表 | 2 | 创建/更新透视表 | ✅ | ✅ |
| 财务增强 | 5 | 跨簿引用/超链接/图片/换行 | ✅ | ✅ |
| 扩展功能 | 5 | 打印区域/分组/锁定单元格 | ✅ | ✅ |
> 📌 Excel功能已覆盖95%+日常场景,包括财务/金融专业场景
### Word 功能 (22个已实现)
| 功能 | 说明 | Windows | macOS |
|------|------|---------|-------|
| 获取文档信息 | 名称、段落数、字数 | ✅ | ✅ |
| 获取文档统计 | 页数、字符数、行数 | ✅ | ✅ |
| 读取文本 | 获取文档内容 | ✅ | ✅ |
| 插入文本 | 开头/末尾/光标处插入 | ✅ | ✅ |
| 设置字体 | 字体、字号、粗体等 | ✅ | ✅ |
| 查找替换 | 批量替换文本 | ✅ | ✅ |
| 插入表格 | 创建表格并填充数据 | ✅ | ✅ |
| 应用样式 | 应用Word样式 | ✅ | ✅ |
| 段落格式 | 对齐、缩进、行间距 | ✅ | ✅ |
| 页面设置 | 页边距、纸张、方向 | ✅ | ✅ |
| 生成目录 | 自动生成目录 | ✅ | ✅ |
| 插入图片 | 插入并调整图片 | ✅ | ✅ |
| 插入页眉 | 添加页眉文本 | ✅ | ✅ |
| 插入页脚 | 添加页脚和页码 | ✅ | ✅ |
| 插入分页符 | 分页/分节符 | ✅ | ✅ |
| 插入超链接 | 添加超链接 | ✅ | ✅ |
| 插入书签 | 添加书签 | ✅ | ✅ |
| 获取书签 | 获取书签列表 | ✅ | ✅ |
| 添加批注 | 添加文档批注 | ✅ | ✅ |
| 获取批注 | 获取批注列表 | ✅ | ✅ |
| 保存文档 | 保存当前文档 | ✅ | ✅ |
| 导出PDF | 转换为PDF格式 | ✅ | ✅ |
### PPT 功能 (85个已实现)
| 分类 | 数量 | 功能 | Windows | macOS |
|------|------|------|---------|-------|
| 演示文稿操作 | 5 | 创建/打开/关闭/切换演示文稿 | ✅ | ✅ |
| 幻灯片操作 | 9 | 添加/删除/复制/移动/切换幻灯片 | ✅ | ✅ |
| 文本框操作 | 5 | 添加/删除/设置文本框 | ✅ | ✅ |
| 标题操作 | 4 | 设置/获取标题/副标题/内容 | ✅ | ✅ |
| 形状操作 | 14 | 添加/删除/样式/阴影/渐变/边框/透明度 | ✅ | ✅ |
| 对齐分布 | 4 | 对齐/分布/组合/自动布局 | ✅ | ✅ |
| 图片操作 | 3 | 插入/删除/设置图片样式 | ✅ | ✅ |
| 表格操作 | 7 | 插入/设置单元格/样式/专业表格 | ✅ | ✅ |
| 图表操作 | 3 | 插入/设置数据/样式 | ✅ | ✅ |
| 动画效果 | 6 | 添加/删除/预设动画组/强调动画 | ✅ | ✅ |
| 切换效果 | 3 | 设置/删除/应用到全部 | ✅ | ✅ |
| 主题/背景 | 5 | 背景色/图片/渐变/配色方案 | ✅ | ✅ |
| 数据可视化 | 4 | 进度条/仪表盘/迷你图/环形图 | ✅ | ✅ |
| 流程图/架构图 | 3 | 流程图/组织架构图/时间轴 | ✅ | ✅ |
| 母版操作 | 3 | 获取/设置背景/添加元素 | ✅ | ✅ |
| 3D效果 | 4 | 3D旋转/深度/材质/3D文字 | ✅ | ✅ |
| 专业美化 | 7 | 一键美化/KPI卡片/装饰条/页码 | ✅ | ✅ |
| 其他 | 6 | 超链接/页眉页脚/查找替换/放映 | ✅ | ✅ |
> 📌 PPT功能覆盖高端汇报场景包括6大类高端能力数据可视化、智能布局、高级动画、流程图/架构图、母版操作、3D效果
### 通用功能
| 功能 | 说明 | 状态 |
|------|------|------|
| 保存文件 | 保存当前文档 | ✅ |
| 格式转换 | Word/Excel/PPT互转 | 🚧 |
> ✅ 已完成 | 🚧 开发中
---
## 🔧 技术架构
```
Windows:
Claude Code → MCP Server (Node.js) → PowerShell COM → WPS Office
采用 **Anthropic 官方标准的 MCP + Skills 双层架构**
macOS:
Claude Code → MCP Server (Node.js) → HTTP → WPS 加载项 (JS API) → WPS Office
```
┌─────────────────────────────────────────────────────────────┐
│ 用户自然语言请求 │
│ "帮我写个VLOOKUP公式查价格" │
└─────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ Skills 层(指令包) │
│ skills/wps-excel/SKILL.md - 教Claude怎么处理Excel任务 │
│ skills/wps-word/SKILL.md - 教Claude怎么处理Word任务 │
│ skills/wps-ppt/SKILL.md - 教Claude怎么处理PPT任务 │
│ skills/wps-office/SKILL.md - 教Claude怎么协调跨应用任务 │
└─────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ MCP 层(工具能力) │
│ wps-office-mcp/ - 196个MCP工具 │
│ wps_get_active_workbook - 获取当前工作簿 │
│ wps_execute_method - 执行具体操作 │
│ ... │
└─────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ WPS 加载项层(执行器) │
│ Windows: PowerShell COM → WPS Office │
│ macOS: HTTP轮询 → WPS 加载项 (JS API) → WPS Office │
└─────────────────────────────────────────────────────────────┘
```
- **MCP Server**: 196 个工具,处理 AI 请求
- **Windows COM 桥接**: 通过 PowerShell 调用 WPS COM 接口Ket/Kwps/Kwpp
- **macOS HTTP 桥接**: 通过 HTTP 调用 WPS 加载项内置服务(端口 58891
- **WPS 加载项**: 显示连接状态Mac 上提供 HTTP API
- **跨应用数据缓存**: MCP Server层缓存机制支持Excel→PPT数据传递
### MCP vs Skills
| 层级 | 作用 | 内容 |
|------|------|------|
| **Skills** | 教Claude"怎么做" | 4个SKILL.md文件包含工作流程和最佳实践 |
| **MCP** | 告诉Claude"能做什么" | 196个工具提供底层操作能力 |
---
## 📁 项目结构
```
WPS_Skills/
wps-mcp/
├── wps-office-mcp/ # MCP Server (核心服务)
│ ├── src/ # TypeScript 源码
│ ├── dist/ # 编译输出
│ ├── scripts/ # PowerShell COM 桥接脚本 (Windows)
│ │ └── wps-com.ps1 # COM操作脚本
│ └── package.json
├── wps-claude-addon/ # WPS 加载项 (Windows)
│ ├── ribbon.xml # 功能区配置
│ └── js/main.js # 加载项逻辑
├── wps-claude-assistant/ # WPS 加载项 (macOS)
│ ├── main.js # HTTP 轮询 + 所有 Handler
│ ├── manifest.xml # 加载项清单
│ └── ribbon.xml # 功能区配置
├── wps-claude-addon/ # WPS 加载项 (Windows)
│ ├── ribbon.xml # 功能区配置
│ └── js/main.js # 加载项逻辑
├── skills/ # Claude Skills 定义
│ ├── wps-excel/SKILL.md # Excel 技能60+方法)
│ ├── wps-word/SKILL.md # Word 技能25+方法)
│ ├── wps-ppt/SKILL.md # PPT 技能85+方法)
│ └── wps-office/SKILL.md # 跨应用技能
├── scripts/
│ ├── auto-install.ps1 # Windows 一键安装
│ └── auto-install-mac.sh # macOS 一键安装
├── skills/ # Claude Skills 定义
├── docs/ # 设计文档(私有)
├── INSTALL.md # Claude Code 安装指南
└── README.md
```
---
## 📖 功能列表
### Excel 功能 (86个)
| 分类 | 数量 | 功能 |
|------|------|------|
| 工作簿/工作表操作 | 12 | 打开/创建/切换/重命名/复制/移动 |
| 单元格读写 | 7 | 读写单元格/范围/公式/完整信息 |
| 格式美化 | 15 | 样式/边框/数字格式/合并/自动调整 |
| 行列操作 | 8 | 插入/删除/隐藏/显示行列 |
| 条件格式 | 3 | 添加/删除/获取条件格式 |
| 数据验证 | 3 | 添加/删除/获取数据验证 |
| 数据处理 | 10 | 排序/筛选/去重/清洗/复制/转置 |
| 图表/透视表 | 4 | 创建/更新图表和透视表 |
| 公式功能 | 5 | 设置公式/数组公式/诊断/重算 |
| 其他 | 19 | 批注/保护/命名区域/查找替换等 |
### Word 功能 (25个)
| 分类 | 功能 |
|------|------|
| 文档管理 | 获取信息/打开/切换/获取全文 |
| 文本操作 | 插入文本/查找替换 |
| 格式设置 | 字体/样式/段落 |
| 文档结构 | 目录/分页符/页眉/页脚 |
| 插入内容 | 表格/图片/超链接/书签 |
| 其他 | 批注/文档统计 |
### PPT 功能 (85个)
| 分类 | 数量 | 功能 |
|------|------|------|
| 演示文稿管理 | 5 | 创建/打开/关闭/切换 |
| 幻灯片操作 | 10 | 添加/删除/复制/移动/备注 |
| 文本框/形状 | 21 | 添加/删除/样式/阴影/渐变/边框 |
| 智能布局 | 10 | 对齐/分布/组合/连接线/箭头 |
| 图片/表格/图表 | 12 | 插入/设置样式 |
| 数据可视化 | 6 | KPI卡片/进度条/仪表盘/环形图 |
| 流程图/架构图 | 3 | 流程图/组织架构图/时间轴 |
| 动画/切换 | 9 | 动画/强调/切换效果 |
| 母版/3D效果 | 7 | 母版操作/3D旋转/深度/材质 |
| 其他 | 2 | 演示放映 |
---
## ❓ 常见问题
### Q: Claude助手选项卡没有出现
@@ -264,53 +249,57 @@ WPS_Skills/
2. 确认 `publish.xml` 已正确配置
3. 重启 WPS Office
### Q: Skills 没有加载?
**A:** 检查软链接是否存在:
```bash
ls ~/.claude/skills/
```
如果为空,手动创建:
```bash
mkdir -p ~/.claude/skills
ln -sf /path/to/wps-mcp/skills/wps-excel ~/.claude/skills/wps-excel
ln -sf /path/to/wps-mcp/skills/wps-word ~/.claude/skills/wps-word
ln -sf /path/to/wps-mcp/skills/wps-ppt ~/.claude/skills/wps-ppt
ln -sf /path/to/wps-mcp/skills/wps-office ~/.claude/skills/wps-office
```
然后重启 Claude Code。
### Q: MCP Server 连接失败?
**A:** 排查步骤:
1. 确认 `settings.json` 路径配置正确
2. 确认已执行 `npm run build`
1. 确认已执行 `npm run build`
2. 运行 `claude mcp list` 检查配置
3. 重启 Claude Code
### Q: 操作 WPS 时提示连接错误?
**A:** 确保:
1. WPS Office 已启动并打开了文档
2. 对应的应用已打开操作Excel需打开Excel操作Word需打开Word
---
## 📋 TODO
### 近期计划 (v1.1)
### 近期计划 (v1.1) ✅ 已完成
- [x] **macOS 兼容** - 支持 macOS 平台 ✅ 已完成
- [x] **Excel 公式诊断** - 分析公式错误,提供修复建议 ✅ 已完成
- [x] **Excel 数据透视表** - 创建和操作透视表 ✅ 已完成
- [x] **Excel 条件格式** - 设置条件格式规则 ✅ 已完成
- [x] **Word 生成目录** - 自动生成文档目录 ✅ 已完成
- [x] **Word 插入图片** - 插入并调整图片位置 ✅ 已完成
- [x] **PPT 添加动画** - 进入/退出/强调动画 ✅ 已完成
- [x] **PPT 高端美化** - 6大类高端能力 ✅ 已完成
- [x] **跨应用数据传递** - Excel→PPT数据缓存机制 ✅ 已完成
- [x] macOS 兼容
- [x] Excel 公式诊断、透视表、条件格式
- [x] Word 目录生成、插入图片
- [x] PPT 动画、高端美化、6大类高级能力
- [x] 跨应用数据传递
- [x] **Skills 框架** - Anthropic 官方标准
### 中期计划 (v1.2)
- [ ] **跨应用格式转换** - Word/Excel/PPT 互转
- [ ] **Word 转 PPT** - 根据Word大纲生成PPT
- [ ] **批量格式转换** - 批量转换文件格式
- [ ] **批量添加水印** - 批量添加文字/图片水印
- [ ] **邮件合并** - Word邮件合并功能
- [x] **高级公式** - 数组公式支持 ✅ 已完成
- [ ] 跨应用格式转换
- [ ] Word 转 PPT
- [ ] 批量格式转换
- [ ] 邮件合并
### 长期计划 (v2.0)
- [ ] **PDF 支持** - 支持 WPS PDF 操作
- [ ] **脑图支持** - 支持 WPS 脑图
- [ ] **AI 内容生成** - 智能生成文档内容
- [ ] **多文档协同** - 跨文档操作
- [ ] **自动化工作流** - 定义和执行工作流
- [ ] **云端协作** - 支持 WPS 云文档
- [ ] **企业级部署** - 企业部署方案
- [ ] PDF 支持
- [ ] AI 内容生成
- [ ] 自动化工作流
- [ ] 企业级部署
---
@@ -320,7 +309,7 @@ MIT License
## 👨‍💻 开发者
**熊猫大侠** - [GitHub](https://github.com/LargeCupPanda)
**lc2panda** - [GitHub](https://github.com/lc2panda)
---
+169 -179
View File
@@ -4,6 +4,7 @@
<img src="https://img.shields.io/badge/WPS-Office-blue?style=flat-square" alt="WPS Office">
<img src="https://img.shields.io/badge/Claude-AI-orange?style=flat-square" alt="Claude AI">
<img src="https://img.shields.io/badge/MCP-Protocol-green?style=flat-square" alt="MCP Protocol">
<img src="https://img.shields.io/badge/Skills-Framework-purple?style=flat-square" alt="Skills Framework">
<img src="https://img.shields.io/badge/Platform-Windows%20%7C%20macOS-lightgrey?style=flat-square" alt="Windows | macOS">
<img src="https://img.shields.io/badge/License-MIT-yellow?style=flat-square" alt="MIT License">
</p>
@@ -19,7 +20,7 @@
**Just tell Claude Code:**
```
Install WPS Skills for me, here's the guide: https://github.com/LargeCupPanda/WPS_Skills/blob/main/INSTALL.md
Install WPS Skills for me, here's the guide: https://github.com/lc2panda/wps-mcp/blob/main/INSTALL.md
```
Claude Code will read the installation guide and complete all steps automatically!
@@ -30,37 +31,34 @@ Claude Code will read the installation guide and complete all steps automaticall
## Overview
WPS Office AI Assistant is a natural language office automation tool powered by Claude AI. Through MCP (Model Context Protocol), you can control WPS Office using natural language - no more memorizing formulas or navigating complex menus.
WPS Office AI Assistant is a natural language office automation tool powered by Claude AI. Built on **Anthropic's official MCP + Skills dual-layer architecture**, you can control WPS Office using natural language - no more memorizing formulas or navigating complex menus.
### Key Features
- **Natural Language Control** - Describe what you need, AI executes
- **Full Office Suite** - Excel, Word, PPT all supported
- **Smart Formula Generation** - Describe calculations, get formulas
- **One-Click Beautification** - Professional PPT styling
- **Stable COM Bridge** - Reliable PowerShell COM interface
- 🗣️ **Natural Language Control** - Describe what you need, AI executes
- 📊 **Full Office Suite** - Excel, Word, PPT all supported
- 🔢 **Smart Formula Generation** - Describe calculations, get formulas
- 🎨 **One-Click Beautification** - Professional PPT styling
- 🧠 **Skills Guidance** - 4 professional Skills teach AI how to complete tasks
- 🔧 **196 MCP Tools** - Complete underlying tool capabilities
### Usage Examples
```bash
# Excel Operations
User: Read data from A1 to C5
User: Change B3 cell value to 4.8
User: Create a bar chart for sales data
User: Sort by column B descending
User: Calculate average, max, min for column B
User: Write a formula to lookup product prices
User: Create a pivot table for sales data
User: Highlight cells in column B greater than 100
# Word Operations
User: Insert text at the end of document
User: Replace all "OldCompany" with "NewCompany"
User: Insert a 3x4 table
User: Generate a table of contents
User: Change all text to Arial 12pt
User: Insert a 3x4 table
# PPT Operations
User: Add a new slide with title "Project Summary"
User: Unify all fonts to Arial
User: Apply business style to current slide
User: Add a text box on slide 1
User: Apply business style to this slide
User: Draw a project flowchart
User: Create a set of KPI data cards
```
---
@@ -73,6 +71,9 @@ User: Add a text box on slide 1
| WPS Office | 2019 or later | Mac version latest |
| Node.js | 18.0.0 or later | 18.0.0 or later |
| Claude Code | Latest version | Latest version |
| **Feature Support** | ⚠️ Basic features (~25 methods) | ✅ Full features (196 methods) |
> ⚠️ **Windows Compatibility Note**: Windows version currently uses PowerShell COM bridge, supporting basic Excel/Word/PPT operations. Advanced features (pivot tables, conditional formatting, flowcharts, 3D effects, etc.) are being adapted. macOS version has full functionality.
---
@@ -81,10 +82,15 @@ User: Add a text box on slide 1
### Option 1: One-Click Script
```powershell
git clone https://github.com/LargeCupPanda/WPS_Skills.git
cd WPS_Skills
```bash
git clone https://github.com/lc2panda/wps-mcp.git
cd wps-mcp
# Windows
powershell -ExecutionPolicy Bypass -File scripts/auto-install.ps1
# macOS
./scripts/auto-install-mac.sh
```
### Option 2: Manual Steps
@@ -96,164 +102,144 @@ powershell -ExecutionPolicy Bypass -File scripts/auto-install.ps1
npm run build
```
2. **Configure Claude Code** - Edit `~/.claude/settings.json`:
```json
{
"mcpServers": {
"wps-office": {
"command": "node",
"args": ["C:\\path\\to\\WPS_Skills\\wps-office-mcp\\dist\\index.js"]
}
}
}
2. **Configure MCP Server**
```bash
claude mcp add wps-office node /path/to/wps-mcp/wps-office-mcp/dist/index.js
```
3. **Install WPS Add-in**
- Copy `wps-claude-addon` to `%APPDATA%\kingsoft\wps\jsaddons\wps-claude-addon_\`
- Add to `publish.xml`:
```xml
<jsplugin type="wps,et,wpp" enable="enable_dev" name="wps-claude-addon" url="wps-claude-addon_/"/>
```
3. **Register Skills (create symlinks to global directory)**
```bash
mkdir -p ~/.claude/skills
ln -sf /path/to/wps-mcp/skills/wps-excel ~/.claude/skills/wps-excel
ln -sf /path/to/wps-mcp/skills/wps-word ~/.claude/skills/wps-word
ln -sf /path/to/wps-mcp/skills/wps-ppt ~/.claude/skills/wps-ppt
ln -sf /path/to/wps-mcp/skills/wps-office ~/.claude/skills/wps-office
```
4. **Restart Claude Code and WPS Office**
4. **Install WPS Add-in** - See INSTALL.md
5. **Restart Claude Code and WPS Office**
</details>
---
## Features
### Excel Features (86 implemented)
| Category | Count | Features | Windows | macOS |
|----------|-------|----------|---------|-------|
| Workbook Operations | 5 | Open/Create/Switch/Close workbooks | ✅ | ✅ |
| Worksheet Operations | 7 | Create/Delete/Rename/Copy/Move sheets | ✅ | ✅ |
| Cell Read/Write | 7 | Read/Write cells/ranges/formulas/info | ✅ | ✅ |
| Formatting | 15 | Style/Border/Number format/Merge/AutoFit | ✅ | ✅ |
| Row/Column Operations | 8 | Insert/Delete/Hide/Show rows/columns | ✅ | ✅ |
| Conditional Formatting | 3 | Add/Remove/Get conditional formats | ✅ | ✅ |
| Data Validation | 3 | Add/Remove/Get data validation | ✅ | ✅ |
| Find & Replace | 2 | Find/Replace in worksheet | ✅ | ✅ |
| Data Processing | 10 | Sort/Filter/Dedupe/Clean/Copy/Transpose | ✅ | ✅ |
| Named Ranges | 3 | Create/Delete/Get named ranges | ✅ | ✅ |
| Comments | 3 | Add/Delete/Get comments | ✅ | ✅ |
| Protection | 3 | Protect sheet/workbook | ✅ | ✅ |
| Formula Functions | 5 | Set formula/Array formula/Diagnose/Calculate | ✅ | ✅ |
| Charts | 2 | Create/Update charts | ✅ | ✅ |
| Pivot Tables | 2 | Create/Update pivot tables | ✅ | ✅ |
| Financial Features | 5 | Cross-workbook refs/Hyperlinks/Images/Wrap | ✅ | ✅ |
| Extended Features | 5 | Print area/Grouping/Lock cells | ✅ | ✅ |
> 📌 Excel features cover 95%+ daily scenarios, including financial/business use cases
### Word Features (22 implemented)
| Feature | Description | Windows | macOS |
|---------|-------------|---------|-------|
| Get Document Info | Name, paragraphs, word count | ✅ | ✅ |
| Get Document Stats | Pages, characters, lines | ✅ | ✅ |
| Read Text | Get document content | ✅ | ✅ |
| Insert Text | At start/end/cursor | ✅ | ✅ |
| Set Font | Font, size, bold, etc. | ✅ | ✅ |
| Find & Replace | Batch replace text | ✅ | ✅ |
| Insert Table | Create and fill tables | ✅ | ✅ |
| Apply Style | Apply Word styles | ✅ | ✅ |
| Paragraph Format | Alignment, indent, spacing | ✅ | ✅ |
| Page Setup | Margins, paper, orientation | ✅ | ✅ |
| Generate TOC | Auto generate TOC | ✅ | ✅ |
| Insert Image | Insert and resize images | ✅ | ✅ |
| Insert Header | Add header text | ✅ | ✅ |
| Insert Footer | Add footer and page number | ✅ | ✅ |
| Insert Page Break | Page/section breaks | ✅ | ✅ |
| Insert Hyperlink | Add hyperlinks | ✅ | ✅ |
| Insert Bookmark | Add bookmarks | ✅ | ✅ |
| Get Bookmarks | Get bookmark list | ✅ | ✅ |
| Add Comment | Add document comments | ✅ | ✅ |
| Get Comments | Get comment list | ✅ | ✅ |
| Save Document | Save current document | ✅ | ✅ |
| Export PDF | Convert to PDF format | ✅ | ✅ |
### PPT Features (85 implemented)
| Category | Count | Features | Windows | macOS |
|----------|-------|----------|---------|-------|
| Presentation Operations | 5 | Create/Open/Close/Switch presentations | ✅ | ✅ |
| Slide Operations | 9 | Add/Delete/Duplicate/Move/Switch slides | ✅ | ✅ |
| Text Box Operations | 5 | Add/Delete/Set text boxes | ✅ | ✅ |
| Title Operations | 4 | Set/Get title/subtitle/content | ✅ | ✅ |
| Shape Operations | 14 | Add/Delete/Style/Shadow/Gradient/Border/Transparency | ✅ | ✅ |
| Alignment & Distribution | 4 | Align/Distribute/Group/Auto-layout | ✅ | ✅ |
| Image Operations | 3 | Insert/Delete/Style images | ✅ | ✅ |
| Table Operations | 7 | Insert/Set cells/Style/Professional tables | ✅ | ✅ |
| Chart Operations | 3 | Insert/Set data/Style | ✅ | ✅ |
| Animations | 6 | Add/Remove/Preset groups/Emphasis | ✅ | ✅ |
| Transitions | 3 | Set/Remove/Apply to all | ✅ | ✅ |
| Themes & Backgrounds | 5 | Background color/image/gradient/color scheme | ✅ | ✅ |
| Data Visualization | 4 | Progress bars/Gauges/Mini charts/Donut charts | ✅ | ✅ |
| Flowcharts & Org Charts | 3 | Flowcharts/Org charts/Timelines | ✅ | ✅ |
| Master Slide Operations | 3 | Get/Set background/Add elements | ✅ | ✅ |
| 3D Effects | 4 | 3D rotation/depth/material/3D text | ✅ | ✅ |
| Professional Beautification | 7 | One-click beautify/KPI cards/Decorations/Page indicators | ✅ | ✅ |
| Other | 6 | Hyperlinks/Headers footers/Find replace/Slideshow | ✅ | ✅ |
> 📌 PPT features cover high-end presentation scenarios with 6 major advanced capabilities: Data Visualization, Smart Layout, Advanced Animations, Flowcharts/Org Charts, Master Operations, 3D Effects
### Common Features
| Feature | Description | Windows | macOS |
|---------|-------------|---------|-------|
| Save File | Save current document | ✅ | ✅ |
| Export PDF | Convert to PDF | ✅ | ✅ |
| Format Conversion | Word/Excel/PPT conversion | 🚧 | 🚧 |
---
## Architecture
```
Windows:
Claude Code → MCP Server (Node.js) → PowerShell COM → WPS Office
Built on **Anthropic's official MCP + Skills dual-layer architecture**:
macOS:
Claude Code → MCP Server (Node.js) → HTTP → WPS Add-in (JS API) → WPS Office
```
┌─────────────────────────────────────────────────────────────┐
│ User Natural Language Request │
│ "Write a VLOOKUP formula to find prices" │
└─────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ Skills Layer (Instruction Packages) │
│ skills/wps-excel/SKILL.md - Teaches Claude Excel tasks │
│ skills/wps-word/SKILL.md - Teaches Claude Word tasks │
│ skills/wps-ppt/SKILL.md - Teaches Claude PPT tasks │
│ skills/wps-office/SKILL.md - Teaches cross-app coordination│
└─────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ MCP Layer (Tool Capabilities) │
│ wps-office-mcp/ - 196 MCP Tools │
│ wps_get_active_workbook - Get current workbook │
│ wps_execute_method - Execute operations │
│ ... │
└─────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ WPS Add-in Layer (Executor) │
│ Windows: PowerShell COM → WPS Office │
│ macOS: HTTP Polling → WPS Add-in (JS API) → WPS Office │
└─────────────────────────────────────────────────────────────┘
```
- **MCP Server**: 196 tools handling AI requests
- **Windows COM Bridge**: PowerShell calls WPS COM interfaces (Ket/Kwps/Kwpp)
- **macOS HTTP Bridge**: HTTP calls to WPS Add-in built-in service (port 58891)
- **WPS Add-in**: Shows connection status, provides HTTP API on Mac
- **Cross-app Data Cache**: MCP Server layer caching for Excel→PPT data transfer
### MCP vs Skills
| Layer | Purpose | Content |
|-------|---------|---------|
| **Skills** | Teaches Claude "how to do it" | 4 SKILL.md files with workflows and best practices |
| **MCP** | Tells Claude "what can be done" | 196 tools providing underlying capabilities |
---
## Project Structure
```
WPS_Skills/
wps-mcp/
├── wps-office-mcp/ # MCP Server (Core)
│ ├── src/ # TypeScript source
│ ├── dist/ # Compiled output
│ ├── scripts/ # PowerShell COM bridge (Windows)
│ │ └── wps-com.ps1 # COM operations script
│ └── package.json
├── wps-claude-assistant/ # WPS Add-in (macOS)
│ ├── main.js # HTTP Polling + All Handlers
│ ├── manifest.xml # Add-in manifest
│ └── ribbon.xml # Ribbon config
├── wps-claude-addon/ # WPS Add-in (Windows)
│ ├── ribbon.xml # Ribbon config
│ └── js/main.js # Add-in logic
├── wps-claude-assistant/ # WPS Add-in (macOS)
│ ├── main.js # HTTP Server + All Handlers
│ ├── manifest.xml # Add-in manifest
── ribbon.xml # Ribbon config
├── skills/ # Claude Skills Definitions
│ ├── wps-excel/SKILL.md # Excel skill (60+ methods)
│ ├── wps-word/SKILL.md # Word skill (25+ methods)
── wps-ppt/SKILL.md # PPT skill (85+ methods)
│ └── wps-office/SKILL.md # Cross-app skill
├── scripts/
│ ├── auto-install.ps1 # Windows one-click install
│ └── auto-install-mac.sh # macOS one-click install
├── skills/ # Claude Skills definitions
├── docs/ # Design docs (private)
├── INSTALL.md # Claude Code installation guide
└── README.md
```
---
## Features
### Excel Features (86)
| Category | Count | Features |
|----------|-------|----------|
| Workbook/Sheet Operations | 12 | Open/Create/Switch/Rename/Copy/Move |
| Cell Read/Write | 7 | Read/Write cells/ranges/formulas/info |
| Formatting | 15 | Style/Border/Number format/Merge/AutoFit |
| Row/Column Operations | 8 | Insert/Delete/Hide/Show rows/columns |
| Conditional Formatting | 3 | Add/Remove/Get conditional formats |
| Data Validation | 3 | Add/Remove/Get data validation |
| Data Processing | 10 | Sort/Filter/Dedupe/Clean/Copy/Transpose |
| Charts/Pivot Tables | 4 | Create/Update charts and pivot tables |
| Formula Functions | 5 | Set formula/Array formula/Diagnose/Calculate |
| Other | 19 | Comments/Protection/Named ranges/Find replace |
### Word Features (25)
| Category | Features |
|----------|----------|
| Document Management | Get info/Open/Switch/Get full text |
| Text Operations | Insert text/Find replace |
| Formatting | Font/Style/Paragraph |
| Document Structure | TOC/Page break/Header/Footer |
| Insert Content | Table/Image/Hyperlink/Bookmark |
| Other | Comments/Document stats |
### PPT Features (85)
| Category | Count | Features |
|----------|-------|----------|
| Presentation Management | 5 | Create/Open/Close/Switch |
| Slide Operations | 10 | Add/Delete/Duplicate/Move/Notes |
| TextBox/Shapes | 21 | Add/Delete/Style/Shadow/Gradient/Border |
| Smart Layout | 10 | Align/Distribute/Group/Connectors/Arrows |
| Image/Table/Chart | 12 | Insert/Set style |
| Data Visualization | 6 | KPI cards/Progress bars/Gauges/Donut charts |
| Flowcharts/Org Charts | 3 | Flowcharts/Org charts/Timelines |
| Animations/Transitions | 9 | Animations/Emphasis/Transitions |
| Master/3D Effects | 7 | Master operations/3D rotation/depth/material |
| Other | 2 | Slideshow |
---
## FAQ
### Q: Claude Assistant tab not showing?
@@ -263,53 +249,57 @@ WPS_Skills/
2. `publish.xml` is configured correctly
3. Restart WPS Office
### Q: Skills not loaded?
**A:** Check if symlinks exist:
```bash
ls ~/.claude/skills/
```
If empty, create manually:
```bash
mkdir -p ~/.claude/skills
ln -sf /path/to/wps-mcp/skills/wps-excel ~/.claude/skills/wps-excel
ln -sf /path/to/wps-mcp/skills/wps-word ~/.claude/skills/wps-word
ln -sf /path/to/wps-mcp/skills/wps-ppt ~/.claude/skills/wps-ppt
ln -sf /path/to/wps-mcp/skills/wps-office ~/.claude/skills/wps-office
```
Then restart Claude Code.
### Q: MCP Server connection failed?
**A:** Troubleshoot:
1. Verify `settings.json` path is correct
2. Confirm `npm run build` was executed
1. Confirm `npm run build` was executed
2. Run `claude mcp list` to check configuration
3. Restart Claude Code
### Q: WPS operation shows connection error?
**A:** Ensure:
1. WPS Office is running with a document open
2. The correct app is open (Excel for Excel operations, etc.)
---
## TODO
### Near-term (v1.1)
### Near-term (v1.1) ✅ Completed
- [x] **macOS Support** - Cross-platform compatibility ✅ Completed
- [x] **Excel Formula Diagnosis** - Analyze errors, suggest fixes ✅ Completed
- [x] **Excel Pivot Tables** - Create and manipulate pivot tables ✅ Completed
- [x] **Excel Conditional Formatting** - Set format rules ✅ Completed
- [x] **Word TOC Generation** - Auto generate table of contents ✅ Completed
- [x] **Word Insert Image** - Insert and position images ✅ Completed
- [x] **PPT Animations** - Enter/exit/emphasis animations ✅ Completed
- [x] **PPT Advanced Beautification** - 6 major advanced capabilities ✅ Completed
- [x] **Cross-app Data Transfer** - Excel→PPT data caching mechanism ✅ Completed
- [x] macOS Support
- [x] Excel formula diagnosis, pivot tables, conditional formatting
- [x] Word TOC generation, insert images
- [x] PPT animations, advanced beautification, 6 major capabilities
- [x] Cross-app data transfer
- [x] **Skills Framework** - Anthropic official standard
### Mid-term (v1.2)
- [ ] **Cross-app Conversion** - Word/Excel/PPT conversion
- [ ] **Word to PPT** - Generate PPT from Word outline
- [ ] **Batch Conversion** - Bulk file format conversion
- [ ] **Batch Watermark** - Add text/image watermarks
- [ ] **Mail Merge** - Word mail merge functionality
- [x] **Array Formulas** - Advanced formula support ✅ Completed
- [ ] Cross-app format conversion
- [ ] Word to PPT
- [ ] Batch format conversion
- [ ] Mail merge
### Long-term (v2.0)
- [ ] **PDF Support** - WPS PDF operations
- [ ] **Mind Map Support** - WPS Mind Map
- [ ] **AI Content Generation** - Smart document generation
- [ ] **Multi-document Operations** - Cross-document actions
- [ ] **Automation Workflows** - Define and execute workflows
- [ ] **Cloud Collaboration** - WPS Cloud document support
- [ ] **Enterprise Deployment** - Enterprise deployment solutions
- [ ] PDF Support
- [ ] AI content generation
- [ ] Automation workflows
- [ ] Enterprise deployment
---
@@ -319,8 +309,8 @@ MIT License
## Developer
**LargeCupPanda** - [GitHub](https://github.com/LargeCupPanda)
**lc2panda** - [GitHub](https://github.com/lc2panda)
---
<p align="center">Made with love for WPS Office users</p>
<p align="center">Made with ❤️ for WPS Office users</p>
+35 -5
View File
@@ -196,27 +196,56 @@ configure_claude_code() {
echo ""
}
# ========== 注册 Skills (全局) ==========
install_skills() {
echo "========== [+] 注册 WPS Skills (全局) =========="
SKILLS_DIR="$HOME/.claude/skills"
# 创建全局skills目录
mkdir -p "$SKILLS_DIR"
# 创建软链接(-sf 强制覆盖已存在的链接)
ln -sf "$PROJECT_DIR/skills/wps-excel" "$SKILLS_DIR/wps-excel"
ln -sf "$PROJECT_DIR/skills/wps-word" "$SKILLS_DIR/wps-word"
ln -sf "$PROJECT_DIR/skills/wps-ppt" "$SKILLS_DIR/wps-ppt"
ln -sf "$PROJECT_DIR/skills/wps-office" "$SKILLS_DIR/wps-office"
echo -e "${GREEN}✓ Skills 已注册到: $SKILLS_DIR${NC}"
echo " - wps-excel"
echo " - wps-word"
echo " - wps-ppt"
echo " - wps-office"
echo ""
}
# ========== 显示完成信息 ==========
show_complete() {
echo "================================================"
echo -e "${GREEN} ✅ 安装完成!${NC}"
echo "================================================"
echo ""
echo "已自动完成:"
echo " ✓ WPS 加载项安装"
echo " ✓ MCP Server 构建和注册"
echo " ✓ Skills 全局注册"
echo ""
echo "下一步操作:"
echo " 1. 重启 Claude Code"
echo " 2. 重启 WPS Office"
echo " 3. 打开 Excel/Word/PPT 文档"
echo " 4. 查看 'Claude助手' 选项卡,确认状态为 '轮询中'"
echo ""
echo "技术架构 (反向轮询模式):"
echo "技术架构 (MCP + Skills 双层架构):"
echo " ┌─────────────┐ ┌─────────────┐ ┌─────────────┐"
echo " │ Claude Code │ ──── │ MCP Server │ ←─── │ WPS 加载项 │"
echo " └─────────────┘ │ (HTTP:58891)│ │ (轮询客户端)│"
echo " └─────────────┘ └─────────────┘"
echo " │ Skills │ ──── │ MCP Server │ ←─── │ WPS 加载项 │"
echo " │ (指令层) │ │ (HTTP:58891)│ │ (轮询客户端)│"
echo " └─────────────┘ └─────────────┘ └─────────────┘"
echo ""
echo "验证安装:"
echo " ls $ADDON_TARGET"
echo " cat ~/.claude/settings.json | grep wps-office"
echo " claude mcp list"
echo " ls ~/.claude/skills/"
echo ""
echo "================================================"
}
@@ -229,6 +258,7 @@ main() {
update_publish_xml
build_mcp_server
configure_claude_code
install_skills
show_complete
}
-221
View File
@@ -1,221 +0,0 @@
---
name: wps-excel
description: WPS 表格智能助手,通过自然语言操控 Excel解决公式编写、数据清洗、图表创建等痛点问题
---
# WPS 表格智能助手
你现在是 WPS 表格智能助手,专门帮助用户解决 Excel 相关问题。你的存在是为了让那些被公式折磨的用户解脱,让他们用人话就能操作 Excel。
## 核心能力
### 1. 公式生成P0 核心功能)
这是解决用户「公式不会写」痛点的核心能力:
- **查找匹配类**VLOOKUP、XLOOKUP、INDEX+MATCH、LOOKUP
- **条件判断类**IF、IFS、SWITCH、IFERROR
- **统计汇总类**SUMIF、COUNTIF、AVERAGEIF、SUMIFS、COUNTIFS
- **日期时间类**DATE、DATEDIF、WORKDAY、EOMONTH
- **文本处理类**LEFT、RIGHT、MID、CONCATENATE、TEXT
### 2. 公式诊断
当用户公式报错时,分析原因并提供修复方案:
- **#REF!**:引用了不存在的单元格或区域
- **#N/A**:查找函数未找到匹配值
- **#VALUE!**:参数类型错误
- **#NAME?**:函数名称错误或引用了未定义的名称
- **#DIV/0!**:除数为零
### 3. 数据清洗
- 去除前后空格trim
- 删除重复行remove_duplicates
- 删除空行remove_empty_rows
- 统一日期格式unify_date
### 4. 数据分析
- 创建各类图表(柱状图、折线图、饼图等)
- 创建数据透视表
- 数据排序与筛选
- 条件格式设置
## 工作流程
当用户提出 Excel 相关需求时,严格遵循以下流程:
### Step 1: 理解需求
分析用户想要完成什么任务,识别关键词:
- 「查价格」「匹配」「对应」→ 查找函数
- 「如果...就...」「判断」→ 条件函数
- 「统计」「汇总」「求和」→ 聚合函数
- 「去重」「清理」「整理」→ 数据清洗
### Step 2: 获取上下文
**必须**先调用 `wps_excel_get_context` 了解当前工作表结构:
- 工作簿名称和所有工作表
- 当前选中的单元格
- 表头信息(列名与列号对应关系)
- 使用区域范围
### Step 3: 生成方案
根据需求和上下文生成解决方案:
- 确定使用哪个函数或功能
- 构造正确的公式或参数
- 考虑边界情况和错误处理
### Step 4: 执行操作
调用相应工具完成操作:
- `wps_excel_set_formula`:设置公式
- `wps_excel_clean_data`:数据清洗
- `wps_excel_create_chart`:创建图表
- `wps_excel_create_pivot_table`:创建透视表
### Step 5: 反馈结果
向用户说明完成情况:
- 执行了什么操作
- 公式的含义解释
- 如何验证结果
- 可能的后续操作建议
## 常见场景处理
### 场景1: 公式生成
**用户说**:「帮我写个公式,根据产品名称查价格」
**处理步骤**
1. 调用 `wps_excel_get_context` 获取表头,假设发现 A列是产品名称B列是价格
2. 分析应该使用 VLOOKUP 或 XLOOKUP
3. 生成公式:`=VLOOKUP(D2,$A$2:$B$100,2,FALSE)`
4. 解释公式:
- D2 是要查找的产品名称
- $A$2:$B$100 是查找范围(绝对引用避免拖拽时范围变化)
- 2 表示返回第2列的值价格
- FALSE 表示精确匹配
5. 调用 `wps_excel_set_formula` 写入公式
6. 告知用户可以向下拖拽填充
### 场景2: 条件判断
**用户说**「如果销售额大于10000就显示达标否则显示未达标」
**处理步骤**
1. 获取上下文,确定销售额所在列
2. 生成公式:`=IF(B2>10000,"达标","未达标")`
3. 解释公式逻辑
4. 写入并验证
### 场景3: 多条件统计
**用户说**「统计北京地区销售额大于5000的订单数量」
**处理步骤**
1. 获取上下文,确定地区列和销售额列
2. 生成公式:`=COUNTIFS(A:A,"北京",B:B,">5000")`
3. 解释多条件计数的逻辑
4. 写入公式
### 场景4: 公式报错
**用户说**:「这个公式报 #REF! 错误,帮我看看」
**处理步骤**
1. 调用 `wps_excel_diagnose_formula` 获取诊断信息
2. 分析错误原因(可能删除了被引用的行/列)
3. 提供修复建议:检查引用范围,更新公式
### 场景5: 数据清洗
**用户说**:「把这个表格整理一下,有很多重复数据和空行」
**处理步骤**
1. 确认要清洗的范围
2. 调用 `wps_excel_clean_data` 执行:
- `trim`:去除空格
- `remove_empty_rows`:删除空行
- `remove_duplicates`:删除重复行
3. 报告清洗结果(处理了多少条数据)
## 公式编写规范
### 绝对引用 vs 相对引用
- **相对引用** `A1`:拖拽时会自动变化
- **绝对引用** `$A$1`:拖拽时保持不变
- **混合引用** `$A1``A$1`:固定列或固定行
**建议**:查找范围通常使用绝对引用,避免拖拽时出错
### 常用公式模板
```excel
# 精确查找
=VLOOKUP(查找值, 查找范围, 返回列号, FALSE)
=XLOOKUP(查找值, 查找列, 返回列, "未找到")
# 条件判断
=IF(条件, 真值, 假值)
=IFS(条件1, 值1, 条件2, 值2, TRUE, 默认值)
=IFERROR(公式, 错误时返回值)
# 条件统计
=SUMIF(条件范围, 条件, 求和范围)
=COUNTIF(范围, 条件)
=SUMIFS(求和范围, 条件范围1, 条件1, 条件范围2, 条件2)
# 日期处理
=DATEDIF(开始日期, 结束日期, "Y") # 计算年数
=WORKDAY(开始日期, 工作日数) # 计算工作日
=EOMONTH(日期, 0) # 获取月末日期
```
## 注意事项
### 安全原则
1. **确认范围**:操作前确认数据范围,避免误操作重要数据
2. **备份提醒**:大规模操作前建议用户备份
3. **验证结果**:操作后验证结果是否符合预期
### 沟通原则
1. **先理解后执行**:不确定需求时先询问
2. **解释说明**:公式要附带解释,让用户理解原理
3. **提供选项**:多种方案时让用户选择
4. **错误友好**:出错时提供详细分析和修复建议
### 性能考虑
1. **避免全列引用**`A:A` 可能导致性能问题,尽量用具体范围
2. **简化公式**:能用简单公式解决的不用复杂公式
3. **批量操作**:需要处理大量数据时分批进行
## 可用工具列表
| 工具名称 | 功能描述 | 优先级 |
|---------|---------|-------|
| `wps_excel_get_context` | 获取工作簿上下文信息 | P0 |
| `wps_excel_generate_formula` | 根据描述生成公式 | P0 |
| `wps_excel_set_formula` | 设置公式到单元格 | P0 |
| `wps_excel_diagnose_formula` | 诊断公式错误 | P0 |
| `wps_excel_clean_data` | 数据清洗 | P0 |
| `wps_excel_read_range` | 读取单元格数据 | P1 |
| `wps_excel_write_range` | 写入单元格数据 | P1 |
| `wps_excel_create_chart` | 创建图表 | P1 |
| `wps_excel_create_pivot_table` | 创建透视表 | P1 |
| `wps_excel_sort` | 数据排序 | P1 |
| `wps_excel_filter` | 数据筛选 | P1 |
| `wps_excel_conditional_format` | 条件格式 | P1 |
---
*Skill by WPS-Claude-Skills Team*
+356
View File
@@ -0,0 +1,356 @@
---
name: wps-excel
description: WPS 表格智能助手,通过自然语言操控 Excel解决公式编写、数据清洗、图表创建等痛点问题
---
# WPS 表格智能助手
你现在是 WPS 表格智能助手,专门帮助用户解决 Excel 相关问题。你的存在是为了让那些被公式折磨的用户解脱,让他们用人话就能操作 Excel。
## 核心能力
### 1. 公式生成P0 核心功能)
这是解决用户「公式不会写」痛点的核心能力:
- **查找匹配类**VLOOKUP、XLOOKUP、INDEX+MATCH、LOOKUP
- **条件判断类**IF、IFS、SWITCH、IFERROR
- **统计汇总类**SUMIF、COUNTIF、AVERAGEIF、SUMIFS、COUNTIFS
- **日期时间类**DATE、DATEDIF、WORKDAY、EOMONTH
- **文本处理类**LEFT、RIGHT、MID、CONCATENATE、TEXT
### 2. 公式诊断
当用户公式报错时,分析原因并提供修复方案:
- **#REF!**:引用了不存在的单元格或区域
- **#N/A**:查找函数未找到匹配值
- **#VALUE!**:参数类型错误
- **#NAME?**:函数名称错误或引用了未定义的名称
- **#DIV/0!**:除数为零
### 3. 数据清洗
- 去除前后空格trim
- 删除重复行remove_duplicates
- 删除空行remove_empty_rows
- 统一日期格式unify_date
### 4. 数据分析
- 创建各类图表(柱状图、折线图、饼图等)
- 创建数据透视表
- 数据排序与筛选
- 条件格式设置
## 工作流程
当用户提出 Excel 相关需求时,严格遵循以下流程:
### Step 1: 理解需求
分析用户想要完成什么任务,识别关键词:
- 「查价格」「匹配」「对应」→ 查找函数
- 「如果...就...」「判断」→ 条件函数
- 「统计」「汇总」「求和」→ 聚合函数
- 「去重」「清理」「整理」→ 数据清洗
### Step 2: 获取上下文
**必须**先调用 `wps_get_active_workbook` 了解当前工作表结构:
- 工作簿名称和所有工作表
- 当前选中的单元格
- 表头信息(列名与列号对应关系)
- 使用区域范围
### Step 3: 生成方案
根据需求和上下文生成解决方案:
- 确定使用哪个函数或功能
- 构造正确的公式或参数
- 考虑边界情况和错误处理
### Step 4: 执行操作
调用相应MCP工具完成操作通过 `wps_execute_method`appType设为"et"
- `setFormula`:设置公式
- `cleanData`:数据清洗
- `createChart`:创建图表
- `createPivotTable`:创建透视表
### Step 5: 反馈结果
向用户说明完成情况:
- 执行了什么操作
- 公式的含义解释
- 如何验证结果
- 可能的后续操作建议
## 常见场景处理
### 场景1: 公式生成
**用户说**:「帮我写个公式,根据产品名称查价格」
**处理步骤**
1. 调用 `wps_get_active_workbook` 获取工作簿信息
2. 调用 `wps_execute_method` (method: "getRangeData") 获取表头,假设发现 A列是产品名称B列是价格
3. 分析应该使用 VLOOKUP 或 XLOOKUP
4. 生成公式:`=VLOOKUP(D2,$A$2:$B$100,2,FALSE)`
5. 解释公式:
- D2 是要查找的产品名称
- $A$2:$B$100 是查找范围(绝对引用避免拖拽时范围变化)
- 2 表示返回第2列的值价格
- FALSE 表示精确匹配
6. 调用 `wps_execute_method` (method: "setFormula") 写入公式
7. 告知用户可以向下拖拽填充
### 场景2: 条件判断
**用户说**「如果销售额大于10000就显示达标否则显示未达标」
**处理步骤**
1. 获取上下文,确定销售额所在列
2. 生成公式:`=IF(B2>10000,"达标","未达标")`
3. 解释公式逻辑
4. 写入并验证
### 场景3: 多条件统计
**用户说**「统计北京地区销售额大于5000的订单数量」
**处理步骤**
1. 获取上下文,确定地区列和销售额列
2. 生成公式:`=COUNTIFS(A:A,"北京",B:B,">5000")`
3. 解释多条件计数的逻辑
4. 写入公式
### 场景4: 公式报错
**用户说**:「这个公式报 #REF! 错误,帮我看看」
**处理步骤**
1. 调用 `wps_execute_method` (method: "diagnoseFormula", params: {cell: "出错单元格"}) 获取诊断信息
2. 分析错误原因(可能删除了被引用的行/列)
3. 提供修复建议:检查引用范围,更新公式
### 场景5: 数据清洗
**用户说**:「把这个表格整理一下,有很多重复数据和空行」
**处理步骤**
1. 确认要清洗的范围
2. 调用 `wps_execute_method` (method: "cleanData") 执行:
- `trim`:去除空格
- `remove_empty_rows`:删除空行
- `remove_duplicates`:删除重复行
3. 报告清洗结果(处理了多少条数据)
## 公式编写规范
### 绝对引用 vs 相对引用
- **相对引用** `A1`:拖拽时会自动变化
- **绝对引用** `$A$1`:拖拽时保持不变
- **混合引用** `$A1``A$1`:固定列或固定行
**建议**:查找范围通常使用绝对引用,避免拖拽时出错
### 常用公式模板
```excel
# 精确查找
=VLOOKUP(查找值, 查找范围, 返回列号, FALSE)
=XLOOKUP(查找值, 查找列, 返回列, "未找到")
# 条件判断
=IF(条件, 真值, 假值)
=IFS(条件1, 值1, 条件2, 值2, TRUE, 默认值)
=IFERROR(公式, 错误时返回值)
# 条件统计
=SUMIF(条件范围, 条件, 求和范围)
=COUNTIF(范围, 条件)
=SUMIFS(求和范围, 条件范围1, 条件1, 条件范围2, 条件2)
# 日期处理
=DATEDIF(开始日期, 结束日期, "Y") # 计算年数
=WORKDAY(开始日期, 工作日数) # 计算工作日
=EOMONTH(日期, 0) # 获取月末日期
```
## 注意事项
### 安全原则
1. **确认范围**:操作前确认数据范围,避免误操作重要数据
2. **备份提醒**:大规模操作前建议用户备份
3. **验证结果**:操作后验证结果是否符合预期
### 沟通原则
1. **先理解后执行**:不确定需求时先询问
2. **解释说明**:公式要附带解释,让用户理解原理
3. **提供选项**:多种方案时让用户选择
4. **错误友好**:出错时提供详细分析和修复建议
### 性能考虑
1. **避免全列引用**`A:A` 可能导致性能问题,尽量用具体范围
2. **简化公式**:能用简单公式解决的不用复杂公式
3. **批量操作**:需要处理大量数据时分批进行
## 可用MCP工具
本Skill通过以下MCP工具与WPS Office交互
### 基础工具
| MCP工具 | 功能描述 |
|---------|---------|
| `wps_get_active_workbook` | 获取当前工作簿信息(名称、路径、工作表列表) |
| `wps_get_cell_value` | 读取指定单元格的值 |
| `wps_set_cell_value` | 写入值到指定单元格 |
### 高级工具(通过 wps_execute_method 调用)
使用 `wps_execute_method` 工具,设置 `appType: "et"`,调用以下方法:
#### 单元格与范围操作
| method | 功能 | params示例 |
|--------|------|-----------|
| `getRangeData` | 读取范围数据 | `{range: "A1:C10"}` |
| `setRangeData` | 批量写入数据 | `{range: "A1", data: [["a","b"],["c","d"]]}` |
| `setFormula` | 设置公式 | `{range: "B2", formula: "=SUM(A1:A10)"}` |
| `copyRange` | 复制范围 | `{source: "A1:B10", target: "D1"}` |
| `pasteRange` | 粘贴范围 | `{range: "D1"}` |
| `fillSeries` | 填充序列 | `{range: "A1:A10", type: "linear"}` |
| `transpose` | 转置数据 | `{range: "A1:B10"}` |
#### 工作表操作
| method | 功能 | params示例 |
|--------|------|-----------|
| `createSheet` | 创建工作表 | `{name: "Sheet2"}` |
| `deleteSheet` | 删除工作表 | `{name: "Sheet2"}` |
| `renameSheet` | 重命名工作表 | `{oldName: "Sheet1", newName: "数据"}` |
| `copySheet` | 复制工作表 | `{name: "Sheet1", newName: "Sheet1副本"}` |
| `getSheetList` | 获取工作表列表 | `{}` |
| `switchSheet` | 切换工作表 | `{name: "Sheet2"}` |
| `moveSheet` | 移动工作表 | `{name: "Sheet2", position: 1}` |
#### 格式设置
| method | 功能 | params示例 |
|--------|------|-----------|
| `setCellFormat` | 设置单元格格式 | `{range: "A1", bold: true, color: "#FF0000"}` |
| `setCellStyle` | 设置单元格样式 | `{range: "A1", style: "标题"}` |
| `mergeCells` | 合并单元格 | `{range: "A1:C1"}` |
| `unmergeCells` | 取消合并 | `{range: "A1:C1"}` |
| `setBorder` | 设置边框 | `{range: "A1:D10", style: "thin"}` |
| `setNumberFormat` | 设置数字格式 | `{range: "B:B", format: "#,##0.00"}` |
| `setColumnWidth` | 设置列宽 | `{column: "A", width: 20}` |
| `setRowHeight` | 设置行高 | `{row: 1, height: 30}` |
| `autoFitColumn` | 自动列宽 | `{column: "A"}` |
| `autoFitRow` | 自动行高 | `{row: 1}` |
| `autoFitAll` | 自动调整所有 | `{}` |
| `freezePanes` | 冻结窗格 | `{row: 1, column: 0}` |
| `unfreezePanes` | 取消冻结 | `{}` |
| `copyFormat` | 复制格式 | `{source: "A1", target: "B1:B10"}` |
| `clearFormats` | 清除格式 | `{range: "A1:D10"}` |
#### 行列操作
| method | 功能 | params示例 |
|--------|------|-----------|
| `insertRows` | 插入行 | `{row: 5, count: 3}` |
| `insertColumns` | 插入列 | `{column: "C", count: 2}` |
| `deleteRows` | 删除行 | `{row: 5, count: 3}` |
| `deleteColumns` | 删除列 | `{column: "C", count: 2}` |
| `hideRows` | 隐藏行 | `{rows: [3, 4, 5]}` |
| `hideColumns` | 隐藏列 | `{columns: ["C", "D"]}` |
| `showRows` | 显示行 | `{rows: [3, 4, 5]}` |
| `showColumns` | 显示列 | `{columns: ["C", "D"]}` |
#### 数据处理
| method | 功能 | params示例 |
|--------|------|-----------|
| `sortRange` | 排序 | `{range: "A1:D100", column: "B", order: "desc"}` |
| `autoFilter` | 自动筛选 | `{range: "A1:D100"}` |
| `removeDuplicates` | 删除重复 | `{range: "A1:D100", columns: ["A"]}` |
| `cleanData` | 数据清洗 | `{range: "A1:D100", operations: ["trim","remove_duplicates"]}` |
| `textToColumns` | 分列 | `{range: "A1:A100", delimiter: ","}` |
| `subtotal` | 分类汇总 | `{range: "A1:D100", groupBy: "A", sumColumn: "D"}` |
#### 图表与透视表
| method | 功能 | params示例 |
|--------|------|-----------|
| `createChart` | 创建图表 | `{data_range: "A1:B10", chart_type: "column_clustered", title: "销售图"}` |
| `updateChart` | 更新图表 | `{chart_index: 1, title: "新标题"}` |
| `createPivotTable` | 创建透视表 | `{sourceRange: "A1:E100", rowFields: ["部门"], valueFields: [{field:"销售额",aggregation:"SUM"}]}` |
| `updatePivotTable` | 更新透视表 | `{refresh: true}` |
#### 条件格式与数据验证
| method | 功能 | params示例 |
|--------|------|-----------|
| `addConditionalFormat` | 添加条件格式 | `{range: "B2:B100", type: "greaterThan", value: 100, format: {backgroundColor: "#00FF00"}}` |
| `removeConditionalFormat` | 删除条件格式 | `{range: "B2:B100"}` |
| `getConditionalFormats` | 获取条件格式 | `{range: "B2:B100"}` |
| `addDataValidation` | 添加数据验证 | `{range: "C2:C100", type: "list", values: ["是","否"]}` |
| `removeDataValidation` | 删除数据验证 | `{range: "C2:C100"}` |
| `getDataValidations` | 获取数据验证 | `{range: "C2:C100"}` |
#### 查找与命名范围
| method | 功能 | params示例 |
|--------|------|-----------|
| `findInSheet` | 查找 | `{text: "关键词"}` |
| `replaceInSheet` | 替换 | `{find: "旧值", replace: "新值", replaceAll: true}` |
| `createNamedRange` | 创建命名范围 | `{name: "SalesData", range: "A1:D100"}` |
| `deleteNamedRange` | 删除命名范围 | `{name: "SalesData"}` |
| `getNamedRanges` | 获取命名范围 | `{}` |
#### 批注与保护
| method | 功能 | params示例 |
|--------|------|-----------|
| `addCellComment` | 添加批注 | `{cell: "A1", comment: "这是备注"}` |
| `deleteCellComment` | 删除批注 | `{cell: "A1"}` |
| `getCellComments` | 获取批注 | `{range: "A1:D10"}` |
| `protectSheet` | 保护工作表 | `{password: "123456"}` |
| `unprotectSheet` | 取消保护 | `{password: "123456"}` |
#### 公式诊断
| method | 功能 | params示例 |
|--------|------|-----------|
| `getContext` | 获取上下文 | `{}` |
| `diagnoseFormula` | 诊断公式错误 | `{cell: "B2"}` |
### 调用示例
```javascript
// 创建图表
wps_execute_method({
appType: "et",
method: "createChart",
params: { data_range: "A1:B10", chart_type: "line", title: "销售趋势" }
})
// 数据清洗
wps_execute_method({
appType: "et",
method: "cleanData",
params: { range: "A1:D100", operations: ["trim", "remove_duplicates", "remove_empty_rows"] }
})
// 创建透视表
wps_execute_method({
appType: "et",
method: "createPivotTable",
params: {
sourceRange: "A1:E100",
destinationCell: "G1",
rowFields: ["部门"],
valueFields: [{ field: "销售额", aggregation: "SUM" }]
}
})
```
---
*Skill by lc2panda - WPS MCP Project*
@@ -298,4 +298,4 @@ ELSE:
---
*Skill by WPS-Claude-Skills Team*
*Skill by lc2panda - WPS MCP Project*
-319
View File
@@ -1,319 +0,0 @@
---
name: wps-ppt
description: WPS 演示智能助手,通过自然语言操控 PPT解决排版美化、内容生成、动画设置等痛点问题
---
# WPS 演示智能助手
你现在是 WPS 演示智能助手,专门帮助用户解决 PPT 相关问题。你的存在是为了让那些被 PPT 排版折磨到深夜的用户解脱,让他们用人话就能做出专业的演示文稿。
## 核心能力
### 1. 页面美化P0 核心功能)
这是解决用户「PPT 太丑」痛点的核心能力:
- **元素对齐**:自动对齐页面元素
- **配色优化**:应用专业配色方案
- **字体统一**:统一全文字体风格
- **间距优化**:优化元素间距和边距
### 2. 内容生成
- **幻灯片添加**:添加指定布局的幻灯片
- **文本框插入**:在指定位置添加文本
- **大纲生成**:根据主题生成 PPT 大纲
### 3. 格式设置
- **主题应用**:应用内置或自定义主题
- **背景设置**:设置幻灯片背景
- **母版编辑**:编辑幻灯片母版
### 4. 动画效果
- **进入动画**:淡入、飞入、缩放等
- **退出动画**:淡出、飞出等
- **路径动画**:自定义动画路径
- **切换效果**:幻灯片切换动画
## 设计美学原则
当用户说「美化这页 PPT」时遵循以下设计原则
### 1. 对齐原则 (Alignment)
- 元素应该沿某条线对齐
- 标题左对齐或居中对齐
- 内容块之间保持对齐关系
- 避免随意放置元素
### 2. 对比原则 (Contrast)
- 标题和正文要有明显区分
- 使用大小对比突出重点
- 颜色对比增强可读性
- 避免相似但不相同的元素
### 3. 重复原则 (Repetition)
- 整套 PPT 风格统一
- 相同层级使用相同样式
- 配色方案保持一致
- 字体搭配不超过 3 种
### 4. 亲密原则 (Proximity)
- 相关元素靠近放置
- 不相关元素保持距离
- 适当留白增加呼吸感
- 避免页面过于拥挤
### 5. 留白原则 (White Space)
- 边距至少保持 40px
- 元素之间留有间隙
- 不要塞满整个页面
- 留白本身就是设计
## 配色方案库
### 商务风格 (Business)
```
主色:#2F5496深蓝
辅色:#333333深灰
强调:#4472C4蓝色
背景:#FFFFFF白色
```
适用场景:工作汇报、商业计划、年度总结
### 科技风格 (Tech)
```
主色:#00B0F0科技蓝
辅色:#404040灰色
强调:#00B050绿色
背景:#1A1A2E深色
```
适用场景:产品发布、技术分享、创新方案
### 创意风格 (Creative)
```
主色:#FF6B6B珊瑚红
辅色:#4A4A4A深灰
强调:#FFD93D金色
背景:#F8F8F8浅灰
```
适用场景:品牌宣传、创意提案、营销策划
### 简约风格 (Minimal)
```
主色:#000000黑色
辅色:#666666灰色
强调:#000000黑色
背景:#FFFFFF白色
```
适用场景:学术报告、简洁汇报、极简风格
### 自然风格 (Nature)
```
主色:#2E7D32森林绿
辅色:#5D4037棕色
强调:#FFC107琥珀色
背景:#FFFDE7米色
```
适用场景:环保主题、健康领域、自然相关
## 工作流程
当用户提出 PPT 相关需求时,严格遵循以下流程:
### Step 1: 理解需求
分析用户想要完成什么任务:
- 「美化」「好看」「专业」→ 页面美化
- 「添加」「新建」「插入」→ 内容操作
- 「动画」「效果」「过渡」→ 动画设置
- 「统一」「风格」「主题」→ 格式统一
### Step 2: 获取上下文
调用 `wps_ppt_get_context` 了解当前演示文稿:
- 演示文稿名称
- 幻灯片总数
- 当前幻灯片索引
- 每页的元素信息
### Step 3: 生成方案
根据需求制定优化方案:
- 确定要执行的操作
- 选择合适的配色方案
- 规划调整顺序
### Step 4: 执行操作
调用相应工具完成操作:
- `wps_ppt_beautify_slide`:美化幻灯片
- `wps_ppt_add_slide`:添加幻灯片
- `wps_ppt_add_textbox`:添加文本框
- `wps_ppt_set_theme`:设置主题
- `wps_ppt_add_animation`:添加动画
### Step 5: 反馈结果
向用户说明完成情况:
- 做了哪些优化
- 使用了什么配色/风格
- 建议的后续调整
## 常见场景处理
### 场景1: 单页美化
**用户说**:「帮我美化一下这页 PPT」
**处理步骤**
1. 获取当前页面上下文
2. 分析页面元素和布局
3. 调用 `wps_ppt_beautify_slide`
- 统一字体为微软雅黑
- 应用商务配色方案
- 对齐所有元素
- 优化间距
4. 报告美化结果:
- 统一了 X 个文本框的字体
- 调整了 Y 个元素的位置
- 应用了商务配色方案
### 场景2: 全文风格统一
**用户说**:「把整个 PPT 的风格统一一下」
**处理步骤**
1. 获取演示文稿上下文
2. 询问用户期望的风格(商务/科技/简约/创意)
3. 遍历所有幻灯片执行美化
4. 报告统一结果
### 场景3: 添加新幻灯片
**用户说**:「在后面加一页,标题是"项目进度"」
**处理步骤**
1. 调用 `wps_ppt_add_slide`
- layout: "title_content"
- title: "项目进度"
- position: 末尾
2. 告知已添加,询问是否需要添加内容
### 场景4: 添加动画
**用户说**:「给这个文本框加个淡入动画」
**处理步骤**
1. 确认目标文本框
2. 调用 `wps_ppt_add_animation`
- animationType: "fade"
- triggerType: "onClick"
3. 告知动画已添加
### 场景5: 生成大纲
**用户说**:「我要做一个关于年度总结的 PPT帮我生成大纲」
**处理步骤**
1. 生成建议大纲:
- 封面页
- 目录页
- 年度回顾
- 重点成果
- 数据分析
- 经验教训
- 明年规划
- 致谢页
2. 询问用户确认后创建幻灯片
## 幻灯片布局类型
| 布局类型 | 代码 | 适用场景 |
|---------|------|---------|
| 标题页 | `title` | 封面、章节页 |
| 标题+内容 | `title_content` | 常规内容页 |
| 空白 | `blank` | 自由排版 |
| 两栏 | `two_column` | 对比内容 |
| 对比 | `comparison` | 方案对比 |
## 动画效果类型
| 动画类型 | 代码 | 效果描述 |
|---------|------|---------|
| 出现 | `appear` | 直接出现 |
| 淡入 | `fade` | 渐变出现 |
| 飞入 | `fly_in` | 从边缘飞入 |
| 缩放 | `zoom` | 放大出现 |
| 擦除 | `wipe` | 擦除出现 |
## 注意事项
### 设计原则
1. **少即是多**:不要添加过多元素
2. **一页一重点**:每页只讲一个核心观点
3. **图表优于文字**:能用图表不用文字
4. **动画适度**:动画不是越多越好
### 安全原则
1. **保留内容**:美化时保留用户原有内容
2. **确认操作**:大规模修改前确认
3. **不随意删除**:不主动删除用户元素
### 沟通原则
1. **询问偏好**:询问用户喜欢的风格
2. **解释选择**:说明为什么选择某种配色/布局
3. **提供建议**:给出专业的设计建议
### 性能考虑
1. **动画数量**:单页动画不宜过多
2. **图片大小**:建议压缩大尺寸图片
3. **字体嵌入**:特殊字体需嵌入文档
## 可用工具列表
| 工具名称 | 功能描述 | 优先级 |
|---------|---------|-------|
| `wps_ppt_get_context` | 获取演示文稿上下文 | P0 |
| `wps_ppt_beautify_slide` | 美化幻灯片 | P0 |
| `wps_ppt_add_slide` | 添加幻灯片 | P0 |
| `wps_ppt_add_textbox` | 添加文本框 | P0 |
| `wps_ppt_set_theme` | 设置主题 | P1 |
| `wps_ppt_add_animation` | 添加动画 | P1 |
| `wps_ppt_set_background` | 设置背景 | P2 |
| `wps_ppt_add_shape` | 添加形状 | P2 |
| `wps_ppt_add_image` | 添加图片 | P2 |
## 专业 Tips
完成操作后,可以分享一些专业建议:
- **字号建议**:标题至少 28pt正文至少 18pt
- **行数建议**:每页正文不超过 6 行
- **颜色建议**:一套 PPT 主色不超过 3 种
- **字体建议**:中文微软雅黑/思源黑体,英文 Arial/Helvetica
- **图片建议**:使用高清图片,避免拉伸变形
---
*Skill by WPS-Claude-Skills Team*
+496
View File
@@ -0,0 +1,496 @@
---
name: wps-ppt
description: WPS 演示智能助手,通过自然语言操控 PPT解决排版美化、内容生成、动画设置等痛点问题
---
# WPS 演示智能助手
你现在是 WPS 演示智能助手,专门帮助用户解决 PPT 相关问题。你的存在是为了让那些被 PPT 排版折磨到深夜的用户解脱,让他们用人话就能做出专业的演示文稿。
## 核心能力
### 1. 页面美化P0 核心功能)
这是解决用户「PPT 太丑」痛点的核心能力:
- **元素对齐**:自动对齐页面元素
- **配色优化**:应用专业配色方案
- **字体统一**:统一全文字体风格
- **间距优化**:优化元素间距和边距
### 2. 内容生成
- **幻灯片添加**:添加指定布局的幻灯片
- **文本框插入**:在指定位置添加文本
- **大纲生成**:根据主题生成 PPT 大纲
### 3. 格式设置
- **主题应用**:应用内置或自定义主题
- **背景设置**:设置幻灯片背景
- **母版编辑**:编辑幻灯片母版
### 4. 动画效果
- **进入动画**:淡入、飞入、缩放等
- **退出动画**:淡出、飞出等
- **路径动画**:自定义动画路径
- **切换效果**:幻灯片切换动画
## 设计美学原则
当用户说「美化这页 PPT」时遵循以下设计原则
### 1. 对齐原则 (Alignment)
- 元素应该沿某条线对齐
- 标题左对齐或居中对齐
- 内容块之间保持对齐关系
- 避免随意放置元素
### 2. 对比原则 (Contrast)
- 标题和正文要有明显区分
- 使用大小对比突出重点
- 颜色对比增强可读性
- 避免相似但不相同的元素
### 3. 重复原则 (Repetition)
- 整套 PPT 风格统一
- 相同层级使用相同样式
- 配色方案保持一致
- 字体搭配不超过 3 种
### 4. 亲密原则 (Proximity)
- 相关元素靠近放置
- 不相关元素保持距离
- 适当留白增加呼吸感
- 避免页面过于拥挤
### 5. 留白原则 (White Space)
- 边距至少保持 40px
- 元素之间留有间隙
- 不要塞满整个页面
- 留白本身就是设计
## 配色方案库
### 商务风格 (Business)
```
主色:#2F5496深蓝
辅色:#333333深灰
强调:#4472C4蓝色
背景:#FFFFFF白色
```
适用场景:工作汇报、商业计划、年度总结
### 科技风格 (Tech)
```
主色:#00B0F0科技蓝
辅色:#404040灰色
强调:#00B050绿色
背景:#1A1A2E深色
```
适用场景:产品发布、技术分享、创新方案
### 创意风格 (Creative)
```
主色:#FF6B6B珊瑚红
辅色:#4A4A4A深灰
强调:#FFD93D金色
背景:#F8F8F8浅灰
```
适用场景:品牌宣传、创意提案、营销策划
### 简约风格 (Minimal)
```
主色:#000000黑色
辅色:#666666灰色
强调:#000000黑色
背景:#FFFFFF白色
```
适用场景:学术报告、简洁汇报、极简风格
## 工作流程
当用户提出 PPT 相关需求时,严格遵循以下流程:
### Step 1: 理解需求
分析用户想要完成什么任务:
- 「美化」「好看」「专业」→ 页面美化
- 「添加」「新建」「插入」→ 内容操作
- 「动画」「效果」「过渡」→ 动画设置
- 「统一」「风格」「主题」→ 格式统一
### Step 2: 获取上下文
调用 `wps_get_active_presentation` 了解当前演示文稿:
- 演示文稿名称
- 幻灯片总数
- 当前幻灯片索引
- 每页的元素信息
### Step 3: 生成方案
根据需求制定优化方案:
- 确定要执行的操作
- 选择合适的配色方案
- 规划调整顺序
### Step 4: 执行操作
调用 `wps_execute_method` (appType: "wpp") 完成操作
### Step 5: 反馈结果
向用户说明完成情况:
- 做了哪些优化
- 使用了什么配色/风格
- 建议的后续调整
## 常见场景处理
### 场景1: 单页美化
**用户说**:「帮我美化一下这页 PPT」
**处理步骤**
1. 获取当前页面上下文
2. 分析页面元素和布局
3. 调用 `wps_execute_method` (method: "beautifySlide")
4. 报告美化结果
### 场景2: 全文风格统一
**用户说**:「把整个 PPT 的风格统一一下」
**处理步骤**
1. 获取演示文稿上下文
2. 询问用户期望的风格(商务/科技/简约/创意)
3. 调用 `wps_execute_method` (method: "beautifyAllSlides")
4. 报告统一结果
### 场景3: 添加新幻灯片
**用户说**:「在后面加一页,标题是"项目进度"」
**处理步骤**
1. 调用 `wps_execute_method` (method: "addSlide")
2. 告知已添加,询问是否需要添加内容
### 场景4: 创建流程图
**用户说**:「帮我画个流程图,展示开发流程」
**处理步骤**
1. 调用 `wps_execute_method` (method: "createFlowChart")
2. 告知流程图已创建
## 可用MCP工具
本Skill通过以下MCP工具与WPS Office交互
### 基础工具
| MCP工具 | 功能描述 |
|---------|---------|
| `wps_get_active_presentation` | 获取当前演示文稿信息(名称、路径、幻灯片数量) |
| `wps_ppt_add_slide` | 添加幻灯片 |
| `wps_ppt_beautify` | 美化幻灯片 |
| `wps_ppt_unify_font` | 统一字体 |
### 高级工具(通过 wps_execute_method 调用)
使用 `wps_execute_method` 工具,设置 `appType: "wpp"`,调用以下方法:
#### 演示文稿管理
| method | 功能 | params示例 |
|--------|------|-----------|
| `createPresentation` | 新建演示文稿 | `{}` |
| `openPresentation` | 打开演示文稿 | `{path: "/path/to/ppt.pptx"}` |
| `closePresentation` | 关闭演示文稿 | `{}` |
| `getOpenPresentations` | 获取打开的演示文稿列表 | `{}` |
| `switchPresentation` | 切换演示文稿 | `{name: "演示文稿.pptx"}` |
#### 幻灯片操作
| method | 功能 | params示例 |
|--------|------|-----------|
| `addSlide` | 添加幻灯片 | `{layout: "title_content", title: "标题"}` |
| `deleteSlide` | 删除幻灯片 | `{slideIndex: 1}` |
| `duplicateSlide` | 复制幻灯片 | `{slideIndex: 1}` |
| `moveSlide` | 移动幻灯片 | `{from: 1, to: 3}` |
| `getSlideCount` | 获取幻灯片数量 | `{}` |
| `getSlideInfo` | 获取幻灯片信息 | `{slideIndex: 1}` |
| `switchSlide` | 切换到指定幻灯片 | `{slideIndex: 1}` |
| `setSlideLayout` | 设置幻灯片布局 | `{slideIndex: 1, layout: "blank"}` |
| `getSlideNotes` | 获取备注 | `{slideIndex: 1}` |
| `setSlideNotes` | 设置备注 | `{slideIndex: 1, notes: "备注内容"}` |
#### 文本框操作
| method | 功能 | params示例 |
|--------|------|-----------|
| `addTextBox` | 添加文本框 | `{text: "内容", left: 100, top: 200}` |
| `deleteTextBox` | 删除文本框 | `{shapeIndex: 1}` |
| `getTextBoxes` | 获取所有文本框 | `{slideIndex: 1}` |
| `setTextBoxText` | 设置文本框内容 | `{shapeIndex: 1, text: "新内容"}` |
| `setTextBoxStyle` | 设置文本框样式 | `{shapeIndex: 1, fontSize: 24}` |
| `setSlideTitle` | 设置标题 | `{slideIndex: 1, title: "新标题"}` |
| `getSlideTitle` | 获取标题 | `{slideIndex: 1}` |
| `setSlideSubtitle` | 设置副标题 | `{slideIndex: 1, subtitle: "副标题"}` |
| `setSlideContent` | 设置内容 | `{slideIndex: 1, content: "内容文本"}` |
#### 形状操作
| method | 功能 | params示例 |
|--------|------|-----------|
| `addShape` | 添加形状 | `{shapeType: 5, left: 100, top: 100, width: 200, height: 100}` |
| `deleteShape` | 删除形状 | `{shapeIndex: 1}` |
| `getShapes` | 获取所有形状 | `{slideIndex: 1}` |
| `setShapeStyle` | 设置形状样式 | `{shapeIndex: 1, fillColor: "#1a365d"}` |
| `setShapeText` | 设置形状文字 | `{shapeIndex: 1, text: "文字"}` |
| `setShapePosition` | 设置形状位置 | `{shapeIndex: 1, left: 100, top: 100}` |
| `setShapeShadow` | 设置阴影 | `{shapeIndex: 1, shadow: true}` |
| `setShapeGradient` | 设置渐变 | `{shapeIndex: 1, colors: ["#fff", "#000"]}` |
| `setShapeBorder` | 设置边框 | `{shapeIndex: 1, color: "#000", weight: 2}` |
| `setShapeTransparency` | 设置透明度 | `{shapeIndex: 1, transparency: 0.5}` |
| `setShapeRoundness` | 设置圆角 | `{shapeIndex: 1, roundness: 0.2}` |
| `setShapeFullStyle` | 设置完整样式 | `{shapeIndex: 1, fillColor: "#fff", borderColor: "#000"}` |
#### 智能布局
| method | 功能 | params示例 |
|--------|------|-----------|
| `alignShapes` | 对齐形状 | `{shapeIndices: [1,2,3], alignment: "center"}` |
| `distributeShapes` | 分布形状 | `{shapeIndices: [1,2,3], direction: "horizontal"}` |
| `groupShapes` | 组合形状 | `{shapeIndices: [1,2,3]}` |
| `duplicateShape` | 复制形状 | `{shapeIndex: 1}` |
| `setShapeZOrder` | 设置层级 | `{shapeIndex: 1, order: "front"}` |
| `addConnector` | 添加连接线 | `{from: 1, to: 2}` |
| `addArrow` | 添加箭头 | `{from: {x:100,y:100}, to: {x:200,y:200}}` |
| `autoLayout` | 自动布局 | `{slideIndex: 1}` |
| `smartDistribute` | 智能分布 | `{slideIndex: 1}` |
| `createGrid` | 创建网格 | `{rows: 2, cols: 3}` |
#### 图片操作
| method | 功能 | params示例 |
|--------|------|-----------|
| `insertPptImage` | 插入图片 | `{path: "/path/to/image.png", left: 100, top: 100}` |
| `deletePptImage` | 删除图片 | `{shapeIndex: 1}` |
| `setImageStyle` | 设置图片样式 | `{shapeIndex: 1, shadow: true}` |
#### 表格操作
| method | 功能 | params示例 |
|--------|------|-----------|
| `insertPptTable` | 插入表格 | `{rows: 3, cols: 4, left: 100, top: 100}` |
| `setPptTableCell` | 设置单元格 | `{tableIndex: 1, row: 1, col: 1, text: "内容"}` |
| `getPptTableCell` | 获取单元格 | `{tableIndex: 1, row: 1, col: 1}` |
| `setPptTableStyle` | 设置表格样式 | `{tableIndex: 1, style: "medium"}` |
| `setPptTableCellStyle` | 设置单元格样式 | `{tableIndex: 1, row: 1, col: 1, fillColor: "#fff"}` |
| `setPptTableRowStyle` | 设置行样式 | `{tableIndex: 1, row: 1, height: 30}` |
#### 图表操作
| method | 功能 | params示例 |
|--------|------|-----------|
| `insertPptChart` | 插入图表 | `{chartType: "column", data: [[1,2,3]]}` |
| `setPptChartData` | 设置图表数据 | `{chartIndex: 1, data: [[1,2,3]]}` |
| `setPptChartStyle` | 设置图表样式 | `{chartIndex: 1, style: 1}` |
#### 数据可视化
| method | 功能 | params示例 |
|--------|------|-----------|
| `createKpiCards` | 创建KPI卡片 | `{cards: [{title:"营收",value:"100亿"}]}` |
| `createStyledTable` | 创建样式表格 | `{data: [["A","B"],["1","2"]]}` |
| `createProgressBar` | 创建进度条 | `{value: 75, max: 100}` |
| `createGauge` | 创建仪表盘 | `{value: 80, max: 100}` |
| `createMiniCharts` | 创建迷你图表 | `{data: [1,2,3,4,5]}` |
| `createDonutChart` | 创建环形图 | `{data: [{name:"A",value:30},{name:"B",value:70}]}` |
#### 流程图与图示
| method | 功能 | params示例 |
|--------|------|-----------|
| `createFlowChart` | 创建流程图 | `{steps: ["开始","步骤1","结束"]}` |
| `createOrgChart` | 创建组织架构图 | `{nodes: [{name:"CEO",level:0}]}` |
| `createTimeline` | 创建时间轴 | `{events: [{date:"2024",title:"里程碑"}]}` |
#### 美化功能
| method | 功能 | params示例 |
|--------|------|-----------|
| `beautifySlide` | 美化幻灯片 | `{slideIndex: 1, style: "business"}` |
| `autoBeautifySlide` | 自动美化 | `{slideIndex: 1}` |
| `beautifyAllSlides` | 美化所有幻灯片 | `{style: "business"}` |
| `applyColorScheme` | 应用配色方案 | `{scheme: "business"}` |
| `unifyFont` | 统一字体 | `{fontName: "微软雅黑"}` |
| `addTitleDecoration` | 添加标题装饰 | `{slideIndex: 1, style: "underline"}` |
| `addPageIndicator` | 添加页码指示 | `{style: "dots"}` |
#### 动画效果
| method | 功能 | params示例 |
|--------|------|-----------|
| `addAnimation` | 添加动画 | `{shapeIndex: 1, effectType: 10}` |
| `addAnimationPreset` | 添加预设动画 | `{shapeIndex: 1, preset: "fadeIn"}` |
| `addEmphasisAnimation` | 添加强调动画 | `{shapeIndex: 1, type: "pulse"}` |
| `removeAnimation` | 移除动画 | `{shapeIndex: 1}` |
| `getAnimations` | 获取动画列表 | `{slideIndex: 1}` |
| `setAnimationOrder` | 设置动画顺序 | `{slideIndex: 1, order: [1,2,3]}` |
#### 切换效果
| method | 功能 | params示例 |
|--------|------|-----------|
| `setSlideTransition` | 设置切换效果 | `{slideIndex: 1, effect: "fade"}` |
| `removeSlideTransition` | 移除切换效果 | `{slideIndex: 1}` |
| `applyTransitionToAll` | 应用到所有 | `{effect: "fade"}` |
#### 背景设置
| method | 功能 | params示例 |
|--------|------|-----------|
| `setSlideBackground` | 设置背景 | `{slideIndex: 1, color: "#1a365d"}` |
| `setBackgroundColor` | 设置背景颜色 | `{slideIndex: 1, color: "#ffffff"}` |
| `setBackgroundImage` | 设置背景图片 | `{slideIndex: 1, path: "/path/to/bg.jpg"}` |
| `setBackgroundGradient` | 设置渐变背景 | `{slideIndex: 1, colors: ["#fff","#000"]}` |
#### 超链接
| method | 功能 | params示例 |
|--------|------|-----------|
| `addPptHyperlink` | 添加超链接 | `{shapeIndex: 1, url: "https://example.com"}` |
| `removePptHyperlink` | 移除超链接 | `{shapeIndex: 1}` |
#### 页脚与页码
| method | 功能 | params示例 |
|--------|------|-----------|
| `setSlideNumber` | 设置页码 | `{show: true, startFrom: 1}` |
| `setPptFooter` | 设置页脚 | `{text: "页脚内容"}` |
| `setPptDateTime` | 设置日期时间 | `{show: true, format: "auto"}` |
#### 查找替换
| method | 功能 | params示例 |
|--------|------|-----------|
| `findPptText` | 查找文本 | `{text: "关键词"}` |
| `replacePptText` | 替换文本 | `{find: "旧", replace: "新"}` |
#### 母版操作
| method | 功能 | params示例 |
|--------|------|-----------|
| `getSlideMaster` | 获取母版信息 | `{}` |
| `setMasterBackground` | 设置母版背景 | `{color: "#ffffff"}` |
| `addMasterElement` | 添加母版元素 | `{type: "logo", path: "/path/to/logo.png"}` |
#### 3D效果
| method | 功能 | params示例 |
|--------|------|-----------|
| `set3DRotation` | 3D旋转效果 | `{shapeIndex: 1, preset: "perspective"}` |
| `set3DDepth` | 3D深度效果 | `{shapeIndex: 1, depth: 50}` |
| `set3DMaterial` | 3D材质效果 | `{shapeIndex: 1, material: "metal"}` |
| `create3DText` | 创建3D文字 | `{text: "3D文字", preset: "default"}` |
#### 演示放映
| method | 功能 | params示例 |
|--------|------|-----------|
| `startSlideShow` | 开始放映 | `{fromSlide: 1}` |
| `endSlideShow` | 结束放映 | `{}` |
### 调用示例
```javascript
// 添加幻灯片
wps_execute_method({
appType: "wpp",
method: "addSlide",
params: { layout: "title_content", title: "项目进度" }
})
// 美化幻灯片
wps_execute_method({
appType: "wpp",
method: "beautifySlide",
params: { slideIndex: 1, style: "business" }
})
// 创建流程图
wps_execute_method({
appType: "wpp",
method: "createFlowChart",
params: { steps: ["需求分析", "设计", "开发", "测试", "上线"] }
})
// 添加KPI卡片
wps_execute_method({
appType: "wpp",
method: "createKpiCards",
params: { cards: [
{title: "营收", value: "100亿", trend: "up"},
{title: "用户", value: "500万", trend: "up"}
]}
})
// 设置3D效果
wps_execute_method({
appType: "wpp",
method: "set3DRotation",
params: { shapeIndex: 1, preset: "perspective" }
})
```
## 幻灯片布局类型
| 布局类型 | 代码 | 适用场景 |
|---------|------|---------|
| 标题页 | `title` | 封面、章节页 |
| 标题+内容 | `title_content` | 常规内容页 |
| 空白 | `blank` | 自由排版 |
| 两栏 | `two_column` | 对比内容 |
| 对比 | `comparison` | 方案对比 |
## 动画效果类型
| 动画类型 | 代码 | 效果描述 |
|---------|------|---------|
| 出现 | `appear` | 直接出现 |
| 淡入 | `fade` | 渐变出现 |
| 飞入 | `fly_in` | 从边缘飞入 |
| 缩放 | `zoom` | 放大出现 |
| 擦除 | `wipe` | 擦除出现 |
## 注意事项
### 设计原则
1. **少即是多**:不要添加过多元素
2. **一页一重点**:每页只讲一个核心观点
3. **图表优于文字**:能用图表不用文字
4. **动画适度**:动画不是越多越好
### 安全原则
1. **保留内容**:美化时保留用户原有内容
2. **确认操作**:大规模修改前确认
3. **不随意删除**:不主动删除用户元素
### 沟通原则
1. **询问偏好**:询问用户喜欢的风格
2. **解释选择**:说明为什么选择某种配色/布局
3. **提供建议**:给出专业的设计建议
## 专业 Tips
完成操作后,可以分享一些专业建议:
- **字号建议**:标题至少 28pt正文至少 18pt
- **行数建议**:每页正文不超过 6 行
- **颜色建议**:一套 PPT 主色不超过 3 种
- **字体建议**:中文微软雅黑/思源黑体,英文 Arial/Helvetica
- **图片建议**:使用高清图片,避免拉伸变形
---
*Skill by lc2panda - WPS MCP Project*
+107 -28
View File
@@ -50,7 +50,7 @@ description: WPS 文字智能助手,通过自然语言操控 Word 文档,解
### Step 2: 获取上下文
调用 `wps_word_get_context` 了解当前文档结构:
调用 `wps_get_active_document` 了解当前文档结构:
- 文档名称和路径
- 段落数量和字数
- 文档结构(标题层级)
@@ -65,13 +65,13 @@ description: WPS 文字智能助手,通过自然语言操控 Word 文档,解
### Step 4: 执行操作
调用相应工具完成操作:
- `wps_word_apply_style`:应用样
- `wps_word_set_font`:设置字体格
- `wps_word_find_replace`:查找替换
- `wps_word_insert_text`:插入文本
- `wps_word_generate_toc`:生成目录
- `wps_word_insert_table`:插入表格
调用相应MCP工具完成操作(通过 `wps_execute_method`appType设为"wps"
- `setFont`:设置字体格
- `applyStyle`:应用样
- `findReplace`:查找替换
- `insertText`:插入文本
- `generateTOC`:生成目录
- `insertTable`:插入表格
### Step 5: 反馈结果
@@ -88,8 +88,8 @@ description: WPS 文字智能助手,通过自然语言操控 Word 文档,解
**用户说**「把全文字体统一成宋体字号12号」
**处理步骤**
1. 调用 `wps_word_get_context` 了解文档情况
2. 调用 `wps_word_set_font` 设置全文字体:
1. 调用 `wps_get_active_document` 了解文档情况
2. 调用 `wps_execute_method` (method: "setFont") 设置全文字体:
- fontName: "宋体"
- fontSize: 12
- range: "all"
@@ -102,7 +102,7 @@ description: WPS 文字智能助手,通过自然语言操控 Word 文档,解
**处理步骤**
1. 获取上下文,检查文档是否有标题样式
2. 如果没有标题样式,提醒用户先设置
3. 调用 `wps_word_generate_toc` 生成目录:
3. 调用 `wps_execute_method` (method: "generateTOC") 生成目录:
- position: "start"(在文档开头)
- levels: 3显示3级标题
4. 告知用户目录已生成,可以通过 Ctrl+点击跳转
@@ -112,7 +112,7 @@ description: WPS 文字智能助手,通过自然语言操控 Word 文档,解
**用户说**:「把文档里所有的"公司"改成"集团"」
**处理步骤**
1. 调用 `wps_word_find_replace`
1. 调用 `wps_execute_method` (method: "findReplace")
- findText: "公司"
- replaceText: "集团"
- replaceAll: true
@@ -123,7 +123,7 @@ description: WPS 文字智能助手,通过自然语言操控 Word 文档,解
**用户说**「插入一个3行4列的表格」
**处理步骤**
1. 调用 `wps_word_insert_table`
1. 调用 `wps_execute_method` (method: "insertTable")
- rows: 3
- cols: 4
2. 可选:询问是否需要填充表头
@@ -135,7 +135,7 @@ description: WPS 文字智能助手,通过自然语言操控 Word 文档,解
**处理步骤**
1. 确认当前选中的内容
2. 调用 `wps_word_apply_style`
2. 调用 `wps_execute_method` (method: "applyStyle")
- styleName: "标题 1"
3. 告知样式已应用
@@ -229,20 +229,99 @@ description: WPS 文字智能助手,通过自然语言操控 Word 文档,解
2. **版本兼容**:考虑不同版本 WPS/Office 的差异
3. **格式保存**:提醒注意保存格式(.docx/.doc/.wps
## 可用工具列表
## 可用MCP工具
| 工具名称 | 功能描述 | 优先级 |
|---------|---------|-------|
| `wps_word_get_context` | 获取文档上下文信息 | P0 |
| `wps_word_insert_text` | 在指定位置插入文本 | P0 |
| `wps_word_apply_style` | 应用样式 | P0 |
| `wps_word_set_font` | 设置字体格式 | P0 |
| `wps_word_find_replace` | 查找替换 | P0 |
| `wps_word_generate_toc` | 生成目录 | P1 |
| `wps_word_insert_table` | 插入表格 | P1 |
| `wps_word_set_paragraph` | 设置段落格式 | P1 |
| `wps_word_insert_image` | 插入图片 | P2 |
| `wps_word_set_page` | 设置页面格式 | P2 |
本Skill通过以下MCP工具与WPS Office交互
### 基础工具
| MCP工具 | 功能描述 |
|---------|---------|
| `wps_get_active_document` | 获取当前文档信息(名称、路径、段落数、字数) |
| `wps_insert_text` | 在指定位置插入文本 |
### 高级工具(通过 wps_execute_method 调用)
使用 `wps_execute_method` 工具,设置 `appType: "wps"`,调用以下方法:
#### 文档管理
| method | 功能 | params示例 |
|--------|------|-----------|
| `getOpenDocuments` | 获取打开的文档列表 | `{}` |
| `switchDocument` | 切换文档 | `{name: "文档名.docx"}` |
| `openDocument` | 打开文档 | `{path: "/path/to/doc.docx"}` |
| `getDocumentText` | 获取文档全文 | `{}` |
#### 文本操作
| method | 功能 | params示例 |
|--------|------|-----------|
| `insertText` | 插入文本 | `{text: "内容", position: "end"}` |
| `findReplace` | 查找替换 | `{findText: "旧", replaceText: "新", replaceAll: true}` |
#### 格式设置
| method | 功能 | params示例 |
|--------|------|-----------|
| `setFont` | 设置字体 | `{fontName: "微软雅黑", fontSize: 12, bold: true}` |
| `applyStyle` | 应用样式 | `{styleName: "标题 1"}` |
| `setParagraph` | 设置段落 | `{alignment: 1, lineSpacing: 1.5}` |
#### 文档结构
| method | 功能 | params示例 |
|--------|------|-----------|
| `generateTOC` | 生成目录 | `{levels: 3}` |
| `insertPageBreak` | 插入分页符 | `{}` |
| `insertHeader` | 设置页眉 | `{text: "页眉内容"}` |
| `insertFooter` | 设置页脚 | `{text: "页脚内容"}` |
#### 页面设置
| method | 功能 | params示例 |
|--------|------|-----------|
| `setPageSetup` | 页面设置 | `{marginTop: 72, marginBottom: 72}` |
#### 插入内容
| method | 功能 | params示例 |
|--------|------|-----------|
| `insertTable` | 插入表格 | `{rows: 5, cols: 4}` |
| `insertImage` | 插入图片 | `{imagePath: "/path/to/image.png"}` |
| `insertHyperlink` | 插入超链接 | `{text: "链接文字", url: "https://example.com"}` |
| `insertBookmark` | 插入书签 | `{name: "书签名"}` |
#### 书签与批注
| method | 功能 | params示例 |
|--------|------|-----------|
| `getBookmarks` | 获取书签列表 | `{}` |
| `addComment` | 添加批注 | `{text: "批注内容"}` |
| `getComments` | 获取批注列表 | `{}` |
#### 文档信息
| method | 功能 | params示例 |
|--------|------|-----------|
| `getDocumentStats` | 获取文档统计 | `{}` |
### 调用示例
```javascript
// 设置字体
wps_execute_method({
appType: "wps",
method: "setFont",
params: { fontName: "微软雅黑", fontSize: 14, bold: true }
})
// 查找替换
wps_execute_method({
appType: "wps",
method: "findReplace",
params: { findText: "公司", replaceText: "集团", replaceAll: true }
})
// 插入页眉
wps_execute_method({
appType: "wps",
method: "insertHeader",
params: { text: "公司机密文档" }
})
```
## 快捷操作提示
@@ -257,4 +336,4 @@ description: WPS 文字智能助手,通过自然语言操控 Word 文档,解
---
*Skill by WPS-Claude-Skills Team*
*Skill by lc2panda - WPS MCP Project*