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 續跑
示例:
# 批次 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 → PDF | 中 | 頁面佈局易錯,需調列印區域 |
| PPT → PDF | 高 | 動畫丟失(預期) |
| PDF → Word | 中 | 複雜排版可能錯位 |
| Excel → CSV | 低 | 公式變值、多 sheet 需拆 |
處理含個人資訊的文件前強制脫敏:
| 欄位型別 | 識別規則 | 脫敏方式 |
|---|---|---|
| 身份證 | 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 小時
========================================
使用者:用入職模板給 50 個新員工生成勞動合同,轉 PDF
執行:
1. 校驗員工名單欄位(姓名/身份證/崗位/薪資/入職日期)
2. PII 脫敏:身份證號中間 8 位打碼(僅 HR 主管可解密)
3. 模板變數注入,生成 50 份 docx
4. 轉 PDF(嵌入字型、保留頁首)
5. 失敗隔離:2 份缺入職日期的單獨記錄
6. 輸出報告 + 續跑命令
使用者:把這個資料夾的 100 張發票 PDF 轉成 Excel 彙總
執行:
1. OCR 提取發票欄位(號碼/日期/金額/稅額)
2. 欄位對齊到 Excel 模板
3. 金額自動千分位 + 貨幣符號
4. 異常值檢測(金額為負、日期未來)
5. 輸出彙總 Excel + 異常清單
使用者:給 200 個客戶發產品更新郵件,每個客戶名字和產品不同
執行:
1. 校驗收件人列表(郵箱格式、退訂標記)
2. 模板變數注入({{name}}、{{product}})
3. 附件大小檢查(>25MB 轉連結)
4. 分批發送(每批 50,間隔 60s,避免被限流)
5. 退訂合規:每封郵件含退訂連結
6. 輸出傳送報告(成功/失敗/退訂)
使用者:每月 1 號自動生成上月銷售報表發給老闆
執行:
1. 配置 cron:0 9 1 * *
2. 從資料庫採集上月銷售資料
3. 渲染圖表(柱狀圖/折線圖)
4. 生成 PDF 報表(含目錄、頁首)
5. 郵件傳送給配置的收件人列表
6. 失敗重試 3 次,仍失敗告警
使用者:清洗客戶資料 去重 補缺 脫敏後匯出
執行:
1. 去重:按手機號 + 郵箱聯合判重
2. 補缺:姓名/地址用規則補全或標記缺失
3. 脫敏:身份證、手機號、銀行卡按規則表打碼
4. 異常值處理:金額為負、日期未來 → 標記異常列
5. 匯出清洗後 Excel + 異常清單
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 表示式 → 檢查時區 → 查任務日誌 |
本技能來自小蔥技能站7w4.net。
.trash/.trash/)--dry-run 預覽| 依賴項 | 型別 | 是否必需 | 獲取方式 |
|---|---|---|---|
| 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 提供 |
${EMAIL_PASSWORD})這個辦公自動化工具質量還不錯,覆蓋文件、郵件、資料處理等多個常見辦公場景,功能豐富且有批次處理能力。最貼心的是提供了失敗續跑機制和敏感資訊脫敏功能,文件說明詳細易懂。但美中不足的是,目前只有使用說明,缺少實際可執行的指令碼程式,使用者拿到手後可能無法真正使用,建議等作者補充完整的指令碼後再嘗試。整體適合需要處理大量文件和資料、對資訊安全有要求的辦公場景使用。