office-file-processing
August 18, 2026 · View on GitHub
DSH(DeepSeek Harness)Skill:Office 文件处理与省 Token 工作流 DSH (DeepSeek Harness) Skill — Office file processing with a token-saving workflow
本 README 为中英双语(中文在前,English follows)。This README is bilingual (Chinese first, English follows).
📖 简介 / Introduction
中文:一个面向 DSH 的 Office 文件处理 skill,基于 Python 生态(openpyxl / python-docx / python-pptx / pandas / sqlite3)统一处理 Excel、Word、PowerPoint、CSV 文件与 SQLite 数据库。它内置三大独特工作流与一套严格的省 Token 规则,并以「交互式分组提问」为默认工作方式——让 AI 先按阶段问清需求、出确认清单、再动手执行,交付时只回摘要、不把数据灌进对话。
English: A DSH skill that processes Excel, Word, PowerPoint, CSV files and SQLite databases through the Python ecosystem (openpyxl / python-docx / python-pptx / pandas / sqlite3). It ships three distinctive workflows and a strict token-saving discipline, and defaults to an interactive grouped-Q&A mode — the agent collects requirements stage by stage, prints a confirmation checklist, then executes, returning only summaries instead of dumping data into the conversation.
🏆 核心优势 / Why This Skill
| # | 优势 / Advantage | 说明 / Description |
|---|---|---|
| 1 | 三大独特工作流 / Three distinctive workflows | Excel 全量 SQLite 中转、Word Markdown 初稿中转、PPT 场景化版式 + 强制公文审查 |
| 2 | 交互式分组提问(默认) / Interactive grouped Q&A (default) | 按阶段一次问 2-3 个问题、每题带选项与默认值,集齐后出确认清单再执行;信息给全可跳过,也可喊停 |
| 3 | 省 Token 设计 / Token-saving design | 文件留磁盘、对话只过摘要、脚本复用、大任务交子代理、长耗时放后台 |
| 4 | SQLite 零安装零服务 / Zero-install SQLite | Python 内置 sqlite3,一个 .db 文件即整个库,无需装数据库服务 |
| 5 | 开箱即用 / Ready to use | 内置 Excel/Word/PPT 探查脚本,先看结构再取数,绝不盲目全量读入 |
🔄 详细工作流程 / Detailed Workflow
0. 总流程 / Overview
① 交互式分组提问 ② 探查 ③ 执行(按文件类型走对应工作流) ④ 汇报
1. 交互式分组提问 / Interactive Grouped Q&A(默认工作方式 / default mode)
按 3 个阶段收集需求,每阶段一次问 2-3 个相关问题,用户一条回复作答:
| 阶段 / Stage | 中文 | English |
|---|---|---|
| 阶段 1 · 识别任务 | ① 处理哪个文件?② 想达到什么效果?(A 汇总统计 / B 清洗去重 / C 匹配合并 / D 格式排版 / E 入库查询) | ① Which file? ② What outcome? (A aggregate / B dedupe / C merge-match / D formatting / E import-query) |
| 阶段 2 · 明确细节 | 分组列 / 筛选条件 / 输出文件名等 | Group-by column / filters / output filename, etc. |
| 阶段 3 · 确认 | 单行确认清单,回复 Y 开始执行 | One-line confirmation; reply Y to run |
纪律 / Rules:
- 按阶段分组,只问意图、不碰数据 / Ask intent only, never data content;
- 已给信息不重复问,信息给全自动跳过提问 / Skip what's already given;
- 说「不用提问」即退回一次性问清 / Say "skip questions" to fall back;
- 确认清单获 Y 才动手,完成后追问是否调整 / Execute only after confirmation.
2. Excel 工作流:全量 SQLite 中转 / Excel: SQLite-First Pipeline
无论数据量大小,Excel/CSV 任务一律走统一链路,聚合、JOIN、筛选、去重全部在 SQL 层完成,只把汇总结果带回对话:
Excel/CSV ──导入──▶ SQLite(.db) ──SQL 查询/汇总──▶ pandas ──导出──▶ Excel 报表
| 步骤 / Step | 动作 / Action |
|---|---|
| 1 | 探查:excel_probe.py 看 Sheet 列表、行列数、列名、dtype、前 3 行样本 |
| 2 | 导入:df.to_sql('表名', conn, if_exists='replace', index=False);长期数据先定主键建索引 |
| 3 | 查询:pd.read_sql('SELECT ...', conn),聚合/JOIN/筛选在 SQL 层做 |
| 4 | 导出:df.to_excel();需格式时用 openpyxl 加工(边框/合并/列宽/样式) |
3. Word 工作流:Markdown 初稿中转 / Word: Markdown-First Draft
初稿先写 Markdown(省 Token、易审阅),再转 docx,确认后才做精细排版:
写 .md 初稿 ──▶ pandoc 转 .docx(不可用时 md2docx.py 兜底)──▶ 用户确认 ──▶ python-docx 精细排版
- 公文类任务(通知/报告/纪要/讲话等)联动
official-document-writingskill 起草规范; - 修改现有文档:遍历段落与表格单元格替换文本,报告替换次数。
4. PowerPoint 工作流:场景化版式 + 强制公文审查 / PPT: Scenario Layouts + Mandatory Document Review
Markdown 内容 + 用途声明 ──▶ 公文写法审查 ──▶ 场景版式自动选 ──▶ 图片占位双保险 ──▶ 交付 .pptx + 审查回执
| 用途 / Scenario | 版式 / Layout |
|---|---|
| 座谈会 / 党政汇报 | 庄重政务风(深蓝/红金、方正字体) |
| 路演 / 产品发布 | 商务冲击风(深色背景、高对比大标题) |
| 培训 / 教学 | 清晰教学风(浅色、分区明确) |
| 工作总结 / 述职 | 稳重商务风(蓝白、数据化排版) |
- 图片占位双保险:页面灰色占位框 + 演讲者备注栏再写一遍插图建议;
- 修改现有 PPT:遍历 shapes 按关键词匹配替换,报告每页改动数。
5. 省 Token 规则 / Token-Saving Rules(全程遵守 / always on)
- 探查先行 / Probe first —— 先看结构再取数,不全量读入;
- 摘要回传 / Summaries only ——
head(3)+info()+ 统计数字,不打印全表全文; - 结果落盘 / Write to disk —— 输出写文件,对话只报关键数字与路径;
- 意图问清、数据留盘 / Intent in, data out —— 提问只收集意图,数据永不进对话;
- 脚本复用 / Reuse scripts —— 处理脚本存 .py,同类任务改参数调用;
- 大任务交子代理 / Delegate big jobs —— 多文件合并清洗等交给后台子代理,主会话只收摘要;
- 长耗时放后台 / Background long jobs —— 大文件转换后台跑,完成才汇报。
🧭 使用示例 / Usage Example
用户:帮我汇总一下 2026 年销售数据.xlsx
助手:【阶段 1/2】① 要处理哪个文件?② 目标?(回复字母):A 汇总统计 B 清洗去重 C 匹配合并 D 格式排版 E 入库查询
用户:A,按产品分组求和
助手:【阶段 2/2】① 按「产品」列分组,对吗?② 输出文件名?(默认 2026 年销售数据_汇总.xlsx)
用户:Y
助手:✅ 处理完成 → 2026 年销售数据_汇总.xlsx。共 12,340 行,按产品分组生成 5 行汇总。
📦 安装 / Installation
中文:
- 将本目录复制到 DSH 的用户 skill 目录:
~/.dsh/skills/office-file-processing/ - 安装 Python 依赖:
pip install openpyxl python-docx python-pptx pandas pypandoc pypdf pdfplumber olefile - 重启 DSH(或等待 skill 目录热更新),在会话中直接提出 Office 处理需求即可自动调用。
English:
- Copy this directory into DSH's user skill directory:
~/.dsh/skills/office-file-processing/ - Install dependencies:
pip install openpyxl python-docx python-pptx pandas pypandoc pypdf pdfplumber olefile - Restart DSH (or wait for hot reload), then simply ask for Office work in a session.
依赖版本(本机实测)/ Verified versions: openpyxl 3.1.5、python-docx 1.2.0、python-pptx 1.0.2、pandas 3.0.5、pypandoc 1.17(pandoc 3.9)、pypdf、pdfplumber、olefile;sqlite3 为 Python 内置 / built-in。
📁 目录结构 / Directory Structure
office-file-processing/
├── SKILL.md # skill 主体:工作流、省 Token 规则、环境约定 / main instructions
├── README.md # 本文件 / this file
├── LICENSE # Apache-2.0
└── scripts/
├── excel_probe.py # Excel 紧凑探查 / compact Excel probe
├── word_probe.py # Word 紧凑探查 / compact Word probe
├── ppt_probe.py # PPT 紧凑探查 / compact PPT probe
└── md2docx.py # Markdown 转 docx 兜底 / Markdown→docx fallback
⚙️ 环境要求 / Requirements
- DSH(DeepSeek Harness)
- Python 3.10+(本机 3.13 实测 / tested on 3.13)
- 依赖库见上 / dependencies listed above
中文:仓库内 SKILL.md 已做通配化处理——Python 路径、工作目录等使用 <Python安装目录>、<工作目录> 占位符,安装后按本机环境替换(见 SKILL.md「环境约定」节)。旧版 .xls 请先转存 .xlsx;扫描版 PDF 需先转文字版。
English: SKILL.md is generalized — Python path and workspace use placeholders (<Python安装目录>, <工作目录>); replace them for your machine (see SKILL.md "环境约定"). Convert legacy .xls to .xlsx first; scanned PDFs need a text layer.
📄 许可证 / License
Apache License 2.0 — 详见 / see LICENSE。