常见办公流程自动化中枢,覆盖文档处理、数据整理、邮件管理、日程协调、报表生成与工作流编排。 聚焦批量操作容错、格式保真、PII 脱敏、模板复用四大痛点,让繁琐办公一键稳妥完成。 核心能力: - 文档批处理:Word/PDF/Excel/PPT 批量生成、转换、合并拆分,含失败隔离与重试 - 数据整理:清洗、转换、...
---
slug: office-productivity-hub
name: office-productivity-hub
version: "1.0.0"
displayName: 办公效率中枢
summary: 解决批量炸裂、格式丢失、PII泄露、模板难复用痛点,让文档/数据/邮件/报表一键稳妥产出
license: MIT
description: |-
常见办公流程自动化中枢,覆盖文档处理、数据整理、邮件管理、日程协调、报表生成与工作流编排。
聚焦批量操作容错、格式保真、PII 脱敏、模板复用四大痛点,让繁琐办公一键稳妥完成。
核心能力:
- 文档批处理:Word/PDF/Excel/PPT 批量生成、转换、合并拆分,含失败隔离与重试
- 数据整理:清洗、转换、合并、统计,支持 CSV/JSON/XML/SQL 互转
- 邮件管理:批量发送、模板变量注入、附件大小治理、定时发送
- 日程协调:冲突检测、跨时区对齐、会议优先级排序
- 报表生成:数据采集、图表渲染、定时产出、自动分发
- PI脱敏:身份证/手机号/银行卡自动脱敏,敏感字段排除导出
适用场景:
- HR/财务/销售/行政/运营部门的批量文档与数据任务
- 合同/发票/报表的批量生成与转换
- 定时邮件与报表的自动分发
- 涉及敏感信息的合规化数据处理
差异化:
- 失败隔离 + 续跑机制,原版"一个失败全批崩"
- 格式保真检查表,原版未提格式损失风险
- PII 脱敏规则表,原版仅提"敏感信息脱敏"一句话
- 模板变量注入规范,原版只给示例无规范
触发关键词: 办公, 自动化, 批量, 文档, excel, word, pdf, 邮件, 报表, 模板, 脱敏
tags:
- 自动化
- 办公效率
- 文档处理
tools:
- read
- exec
---
# 办公效率中枢
把繁琐的日常办公工作自动化。覆盖文档、数据、邮件、日程、报表五大场景,每个场景都内建失败隔离、格式保真与合规检查。
## 功能矩阵
| 场景 | 核心能力 | 关键痛点解决 |
|:-----|:---------|:-------------|
| 文档处理 | Word/PDF/Excel/PPT 批量生成、转换、合并拆分 | 失败隔离 + 格式保真 |
| 数据整理 | 清洗、转换、合并、统计、格式互转 | 字段对齐 + 异常值处理 |
| 邮件管理 | 批量发送、模板变量、定时、附件治理 | 附件大小 + 退订合规 |
| 日程协调 | 安排、冲突检测、跨时区、优先级 | 冲突避免 + 时区对齐 |
| 报表生成 | 数据采集、图表、定时、自动分发 | 增量更新 + 多通道分发 |
## 失败隔离与续跑(核心差异化)
批量操作时**一个文件失败不阻断整批**:
```
批量处理 N 个文件
├─ 每个文件独立处理(try-catch)
├─ 失败的记录到 failed.log(含原因)
├─ 成功的继续,不打断
├─ 全部完成后汇总报告
└─ 提供 --resume 从 failed.log 续跑
```
示例:
```bash
# 批量 Word 转 PDF
scripts/office batch convert --input ./docs --to pdf --resume failed.log
# 输出:
# 处理 50 个文件:成功 47,失败 3
# 失败列表见 failed.log
# 续跑命令:scripts/office batch convert --resume failed.log
```
## 格式保真检查表
文档转换/生成前后逐项核对,避免格式损失:
- [ ] 字体一致(Word→PDF 时嵌入字体)
- [ ] 表格边框完整
- [ ] 图片分辨率未降级
- [ ] 页眉页脚保留
- [ ] 目录页码正确
- [ ] 公式可编辑(Excel→Excel 时)
- [ ] 批注与修订保留(按需)
转换矩阵:
| 源格式 → 目标格式 | 保真度 | 注意事项 |
|:------------------|:-------|:---------|
| Word → PDF | 高 | 嵌入字体、检查目录 |
| Excel → PDF | 中 | 页面布局易错,需调打印区域 |
| PPT → PDF | 高 | 动画丢失(预期) |
| PDF → Word | 中 | 复杂排版可能错位 |
| Excel → CSV | 低 | 公式变值、多 sheet 需拆 |
## PII 脱敏规则表
处理含个人信息的文档前**强制脱敏**:
| 字段类型 | 识别规则 | 脱敏方式 |
|:---------|:---------|:---------|
| 身份证 | 18 位数字(最后一位 X) | 保留前 6 后 4,中间 8 位 `*` |
| 手机号 | 11 位数字、1 开头 | 保留前 3 后 4,中间 4 位 `*` |
| 银行卡 | 16-19 位数字 | 保留后 4 位,其余 `*` |
| 邮箱 | 正则匹配 | 用户名首字符 + `***@domain` |
| 姓名 | 配合姓名库识别 | 保留姓,名用 `*` |
| 地址 | 配合地址库识别 | 保留到区/县,详细地址 `*` |
```bash
# 脱敏示例
scripts/office mask --input customers.xlsx --output customers_masked.xlsx \
--rules "id_card,phone,bank_card,email,name"
```
脱敏后**禁止**保留映射表与原文档同目录;映射表需加密存储并设访问权限。
## 模板变量注入规范
模板中使用 `{{变量名}}` 占位,注入时严格区分类型:
```text
{{name}} # 字符串
{{amount:money}} # 金额,自动千分位 + 货币符号
{{date:date}} # 日期,按配置格式化
{{items:table}} # 表格,从数据源循环渲染
{{if condition}}...{{end}} # 条件块
```
注入示例:
```bash
# 用员工名单批量生成劳动合同
scripts/office batch generate \
--template "劳动合同模板.docx" \
--data "员工名单.xlsx" \
--output "./output/劳动合同_$(date +%Y%m%d)/" \
--format pdf
```
模板变量规范:
- 变量名用小写下划线(`employee_name`)
- 日期统一 ISO 格式输入,按模板配置显示
- 金额统一分(int)输入,按货币配置显示
- 表格数据用 JSON 数组,每对象一行
## 使用方式(自然语言示例)
```text
批量生成劳动合同 使用template.docx 填充员工名单.xlsx
将这个文件夹下的Word文档转换为PDF
合并这10个Excel文件到一个工作簿
批量发送邮件 收件人列表.xlsx 邮件模板.txt
根据这个Excel数据生成销售周报
清洗这份客户数据 去除重复项 补全缺失信息 并脱敏后导出
帮我安排下周的会议 时间避开周三下午
根据数据库自动生成本月销售报表 并发送给相关人员
```
## 配置
### 邮件配置(可选)
```json
{
"skills": {
"entries": {
"office-productivity": {
"config": {
"email": {
"smtp_server": "smtp.example.com",
"smtp_port": 465,
"username": "your@email.com",
"password": "${EMAIL_PASSWORD}",
"max_attachment_size_mb": 25,
"chunk_large_attachments": true
}
}
}
}
}
}
```
密码走环境变量 `${EMAIL_PASSWORD}`,不入配置文件明文。附件超 25MB 自动分片或转链接。
### 输出示例
```text
========================================
任务执行报告
========================================
【任务类型】批量生成文档
【执行时间】2026-07-18 14:30:00
【处理概况】
模板文件: 劳动合同模板.docx
数据文件: 员工名单.xlsx
处理数量: 50 份
成功数量: 48 份
失败数量: 2 份(见 failed.log)
耗时: 12.5 秒
【PII 脱敏】已对身份证、手机号字段脱敏
【格式保真】字体已嵌入、表格边框完整
【生成文件】
输出目录: ./output/劳动合同_20260718/
文件列表:
- 张三_劳动合同.pdf
- 李四_劳动合同.pdf
- ... (共 48 个文件)
【失败文件】
- 王五_劳动合同.pdf(模板变量缺失:hire_date)
- 赵六_劳动合同.pdf(数据源第 23 行格式错)
续跑命令:scripts/office batch generate --resume failed.log
【统计信息】
文件大小总计: 24.2 MB
平均处理时间: 0.26 秒/份
效率提升: 相比手动操作节省约 2 小时
========================================
```
## 真实场景示例
### 场景1:HR 批量生成入职材料
```
用户:用入职模板给 50 个新员工生成劳动合同,转 PDF
执行:
1. 校验员工名单字段(姓名/身份证/岗位/薪资/入职日期)
2. PII 脱敏:身份证号中间 8 位打码(仅 HR 主管可解密)
3. 模板变量注入,生成 50 份 docx
4. 转 PDF(嵌入字体、保留页眉)
5. 失败隔离:2 份缺入职日期的单独记录
6. 输出报告 + 续跑命令
```
### 场景2:财务批量处理发票
```
用户:把这个文件夹的 100 张发票 PDF 转成 Excel 汇总
执行:
1. OCR 提取发票字段(号码/日期/金额/税额)
2. 字段对齐到 Excel 模板
3. 金额自动千分位 + 货币符号
4. 异常值检测(金额为负、日期未来)
5. 输出汇总 Excel + 异常清单
```
### 场景3:销售批量发邮件
```
用户:给 200 个客户发产品更新邮件,每个客户名字和产品不同
执行:
1. 校验收件人列表(邮箱格式、退订标记)
2. 模板变量注入({{name}}、{{product}})
3. 附件大小检查(>25MB 转链接)
4. 分批发送(每批 50,间隔 60s,避免被限流)
5. 退订合规:每封邮件含退订链接
6. 输出发送报告(成功/失败/退订)
```
### 场景4:运营定时报表
```
用户:每月 1 号自动生成上月销售报表发给老板
执行:
1. 配置 cron:0 9 1 * *
2. 从数据库采集上月销售数据
3. 渲染图表(柱状图/折线图)
4. 生成 PDF 报表(含目录、页眉)
5. 邮件发送给配置的收件人列表
6. 失败重试 3 次,仍失败告警
```
### 场景5:数据清洗与脱敏
```
用户:清洗客户数据 去重 补缺 脱敏后导出
执行:
1. 去重:按手机号 + 邮箱联合判重
2. 补缺:姓名/地址用规则补全或标记缺失
3. 脱敏:身份证、手机号、银行卡按规则表打码
4. 异常值处理:金额为负、日期未来 → 标记异常列
5. 导出清洗后 Excel + 异常清单
```
## FAQ
**Q1: 批量处理中某个文件失败怎么办?**
A: 失败隔离,记录到 `failed.log`,整批继续。完成后用 `--resume failed.log` 续跑失败项。
**Q2: Word 转 PDF 字体变了怎么办?**
A: 转换时启用字体嵌入。若目标字体缺失,安装字体后重转。格式保真检查表会标出字体不一致。
**Q3: 邮件附件超 25MB 怎么办?**
A: 自动分片(拆成多封)或上传到云存储转链接。配置 `chunk_large_attachments: true`。
**Q4: PII 脱敏后还能还原吗?**
A: 默认不可逆。如需可逆,映射表单独加密存储,访问需二次授权。建议生产环境默认不可逆。
**Q5: 模板变量找不到对应数据怎么办?**
A: 默认失败隔离,该文件记入 `failed.log`。可在模板中用 `{{if missing}}默认值{{end}}` 提供默认值。
**Q6: 大批量操作要多久?**
A: 文档生成约 0.25 秒/份,500 份约 2 分钟。邮件发送受 SMTP 限速,约 1 封/秒。建议分批 + 间隔。
**Q7: 支持哪些办公软件集成?**
A: Microsoft Office、WPS Office(本地文件操作);飞书/钉钉/企业微信(通过 Webhook/API)。
## 故障排查
| 现象 | 排查路径 |
|:-----|:---------|
| 批量处理中途崩 | 查 `failed.log` → 修复失败项 → `--resume` 续跑 |
| Word→PDF 格式乱 | 启用字体嵌入 → 检查页眉页脚 → 调整页面布局 |
| 邮件发送被限流 | 降并发到 1 封/秒 → 加间隔 → 检查 SPF/DKIM |
| Excel 公式变值 | 用 xlsx 而非 csv → 保留公式选项开启 |
| 模板变量未替换 | 检查变量名大小写 → 检查数据源字段名 → 用 `{{if missing}}` 兜底 |
| PII 漏脱敏 | 检查规则表是否覆盖该字段 → 用更宽的正则 → 人工抽检 |
| 报表图表不显示 | 检查数据源非空 → 检查图表类型匹配 → 渲染前预览 |
| 定时任务未触发 | 检查 cron 表达式 → 检查时区 → 查任务日志 |
## 支持格式
### 文档
- Word (.doc, .docx)
- Excel (.xls, .xlsx)
- PowerPoint (.ppt, .pptx)
- PDF
- Markdown / TXT
### 数据
- CSV / TSV
- JSON / XML
- SQL(导出/导入)
### 图像
- JPG / PNG
- PDF ↔ 图片互转
## 集成能力
- **办公软件**: Microsoft Office、WPS Office、飞书文档、钉钉文档
- **邮件系统**: Outlook、Foxmail、企业邮箱、QQ 邮箱、Gmail
- **云存储**: 百度网盘、阿里云盘、OneDrive、Google Drive
- **IM**: 飞书、钉钉、企业微信(通过 Webhook)
- **数据库**: MySQL、PostgreSQL、SQLite(用于报表数据采集)
## 安全保障
- 数据本地处理,默认不上传云端
- 敏感信息强制脱敏
- 操作日志全量记录(谁/何时/做了什么)
- 凭证走环境变量,不入配置文件
- 处理前自动备份原文件到 `.trash/`
## 注意事项
1. 处理前请备份原文件(脚本自动备份到 `.trash/`)
2. 大批量操作建议分批(每批 50-100)
3. 涉及敏感数据必须先脱敏
4. 邮件发送遵守退订合规(含退订链接)
5. 定时任务需校准时区
6. 自动化操作前先用 `--dry-run` 预览
## 依赖说明
### 运行环境
- **Agent 平台**: 任意支持 SKILL.md 的 AI Agent
- **操作系统**: Windows / macOS / Linux
- **办公软件**: Microsoft Office 或 WPS Office(本地文件操作需要)
### 第三方依赖
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|:-------|:-----|:---------|:---------|
| Python ≥ 3.9 | 运行时 | 必需(脚本依赖) | python.org |
| `python-docx` | 库 | 文档处理必需 | `pip install python-docx` |
| `openpyxl` | 库 | Excel 处理必需 | `pip install openpyxl` |
| `python-pptx` | 库 | PPT 处理必需 | `pip install python-pptx` |
| `pdfplumber` / `PyPDF2` | 库 | PDF 处理必需 | `pip install pdfplumber` |
| `pandas` | 库 | 数据整理必需 | `pip install pandas` |
| SMTP 服务 | 邮件发送 | 邮件场景必需 | 用户邮箱提供商 |
| LibreOffice(可选) | 文档转换 | 推荐(无 Office 时转 PDF) | libreoffice.org |
| LLM API | API | 必需 | 由 Agent 内置 LLM 提供 |
### API Key 配置
- 邮件 SMTP 凭证(用户名 + 密码/授权码,走环境变量 `${EMAIL_PASSWORD}`)
- 飞书/钉钉/企业微信 Webhook URL(IM 集成时)
- 数据库连接串(报表数据采集时,走环境变量)
- 云存储 API Token(如使用云存储集成)
### 可用性分类
- **分类**: MD+EXEC(Markdown 指令 + 必须通过 exec 执行 Python 脚本与命令行工具)
- **说明**: 基于自然语言指令驱动 Agent 完成办公自动化,含失败隔离、格式保真、PII 脱敏
don't have the plugin yet? install it then click "run inline in claude" again.