back
loading skill details...
WPS Office automation skill supporting document creation, Markdown conversion, and image-text layout.
---
name: wps-office
description: WPS Office automation skill supporting document creation, Markdown conversion, and image-text layout.
---
# WPS Office Skill
## 简介
WPS Office 自动化操作 Skill,支持本地文档操作和 WPS 365 云端协作功能。
## ⚠️ 安全警告
### 本地自动化风险
- **GUI 自动化**:本 Skill 使用 `pyautogui` 进行键盘输入模拟,可能会与当前活动窗口交互
- **文件操作**:Skill 会创建、打开和修改文件,请确保在受信任的环境中使用
- **权限要求**:macOS 需要授予辅助功能权限才能使用自动化功能
### 云端凭证安全
- **凭证存储**:WPS 365 功能需要配置 `app_id` 和 `app_secret`,建议:
- 不要在公共设备或共享环境中配置
- 定期更换凭证
- 使用环境变量而非明文配置文件(即将支持)
- **API 调用**:所有 WPS 365 API 调用使用 HTTPS 加密传输
### 建议
- 首次使用建议在沙盒环境或虚拟机中测试
- 审查 `scripts/main.py` 源码确认功能符合预期
- 如不需要 WPS 365 功能,可留空 `app_id` 和 `app_secret`
## 功能特性
### 本地文档操作(无需凭证)
- 📄 **创建文档** - 创建 Word、Excel、PPT 文档
- 📂 **打开文档** - 打开已有文档
- 📋 **文档列表** - 列出文档目录中的文件
- 🔄 **格式转换** - 支持 MD 转 Word/RTF/HTML
- 📦 **批量处理** - 批量转换文档格式
### Markdown 转换功能(新增)
- 📝 **MD → Word** - 完整 Markdown 转 Word(支持标题、列表、表格、代码块等)
- 📝 **Word → MD** - Word 文档导出为 Markdown
- 📊 **MD → Excel** - Markdown 转 Excel(表格变工作表,列表变数据)
- 📊 **Excel → MD** - Excel 转 Markdown
- 🎬 **MD → PPT** - Markdown 转 PPT(标题变幻灯片)
- 🎬 **PPT → MD** - PPT 转 Markdown
- 🖼️ **MD 含图片** - Markdown 转 Word 并处理图片
### 图片处理与图文混排(新增)
- 🖼️ **Word 图片插入** - 向 Word 文档插入图片,支持对齐和标题
- 🖼️ **Word 图片网格** - 批量插入图片形成网格布局
- 📐 **Word 图文混排** - 支持左图右文、右图左文、上图下文等布局
- 🖼️ **PPT 图片插入** - 向 PPT 幻灯片插入图片
- 📐 **PPT 图文混排** - PPT 幻灯片图文混排(4种布局)
- 🖼️ **Excel 图片插入** - 向 Excel 单元格插入图片
- 📐 **Excel 图文混排** - Excel 单元格图文混排
- 🎨 **图片处理** - 调整图片尺寸、批量压缩
### WPS 365 云端功能(需要凭证)
- 📊 **智能表单** - 表单创建、数据收集
- 📄 **智能文档** - 在线协作文档
- 📊 **多维表格** - 视图管理、字段管理、高级查询
- 📊 **流程图** - 流程图创建和导出
- 🧠 **思维导图** - 思维导图创建和导出
## 安装
### 1. 安装依赖
```bash
pip install requests pyautogui pyperclip Pillow
```
### 2. 配置 Skill
编辑 `config.json`:
```json
{
"default_save_path": "~/Documents/WPS",
"wps_path": "",
"app_id": "",
"app_secret": ""
}
```
### 3. 获取 WPS 开放平台凭证(可选)
仅在使用 WPS 365 功能时需要:
1. 访问 https://open.wps.cn
2. 注册开发者账号
3. 创建应用获取 App ID 和 App Secret
4. 将凭证填入 config.json
## 使用方法
### 本地文档操作
```bash
# 创建 Word 文档
python scripts/main.py create type=writer filename=报告.docx
# Markdown 转 Word(旧版,简单转换)
python scripts/main.py convert file=文档.md format=docx
# 批量转换
python scripts/main.py batch_convert dir=~/Documents format=pdf
```
### Markdown 转换功能(新增)
```bash
# Markdown 转 Word(完整版)
python3 scripts/main.py md_to_docx file=文档.md output=文档.docx title="我的文档"
# Word 转 Markdown
python3 scripts/main.py docx_to_md file=文档.docx output=文档.md
# Markdown 转 Excel(表格变工作表)
python3 scripts/main.py md_to_xlsx file=数据.md output=数据.xlsx title="销售数据"
# Excel 转 Markdown
python3 scripts/main.py xlsx_to_md file=数据.xlsx output=数据.md
# Markdown 转 PPT(标题变幻灯片)
python3 scripts/main.py md_to_pptx file=汇报.md output=汇报.pptx title="项目汇报"
# PPT 转 Markdown
python3 scripts/main.py pptx_to_md file=汇报.pptx output=汇报.md
# Markdown 转 Word(含图片处理)
python3 scripts/main.py md_with_images_to_docx file=文档.md output=文档.docx image_width=4
```
### 图片处理与图文混排(新增)
#### Word 图文混排
```bash
# 向 Word 文档插入图片
python3 scripts/main.py insert_image docx=文档.docx image=图片.png width=4 align=center caption="图片标题"
# 插入图片网格
python3 scripts/main.py insert_image_grid images="1.png,2.png,3.png" cols=2 width=3 output=相册.docx
# 创建图文混排布局
python3 scripts/main.py create_text_image_layout text="说明文字" image=图片.png layout=left output=图文.docx
```
#### PPT 图文混排(新增)
```bash
# 向 PPT 幻灯片插入图片
python3 scripts/main.py insert_image_to_ppt pptx=汇报.pptx slide=1 image=图片.jpg left=1 top=1 width=4
# 创建 PPT 图文混排
python3 scripts/main.py create_ppt_text_image_layout \
pptx=汇报.pptx \
slide=1 \
text="这是说明文字" \
image=图片.jpg \
layout=left \
image_width=4
```
#### Excel 图文混排(新增)
```bash
# 向 Excel 单元格插入图片
python3 scripts/main.py insert_image_to_excel \
xlsx=数据.xlsx \
sheet=Sheet1 \
cell=A1 \
image=图片.jpg \
width=100
# 创建 Excel 图文混排
python3 scripts/main.py create_excel_text_image_layout \
xlsx=数据.xlsx \
sheet=Sheet1 \
cell=A1 \
text="说明文字" \
image=图片.jpg \
layout=right \
image_width=100
```
**布局方式说明:**
- `layout=left` - 图片左,文字右
- `layout=right` - 图片右,文字左
- `layout=top` - 图片上,文字下
- `layout=bottom` - 文字上,图片下
### WPS 365 云端功能
```bash
# 智能表单
python scripts/main.py form_list
# 智能文档
python scripts/main.py doc_list
# 多维表格
python scripts/main.py sheet_list
python scripts/main.py sheet_views sheet_id=sheet_001
# 流程图
python scripts/main.py flow_list
# 思维导图
python scripts/main.py mind_list
```
## API 实现说明
### 本地功能实现
- 使用 `subprocess` 调用 WPS Office 应用程序
- 使用 `pyautogui` 模拟键盘输入(创建带内容的文档)
- 文件格式转换使用本地 WPS 引擎或 Python 库
### WPS 365 云端功能实现
- 使用 WPS 开放平台 REST API
- OAuth 2.0 认证流程
- 所有 API 调用使用 HTTPS 加密
- 支持自动 token 刷新
### API 端点
- 认证: `POST /auth/v1/token`
- 表单: `/forms/v1/*`
- 文档: `/docs/v1/*`
- 表格: `/sheets/v1/*`
- 流程图: `/flows/v1/*`
- 思维导图: `/minds/v1/*`
## 故障排除
### 本地功能问题
- **WPS 无法打开**:检查 WPS 是否已安装
- **自动化无响应**:检查 macOS 辅助功能权限
- **格式转换失败**:确保文件格式受支持
### WPS 365 功能问题
- **API 调用失败**:检查 app_id 和 app_secret 是否正确
- **网络超时**:检查网络连接,API 服务器是否可访问
- **权限不足**:检查应用是否有足够的 API 权限
## 版本信息
- **版本**: 1.0.0
- **作者**: MaxStorm Team
- **许可证**: MIT
- **源码**: https://github.com/maxstorm/wps-skill
don't have the plugin yet? install it then click "run inline in claude" again.