办公效率中枢
把繁琐的日常办公工作自动化。覆盖文档、数据、邮件、日程、报表五大场景,每个场景都内建失败隔离、格式保真与合规检查。
功能矩阵
| 场景 | 核心能力 | 关键痛点解决 |
|---|---|---|
| 文档处理 | Word/PDF/Excel/PPT 批量生成、转换、合并拆分 | 失败隔离 + 格式保真 |
| 数据整理 | 清洗、转换、合并、统计、格式互转 | 字段对齐 + 异常值处理 |
| 邮件管理 | 批量发送、模板变量、定时、附件治理 | 附件大小 + 退订合规 |
| 日程协调 | 安排、冲突检测、跨时区、优先级 | 冲突避免 + 时区对齐 |
| 报表生成 | 数据采集、图表、定时、自动分发 | 增量更新 + 多通道分发 |
失败隔离与续跑(核心差异化)
批量操作时一个文件失败不阻断整批:
批量处理 N 个文件
├─ 每个文件独立处理(try-catch)
├─ 失败的记录到 failed.log(含原因)
├─ 成功的继续,不打断
├─ 全部完成后汇总报告
└─ 提供 --resume 从 failed.log 续跑
示例:
# 批量 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 |
| 姓名 | 配合姓名库识别 | 保留姓,名用 * |
| 地址 | 配合地址库识别 | 保留到区/县,详细地址 * |
# 脱敏示例
scripts/office mask --input customers.xlsx --output customers_masked.xlsx \
--rules "id_card,phone,bank_card,email,name"
脱敏后禁止保留映射表与原文档同目录;映射表需加密存储并设访问权限。
模板变量注入规范
模板中使用 {{变量名}} 占位,注入时严格区分类型:
{{name}} # 字符串
{{amount:money}} # 金额,自动千分位 + 货币符号
{{date:date}} # 日期,按配置格式化
{{items:table}} # 表格,从数据源循环渲染
{{if condition}}...{{end}} # 条件块
注入示例:
# 用员工名单批量生成劳动合同
scripts/office batch generate \
--template "劳动合同模板.docx" \
--data "员工名单.xlsx" \
--output "./output/劳动合同_$(date +%Y%m%d)/" \
--format pdf
模板变量规范:
- 变量名用小写下划线(
employee_name) - 日期统一 ISO 格式输入,按模板配置显示
- 金额统一分(int)输入,按货币配置显示
- 表格数据用 JSON 数组,每对象一行
使用方式(自然语言示例)
批量生成劳动合同 使用template.docx 填充员工名单.xlsx
将这个文件夹下的Word文档转换为PDF
合并这10个Excel文件到一个工作簿
批量发送邮件 收件人列表.xlsx 邮件模板.txt
根据这个Excel数据生成销售周报
清洗这份客户数据 去除重复项 补全缺失信息 并脱敏后导出
帮我安排下周的会议 时间避开周三下午
根据数据库自动生成本月销售报表 并发送给相关人员
配置
邮件配置(可选)
{
"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 自动分片或转链接。
输出示例
========================================
任务执行报告
========================================
【任务类型】批量生成文档
【执行时间】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)
- 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/
注意事项
- 处理前请备份原文件(脚本自动备份到
.trash/) - 大批量操作建议分批(每批 50-100)
- 涉及敏感数据必须先脱敏
- 邮件发送遵守退订合规(含退订链接)
- 定时任务需校准时区
- 自动化操作前先用
--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 脱敏
评论
加载中…