文件轻量化处理 —— 本地文档转文本(省 TOKEN)
用途
在本地把二进制办公文档转成「纯文字 + 表格」的 Markdown / 纯文本,再让 WorkBuddy 只读取轻量文本。这样可把读取大文件(尤其 PDF 扫描件、图表多的 PPT)的 TOKEN 消耗降低 60%–90%,同时保留文字与表格信息。
何时触发
- 用户要读取 / 摘要 / 审查 / 对比
.docx .xlsx .pptx .pdf .wps .et .dps .doc .xls .ppt等文件 - 用户提到「转文本」「省 TOKEN」「文件太长读不懂」「先把文档转成文字再发你」「文件轻量化」「轻量化处理」
- 用户给出文件后,先转换再处理,而不是直接读原始二进制
- 用户调用本技能("文件轻量化处理")并指定文件或文件夹
工作流程
- 确认目标:用户指定的文件或文件夹;若未指定,优先用工作区的
Inbox/文件夹(放入文件即被定时自动化每小时自动转换)。 - 运行转换脚本(用本机 managed python,依赖已装好):
- 默认转 Markdown:<managed-python> <skill>/scripts/office2md.py <文件或文件夹>
- 转纯文本:追加-f txt
- 扫描件 PDF:脚本自动 OCR;也可--ocr强制走 OCR
- 大 Excel 限行:--max-rows 200(0 = 不限制)
- 整层目录递归:--recursive - 转换完成后,只读取生成的
<原名>.md/<原名>.txt,不要再读原始二进制文件。 - 基于文本继续完成用户的真实需求(摘要、风控审查、对比、字段提取等)。
关键路径(本机)
- managed python:
C:\Users\16473\.workbuddy\binaries\python\versions\3.13.12\python.exe - 技能脚本:
C:\Users\16473\.workbuddy\skills\文件轻量化处理\scripts\office2md.py - 监听文件夹:
C:\Users\16473\WorkBuddy\2026-08-08-10-18-01\Inbox\(定时自动化每小时自动转换新放入的办公文档)
若技能脚本不在上述绝对路径,用 Glob 在 ~/.workbuddy/skills/文件轻量化处理/ 下查找 scripts/office2md.py。
OCR 依赖
扫描件识别依赖 pypdfium2 与 rapidocr-onnxruntime(及 numpy、onnxruntime)。若未装,先安装(国内建议走清华镜像加速):
"<managed-python>" -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pypdfium2 rapidocr-onnxruntime
若安装后仍报 DLL load failed ... onnxruntime_pybind11_state ... 找不到指定的模块:这是本机缺标准版 Microsoft Visual C++ 运行库(关键缺失项是 MSVCP140_1.dll;WinSxS 仅有 _clr0400 变体、Python 自带的 VC++ DLL 不在搜索路径)。两种修复:
1. 安装 Microsoft Visual C++ 2015-2022 Redistributable (x64)(官网 vc_redist.x64.exe,需管理员);
2. 免管理员:从本机其他带标准 VC++ 的软件(如 OneDrive / Edge / WeMeet 目录)复制 vcruntime140.dll、vcruntime140_1.dll、msvcp140.dll、msvcp140_1.dll 四个 DLL 到 <managed-python>/Lib/site-packages/onnxruntime/capi/。
非扫描件(含文本层)无需 OCR,pdftotext(poppler)即可提取,速度更快。
示例
- 用户:「用 文件轻量化处理 处理这份城投报告.pdf,帮我看风险点」→ 运行脚本转
.md→ 读取.md→ 输出风险分析。 - 用户:「把这文件夹里所有 Excel 转成文本」→
office2md.py <文件夹> -f txt --recursive。 - 用户:「这是扫描的合同,识别下关键条款」→ 脚本检测到无文本层自动 OCR → 读取结果。