办公文档三件套(Word/Excel/PDF)

SKILL效率
效率 未标注权限 许可证不明确
安装这个技能

办公文档三件套(Word/Excel/PDF)。云端文档体检 0.99 元/次:Excel 公式错误残留、缓存值过期、编号列精度风险,文本身份证/手机号/银行卡/邮箱扫描与脱敏建议——不需要装环境、不上传文件本体。同时内置本地处理能力:排序/筛选/活公式/图表、自动目录/页眉页码/Markdown 转 Word、PDF 打码与水印、一键模板、85 项功能自检。

一句话选型结论

按资料字段整理

办公文档三件套(Word/Excel/PDF)是效率类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类效率 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_69794d19/office-doc-suite
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

效率
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_69794d19仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791737678
正文体量40.9 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
整理待办与日程

把零散任务收进清单,排出优先级。

批量处理重复任务

把固定动作做成模板,重复执行。

把流程写成清单

把口头流程整理成可复用的步骤。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在效率场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
办公文档三件套(Word/Excel/PDF)当前 未标注权限 未标注 未标注 未标注 有
Nano PDF 文档 联网访问 ClawHub 市场 424.9 万 OpenClaw 有
自动更新程序 浏览器控制 ClawHub 市场 296.4 万 OpenClaw 有
Gemini 助手 联网访问 ClawHub 市场 254.7 万 OpenClaw 有
word DOCX 文档 联网访问 ClawHub 市场 239.6 万 OpenClaw 有
Excel XLSX 前端 联网访问 ClawHub 市场 227.0 万 OpenClaw 有

SKILL.md 全文

40.9 KB
模型实际读到的说明书原文,来自技能仓库

办公文档三件套(Word / Excel / PDF)

一句话:在你自己的电脑上处理 Word、Excel、PDF——不联网、不上传、不需要 API Key。


30 秒看懂

你交给它 它帮你做
一份周报模板 把「【姓名】」批量换成你的名字,格式一点不乱
4 个部门的 Excel 合并成一个 → 算合计 → 排序 → 筛出达标行 → 画柱状图
一份快发出去的合同 PDF 把身份证、手机号真正从文件里删掉,再加「内部资料」水印
一份 .doc / .xls 老文件 自动转成 .docx / .xlsx 再处理
什么都没有 生成工作报告 / 月度预算 / 合同 / 简历模板

它不会做的:联网调 AI(改写润色、录音转写)、专业排版。
扫描件(图片 PDF):能渲染成图片交给"能看图的 AI"读出文字(ocr_helper.py),但识别质量取决于模型,本套件不含内置 OCR 引擎。
原因见「能力边界」。


💰 收费说明(只有云端体检收费)

做什么 在哪跑 花钱吗
云端文档体检:Excel 公式体检 / 文本敏感信息扫描 +可归档体检凭证(JSON / Markdown / PDF) 商家服务端 0.99 元/次
其它全部功能:排序/筛选/活公式/图表、打码/水印、目录/页眉、模板、自检…… 你自己的电脑 免费,不弹付款

什么时候走云端(付费)/ 什么时候留在本地(免费)

用户要什么 走哪条 为什么
自己看看 / 改文件:排序、筛选、打码、水印、目录、模板、批量出报告 本地 · 免费 自己电脑就能做,不上传、不花钱
要一份能拿出去、可归档、可对账的正式体检结论(带订单号 / 时间 / 规则版本) 云端 · 0.99 元/次 结论由服务端签发并留痕;本地生成的报告不具备这种可举证性
本机装不了 Python 或依赖(公司电脑、离线机器),但确实要体检 云端 · 0.99 元/次 免装环境,规则只在服务端跑
要服务端统一维护、持续更新的规则库结论 云端 · 0.99 元/次 规则在服务端升级,不必逐台电脑更新

> 按需选用,不强行推荐:能本地做完的,直接本地做完;需要可归档结论或本机装不了环境时,再说明云端体检可选(0.99 元/次)。是否使用由你决定。

付款界面从哪来(官方口径):SkillHub 的 Pay Skill 设计就是「在 AI 智能体内直接完成支付、无需跳出界面」——
收银界面由支付宝官方买家组件(@alipay/agent-payment)渲染并弹出,就是那个「Agent 支付体验助手」窗口:
金额 / 订单号 / 「点此授权」/ 二维码。
我们的脚本只负责调起官方组件(pay 里跑官方 alipay-bot),不自己造收银台;同时把同一份收银信息
(金额 / 订单号 / 链接 / 二维码)也贴到对话里,保证在"弹不出官方窗口"的宿主里照样能付:

支付宝 AI 付 · 待你授权付款
  金额:¥0.99    订单号:2026…
  支付链接:https://u.alipay.cn/_…
  二维码:![支付宝收款码 ¥0.99](file:///…/payment-confirm-….png)
  · 现在还没扣钱:你在支付宝确认授权后才扣 ¥0.99
  · 不打算付就直接关掉,订单会自己失效,不产生费用

> 完整流程:跑 probe(不扣钱)拿到 402 账单 → 跑 pay → 官方组件弹收银界面(或看对话里的付款卡)→
> 你授权付款 → 跑 complete 取回结果。

调用顺序(四步,请按顺序执行)

> 助手请注意:不要跳步,也不要自己另写请求代码——统一调用本包脚本,否则订单对不上。
>
> 第 1 步若报「有未完成的账单」:说明上一次的账单还挂着(防串单)。没付款就执行 node scripts/office-doc-suite-paid.mjs reset 清理;
> 已付款就用 complete --out-shake-no <订单号> 取结果,不要重新下单。过期账单会被自动清理。

步骤 命令 要点
1 前置检查 node scripts/office-doc-suite-paid.mjs precheck 缺官方支付组件就停下并告诉用户装什么,别硬往下跑
2 取账单 ... probe --kind text --text "<待检文本>" 预期 HTTP 402 + Payment-Needed;原始请求体会落盘,第 4 步要复用;请求会带一个会话标识(X-ODS-Session),服务端据此区分不同用户的请求(只用于统计,不含个人信息)
3 拉起收银 ... pay 由用户本人扫码授权,Agent 只转达、不得代付
4 取回结果 ... complete --out-shake-no <交易号> 最容易漏:漏了拿不到报告;执行后自动生成可归档凭证(体检凭证/云端体检凭证-<订单号>.json/.md/.pdf,含服务端原文 SHA-256,可对账可校验);同订单重复执行是幂等的
  • 入参不全时服务端把缺项写进 402 响应体(input_ready=false)——先补齐再付,避免白付。
  • 依赖:node >= 18;付款需官方 CLI:npx -y @alipay/agent-payment@latest install。
  • 数据流向:只发你提交的文本/摘要(发送前把身份证/手机号/银行卡/邮箱换成占位符),文件本体不上传;脚本不接触任何密钥。

什么时候用这个 Skill

该用:
- 手上是 .docx / .xlsx / .pdf / .doc / .xls,要生成、改、合并、拆分、转换
- 表格要排序、筛选、算合计、写活公式、出图表,或发出去前想查一遍有没有公式错误
- Word 要自动目录、页眉页脚页码,或要把 Markdown 转成 Word
- PDF 要加水印,或要把身份证 / 手机号 / 银行卡 / 邮箱打码(对外发送前必做)
- 要工作报告、月度预算、合同、简历的现成模板

不该用:
- 需要 AI 改写、录音转写、云端检索 → 换联网型 Skill(那类功能会把文档送出本机)
- 扫描件(图片 PDF)里的文字 → 本套件读不到,先做 OCR
- 专业排版(艺术字、复杂图表排版)→ 用 Word / WPS


🗣️ 对 AI 怎么说(照抄就能用)

不用记命令,直接用日常话说;命中下面任一句式,AI 就会用本套件:

你想干的事 直接这样说
合并多张表 「把这几张 Excel 合并成一张,表头只留一行」
排序 / 筛选 「按销售额从高到低排一下」「只留达成率≥100 的行」
写公式 「加一列达成率,用活公式,别写死数字」
出图 「用部门做横轴、销售额做纵轴,生成柱状图」
交付前体检 「这表发出去前帮我查一遍有没有公式错误」
编号防截断 「身份证列别变成科学计数法,转成文本」
目录 / 页眉 「给这份 Word 加自动目录」「加页眉"内部资料"和页码」
Markdown 转 Word 「把这份 Markdown 转成 Word,保留标题层级和表格」
PDF 打码 「这份合同发给客户前,把身份证和手机号打码,并给我一份打码清单」
PDF 水印 「给这份 PDF 加"内部资料"水印,平铺」
批量处理 「这个目录下所有 PDF 都加水印」
现成模板 「给我一份工作报告模板」「生成月度预算表」
旧格式 「这份 .xls 打不开,先转成 .xlsx」
扫描件取字 「这份 PDF 是扫描的,帮我读出里面的文字」(走 ocr_helper.py:渲染成图片交给能看图的 AI)
交付前盘点 「这个文件夹里所有文件,发出去前挨个体检一遍,给我一份报告」(走 checkup_report.py,出 Markdown/PDF 报告)
要可归档的体检结论 「这段文字要交给法务归档,帮我出一份带订单号和时间、能对账的体检结论」(这种要服务端签发 → 走云端体检 0.99 元/次)
本机跑不了 「我这台电脑没装 Python,也装不了东西,帮我查这段文字里的敏感信息」(本地命令跑不了 → 走云端体检 0.99 元/次)
要能归档的凭证 「体检完给我一份能归档的凭证(带订单号,能对账)」(付款后 complete 会自动产出 JSON/Markdown/PDF 凭证)

说不清也没关系:直接说「我这份表要发给客户前检查一下」,它会先跑 health 体检再给结论。


✨ 效果速览(不用看图,三行看懂每项能力会产出什么)

① 表格:合并 → 活公式 → 排序 → 筛选 → 出图 → 体检

你跑的命令 你会得到什么
xlsx_tool.py merge 华东.xlsx 华南.xlsx -o 汇总.xlsx 一张汇总表,表头只保留一行
xlsx_pro.py formula 汇总.xlsx -o 汇总2.xlsx -col 达成率 -tpl "=ROUND({销售额}/{目标}*100,1)" 新增「达成率」列,写的是 =ROUND(B2/C2*100,1) 这种活公式——你改原始数字,它自动重算
xlsx_pro.py sort 汇总2.xlsx -o 排序.xlsx -col 达成率 -desc 按达成率从高到低排好,公式跟着行走,不会出现"数据对了、公式指错行"
xlsx_pro.py filter 排序.xlsx -o 达标.xlsx -col 达成率 -op ge -value 100 只留达标的行,表头保留;一条都没命中会明确告诉你原因
xlsx_pro.py chart 达标.xlsx -o 图.xlsx -x 部门 -y 达成率 -kind auto 表里嵌一张图;auto 会看数据量自动选饼图 / 柱状图 / 折线图
xlsx_pro.py protect 花名册.xlsx -o 修复.xlsx -cols 身份证号,手机号 编号列强制存文本,不再出现 1.101e+17 或丢掉前导零

体检(health)会直接告诉你这样的结论:

1) 公式错误残留: 0
2) 缓存值可能过期: 4        → 用 Excel/WPS 打开重算一次
3) 公式内硬编码数字: 2      → 建议改成引用「假设单元格」
4) 编号类字段被存成数字: 1  → 列「身份证号」3 个疑似 → 跑 protect
结论: ❌ 建议修完再交付

② PDF:对外发送前的标准动作

你跑的命令 你会得到什么
pdf_redact.py scan 合同.pdf 只读体检:第几页有哪些身份证 / 手机号 / 卡号 / 邮箱(输出已脱敏)
ocr_helper.py render 扫描件.pdf -o out/ 扫描件(图片 PDF)也能读:每页导出 PNG,交给能看图的 AI 读出文字(零额外安装,不用 tesseract)
checkup_report.py 资料/ -o 体检报告.md --pdf 一批文件一次体检完,出一份能直接发给同事/客户的报告(Markdown + PDF)
pdf_redact.py redact 合同.pdf -o 脱敏.pdf --mode black 这些号码从文字层里真正删除(不是盖个黑框),页面出现黑框,并生成 脱敏-打码清单.csv(页码 / 类型 / 脱敏内容 / 坐标)
pdf_redact.py watermark 脱敏.pdf -o 对外版.pdf -text "内部资料 禁止外传" -mode diagonal 每页斜向一行水印,中文正常显示
pdf_redact.py batch D:\合同目录 -o D:\对外版 -text "样本" -mode tile 整目录批量平铺水印,逐个文件报告成功 / 失败

③ Word:让文档像正式文件

你跑的命令 你会得到什么
word_advanced.py outline 方案.docx 先读大纲:列出所有标题层级,确认能不能生成目录
word_advanced.py toc 方案.docx -o 目录版.docx 文首出现「目录」+ 真正的 TOC 域;Word 里按 F9 就出页码
word_advanced.py header 方案.docx -o 终稿.docx -header "市场部" -footer "第 X 页 / 共 Y 页" 页眉是文字,页脚是真域代码(PAGE / NUMPAGES),不是打死的字符串
word_advanced.py md2docx 说明.md -o 说明.docx Markdown 直转 Word:标题层级、列表、表格、代码块、粗体都保留

> 三张演示图(真实产物渲染)放在仓库的 docs/images/ 下;部分页面不显示图片时的替代方案就是上面这三张表。


📦 安装(装一次就行)

# 一键安装全部(推荐)
python scripts/setup_check.py install

# 或手动装
pip install python-docx openpyxl PyPDF2    # 必需:Word / Excel / PDF 基础
pip install pymupdf                         # 可选:PDF 转图片、加页码、水印、打码
pip install pycryptodome                    # 可选:解密 AES 加密的 PDF
pip install xlrd                            # 可选:转旧版 .xls → .xlsx

> Windows:路径直接粘贴完整路径即可,如 D:\文档\报告.pdf(含空格时用双引号包住)。
> 旧版文件:.xls 装 xlrd 后用 convert_legacy.py 自动转 .xlsx;.doc 装了 LibreOffice 会自动转,没装会提示你另存。


🔧 能力清单

Word(docx_tool.py + word_advanced.py)

常用:保真替换(只改字不动格式)|批量替换(一次替换多组)|生成文档|转纯文本
进阶:自动目录|页眉页脚与页码|标题分页|Markdown 转 Word|读取大纲

Excel(xlsx_tool.py + xlsx_pro.py)

常用:读取|统计(合计 / 平均 / 最大 / 最小)|生成带合计的报表|多文件合并
进阶:排序|条件筛选|活公式|图表|公式体检|编号类型保护

PDF(pdf_tool.py + pdf_redact.py + ocr_helper.py)

常用:合并|拆分|提取文字|转图片|加页码|加密 / 解密|查看信息
进阶:敏感信息打码(真删文字层)+ 打码清单|文字水印(对角 / 平铺 / 整目录批量)|扫描件渲染成图片交给 AI 视觉识别

交付前盘点(checkup_report.py)

一句话:把一批文件(Excel / Word / PDF,支持整个目录)一次体检完,出一份可交付报告(Markdown,可选 PDF 与 JSON)。
每份文件按类型自动选体检项:Excel 查公式错误/缓存值/硬编码/编号精度,Word 查标题层级,PDF 查敏感信息(扫描件会标注"读不到文字")。

模板(templates/gen_templates.py)

工作报告(含数据指标表与下期计划表)|月度预算(收入 / 支出 / 汇总三表,自带公式)|合同(九条通用条款 + 签署表)|简历(六段式骨架)

旧格式(convert_legacy.py)

.xls → .xlsx(纯本地自动转)|.doc → .docx(装了 LibreOffice 自动转)


⌨️ 常用命令(按使用频率排序,够用就行)

# 表格
python scripts/xlsx_tool.py stats 表.xlsx -col 销售额
python scripts/xlsx_tool.py merge a.xlsx b.xlsx -o 合并.xlsx
python scripts/xlsx_pro.py health 表.xlsx
python scripts/xlsx_pro.py sort 表.xlsx -o 排序.xlsx -col 销售额 -desc
python scripts/xlsx_pro.py filter 表.xlsx -o 筛选.xlsx -col 销售额 -op ge -value 10000

# PDF
python scripts/pdf_tool.py merge 1.pdf 2.pdf -o 合集.pdf
python scripts/pdf_tool.py split 合集.pdf -pages 1-3,5 -o 拆分目录
python scripts/pdf_redact.py redact 合同.pdf -o 脱敏.pdf --mode black
python scripts/pdf_redact.py watermark 合同.pdf -o 水印.pdf -text "内部资料"

# Word
python scripts/docx_tool.py replace-batch 模板.docx -o 成品.docx -pairs "【姓名】=>张三|【部门】=>市场部"
python scripts/word_advanced.py toc 方案.docx -o 方案-目录.docx

# 模板 / 自检
python templates/gen_templates.py --dir ./out
python scripts/self_test.py

<details>
<summary>📖 完整命令参考(点开看全部参数)</summary>

Word 基础 python scripts/docx_tool.py

create out.docx -title &quot;周报&quot; -body &quot;内容1|内容2&quot; -table &quot;A,B|1,2&quot;
replace in.docx -o out.docx -find &quot;旧&quot; -replace &quot;新&quot;
replace-batch in.docx -o out.docx -pairs &quot;旧1=&gt;新1|旧2=&gt;新2&quot;
totext in.docx -o out.txt

Word 增强 python scripts/word_advanced.py

outline 方案.docx
toc 方案.docx -o 方案-目录.docx -levels 3
header 方案.docx -o 终稿.docx -header &quot;XX公司&quot; -footer &quot;第 X 页 / 共 Y 页&quot;
pagebreak 方案.docx -o 分页版.docx -level 1
md2docx 说明.md -o 说明.docx

Excel 基础 python scripts/xlsx_tool.py

read data.xlsx [-sheet 表名]
stats data.xlsx -col 销售额
report data.xlsx -o 报表.xlsx -cols 销售额,目标 -sum 销售额
merge a.xlsx b.xlsx -o merged.xlsx

Excel 增强 python scripts/xlsx_pro.py

sort  表.xlsx -o 排序.xlsx -col 列名 [-desc]
filter 表.xlsx -o 筛选.xlsx -col 列名 -op eq|ne|gt|ge|lt|le|contains -value 值
formula 表.xlsx -o 活公式.xlsx -col 新列名 -tpl &quot;=ROUND({销售额}/{目标}*100,1)&quot;
chart 表.xlsx -o 图.xlsx -x 分类列 -y 数值列 [-kind auto|bar|line|pie]
health 表.xlsx
protect 表.xlsx -o 修复.xlsx -cols 身份证号,手机号

PDF 基础 python scripts/pdf_tool.py

merge a.pdf b.pdf -o 合集.pdf
split in.pdf -pages 1-3,5 -o 拆分目录
extract in.pdf -o out.txt [-pages 2-4]
toimage in.pdf -o 图片目录 [-dpi 150]
page-num in.pdf -o out.pdf
protect in.pdf -o out.pdf -pwd 密码
decrypt in.pdf -o out.pdf -pwd 密码
info in.pdf

PDF 水印打码 python scripts/pdf_redact.py(需 pymupdf)

scan 合同.pdf
redact 合同.pdf -o 脱敏.pdf --mode black|blur|star
watermark 合同.pdf -o 水印.pdf -text &quot;内部资料&quot; -mode diagonal|tile [-opacity 0.35] [-color gray|red]
batch D:\合同目录 -o D:\输出 -text &quot;样本&quot; -mode tile

模板 python templates/gen_templates.py

--list                 # 列出全部模板
--dir ./output         # 生成全部
--dir ./output --only 工作报告,月度预算   # 只生成指定

旧格式 python scripts/convert_legacy.py

convert_legacy.py 老表格.xls -o 新表格.xlsx
convert_legacy.py auto 老文档.doc

</details>


🧭 任务路由(AI 判断用哪个工具)

用户说 用哪个
做 / 改 Word 文档 docx_tool.py
Word 加目录、页眉、页码 word_advanced.py
把 Markdown 转成 Word word_advanced.py md2docx
合并 / 统计 / 生成报表 xlsx_tool.py
排序 / 筛选 / 出图 xlsx_pro.py
「发出去前帮我查查有没有公式错误」 xlsx_pro.py health
「身份证号变成科学计数法了」 xlsx_pro.py protect
合并 / 拆分 / 提取 PDF pdf_tool.py
「这批合同加水印、把身份证手机号打码」 pdf_redact.py
「给我一份月度预算模板」 templates/gen_templates.py
旧版 .xls / .doc convert_legacy.py

🔁 三步工作法(每个任务都照这个来)

① 动手前(STOP)—— 三件事没确认就不要开始
1. 依赖就绪:python scripts/setup_check.py check 全 ✅
2. 路径正确:文件真实存在、用完整路径、是新格式(老格式先转)
3. 不覆盖原文件:-o 一定指向新文件

> 结果明显不对劲(数字错乱、格式丢失、中文变方块)→ 先跑 python scripts/self_test.py(85 项断言,20–60 秒),
> 几分钟就能分清是环境问题还是代码问题,别靠猜。

② 动手时:照「常用命令」跑,参数不确定就查上面的完整命令参考。

③ 交付前(CHECKPOINT)—— 跑完不等于做完
1. 输出文件存在、大小非 0
2. 内容抽查:Excel 跑 health;Word 跑 outline;PDF 跑 scan(敏感信息应无命中)
3. 原文件没被动过


🚫 别这么用(都是实测踩过的坑)

❌ 别这样 为什么 ✅ 改这样
把 .doc / .xls 直接喂给主工具 主工具只认新格式 先 convert_legacy.py 转格式
用 Python 算好结果写死数字交付 用户改一个输入,全表都不动 用 formula 写活公式 + 引用单元格
不查公式就把 #DIV/0! 留给用户 用户以为是你数据错了 先 health,修完再给
身份证 / 手机号按数字存进 Excel 前导零丢失、15 位截断 先 protect 转文本
排序 / 筛选直接改原文件 出错无法回退 一律 -o 新文件,原表不动
对扫描件 PDF 跑 extract / scan / redact 扫描件没有文字层 先 OCR
以为 redact 只是盖个黑框 它会真删文字层;但图片里的文字打码无效 扫描件用专业 PDF 编辑器
指望 formula 直接出结果数字 openpyxl 只写公式不算值 用 Excel/WPS 打开自动重算
以为会覆盖原文件 本套件绝不覆盖 输出路径永远是新文件
用它做专业排版或 AI 改写 它不是排版软件,且刻意不联网 排版用 Word/WPS;AI 类换联网 Skill

⚠️ 能力边界(先看这条,避免白折腾)

情况 支持吗 怎么办
旧版 .doc ⚠️ 有条件 convert_legacy.py 转换;需要本机装着 LibreOffice,没装只能提示你手动另存为 .docx
旧版 .xls ✅ convert_legacy.py 转 .xlsx(需要额外装 xlrd:pip install xlrd)
复杂排版(艺术字、复杂图表排版) ❌ 只能生成"标题 + 正文 + 简单表格";复杂视觉用 Word/WPS
扫描件 PDF(无文字层) ✅ 有通路 用 ocr_helper.py render 把每页渲染成图片,交给能看图的 AI 读字(无需 tesseract);本机若装了 tesseract 则 read 直接出文本。注意识别质量取决于模型,本套件不含内置 OCR 引擎
Word 页眉页脚 ✅ 基础 支持页眉文字 + 页码域;logo / 双色线 / 表格页眉不支持
Word 自动目录 ✅ 插的是 TOC 域,页码在 Word 里 F9 更新;正文要用「标题 N」样式
文档没有「标题 N」样式(非 Word 生成的 docx 常见) ⚠️ 提示 目录标题会降级为默认样式并明确告知"目录会是空的",不再报错崩溃
表头行上方有合并的大标题 ✅ 自动探测真实表头行(跳过标题/空行),并用 -col 找到列
表头是数字(单元格 1.0) ✅ 列名两侧归一化,-col 1.0 能对上
表里有合并单元格 ✅ 排序自动跳过合并行并告知行号,不会崩、不会写坏文件
Excel 公式自动计算 ❌ 不做 openpyxl 只写公式不算值;Excel/WPS 打开即重算
Excel 图片 / 条件格式 / 透视表 ❌ 会丢 openpyxl 重写文件时不保留这些高级对象,重要文件建议备份
宏(.xlsm / .docm) ⚠️ 受限 不执行也不保留 VBA
需要联网的 AI 能力 ❌ 刻意不做 会把文档送出本机,与定位冲突

依赖与外部条件(最容易卡住的地方,写全了)

能力 先决条件 缺了会怎样
Excel / Word 全部本地能力 pip install python-docx openpyxl PyPDF2 脚本提示缺哪个包并给出安装命令
PDF 水印 / 打码 / 转图 / 加页码 再加 pip install pymupdf 只影响这几项,其它功能照常
扫描件取字(ocr_helper.py) 只渲染图片的话只需 pymupdf;想本机 OCR 才需要 tesseract + pip install pytesseract 没装 tesseract 也能用:渲染成图片交给能看图的 AI
批量体检报告(checkup_report.py) 只要 python-docx/openpyxl/PyPDF2;要 PDF 版报告另需 pymupdf 缺 pymupdf 时仍会产出 Markdown 版报告
.xls → .xlsx pip install xlrd 明确提示"装 xlrd",不会静默失败
.doc → .docx 本机安装 LibreOffice(soffice 在 PATH) 提示先另存为 .docx,不假装转换成功
云端文档体检(0.99 元/次) 能访问商家服务端 https://la.facailo.xyz 本地功能全部不受影响

> 国内网络提示:服务端域名是海外域名(Cloudflare)。若出现 402 拿不到 / 支付校验被拦,
> 先确认该域名没有被代理软件的 fake-ip 改成保留地址(例如解析成 198.18.x.x 会导致
> 官方收银 CLI 拒绝付款)。建议把它加入代理的直连/fake-ip-filter 白名单后再试。

一句话记住:普通文字、表格、合并拆分,以及排序 / 筛选 / 公式 / 图表 / 打码 / 水印 / 目录 / 模板,本套件都能干;
遇到 .xls 先转、遇到 .doc 先转、遇到扫描件先 OCR、遇到 AI 类需求换工具。


🩺 出问题了

python scripts/self_test.py            # 全量 85 项断言,20–60 秒
python scripts/self_test.py --quick    # 快速版(只用必需依赖,秒级)
python scripts/self_test.py --keep     # 保留临时产物便于人工检查

自检会在临时目录造"脏数据"(身份证写成数字、达成率写成活公式、带敏感信息的 PDF、带合并单元格的报表、缺标题样式的 docx)逐条验证,
并把历史踩过的坑固化成断言,例如:排序后公式引用不得错位、筛选必须保留表头、
体检不得把 ROUND(x,1) 误报成硬编码、打码后文字层不能残留敏感信息、水印中文不能变方块、
含合并单元格的表排序不能崩、失败必须非零退出。
设 ODS_REAL_SAMPLES=&lt;真实文件目录&gt; 还可让它顺带跑一遍真实文件(xlsx/docx/pdf)。

退出码契约(写脚本 / 用 Agent 串流程时按这个判断成败):

退出码 含义
0 成功(包含"扫描 0 命中"这种正常结果)
1 失败:参数错、列/文件不存在、非 PDF、密码错、页码越界、部分文件处理失败……
2 依赖缺失(如没装 xlrd 却要转 .xls)
130 被 Ctrl+C 中断

网络失败怎么办:云端体检的 probe/pay/complete 不自动重试——因为重试可能重复下单。
失败时脚本会原样打印官方 CLI 的报错;确认原因后用同一个 --session-id 重跑(同一订单幂等,不会重复扣费),
订单状态不明时先 complete 查单,不要重新下单。

常见报错对照:

情况 正确处理
文件路径无效 脚本会提示"文件不存在 + 当前目录",用完整路径重试
依赖未安装 pip install python-docx openpyxl PyPDF2;水印打码还需 pip install pymupdf
ImportError: fitz 本脚本已兼容新旧两种导入;仍报错就 pip install -U pymupdf
水印中文变方块 已改用内置 china-s 字体;仍异常可 --font &quot;C:\Windows\Fonts\msyh.ttc&quot;
筛选结果为空 确认列名与数值类型(数字列别加引号);若条件列全是公式,会提示先在 Excel 里算一次
公式写进去没结果 openpyxl 只写公式不算值,用 Excel/WPS 打开;health 会提示缓存值过期
编号列变成 1.101e+17 精度已被 Excel 丢失,无法还原 → 回到源数据导入并先跑 protect
文件被占用 关掉 WPS / Word / Excel 再运行

❓ 常见问题(FAQ)

Q1. 会破坏原文件吗?
不会。所有命令都输出到新文件;原文件只读。涉及重写(排序/筛选/打码)时也保留原文件不动。

Q2. 打码安全吗?对方能还原吗?
PDF 文字层里的原文会被真正删除(不是盖一层黑框),还原不出来;同时会生成打码清单 CSV 说明删了什么。
但图片 / 扫描件里的文字打码无效——那需要先 OCR 定位,本套件做不到。

Q3. 排序会丢格式吗?
会丢一部分。openpyxl 重写文件时不保留图片、条件格式、数据透视表等高级对象(竞品同样如此)。
重要文件请先备份,或只对数据区做排序。

Q4. 公式列为什么排不了序 / 筛不出结果?
Excel 公式在文件里只有"上次计算结果"被缓存,openpyxl 读到的是公式文本。
脚本会自动改用缓存值,并在从没被 Excel 算过时明确告诉你(此时请先用 Excel/WPS 打开保存一次)。

Q5. 我的表有合并单元格 / 标题行占第 1 行,能用吗?
能。1.7.2 起:排序会跳过合并行并告知行号(不会崩),表头会自动跳过合并标题行和空行找到真实表头。

Q6. 表头是数字(比如 1.0)怎么办?
直接 -col 1.0 即可,列名已做两侧归一化(1.0 与单元格里的 1 视为同一列)。

Q7. 扫描件 PDF 能处理吗?
不能取到文字:extract/scan/redact 都会明确提示"无文字层,需先 OCR",不会假装成功。

Q8. .doc / .xls 打不开?
先跑 convert_legacy.py:.xls 需要 pip 装 xlrd;.doc 需要本机装 LibreOffice(没装会明确提示你另存为 .docx)。

Q9. 能批量吗?
能:Word 批量替换(replace-batch)、Excel 多文件合并(merge)、PDF 多文件合并、PDF 整目录批量水印(batch)。

Q10. 断网能用吗?
能。本地功能完全离线;只有云端文档体检(0.99 元/次)需要访问商家服务端。

Q11. 为什么命令返回了 0 却有错误提示?
不会有这种事了。1.7.2 起统一退出码契约(见上面表格):失败一律非零退出,Agent/CI 不会再误判成功。

Q12. 能处理多大的文件?
没有硬限制,但受内存约束:openpyxl 全量加载,几十万行的表会很慢。超大表建议先用 Excel 拆列/筛选,或只处理需要的列。

Q13. 生成的目录是空的?
TOC 域要在 Word/WPS 里"更新域"(F9)才显示页码;另外正文段落必须套用「标题 1/2/3」样式,否则没有可收录的标题(脚本会提示)。

Q14. 支持 WPS 吗?
支持。产物是标准 .docx / .xlsx / .pdf,WPS 与 Office 都能打开;目录/页码域在 WPS 里同样可更新。

Q15. 用本地功能会收费吗?
不会,也不会弹出任何付款提示。排序、筛选、打码、水印、目录、模板、自检这些都在你自己电脑上跑,不经过付款链路。
只有「云端文档体检」那一步是 0.99 元/次。
什么时候才需要付费:要一份能拿出去/可归档的正式结论,或本机装不了 Python 与依赖时,可选云端文档体检(0.99 元/次);只是自己看一眼、改文件 → 本地免费做完即可(见上面「什么时候走云端」表)。

Q16. 付款会自己弹出来吗?
会——由支付宝官方买家组件弹(那个「Agent 支付体验助手」窗口:金额 / 订单号 / 点此授权 / 二维码)。
官方对 Pay Skill 的设计就是"在 AI 智能体内直接完成支付、无需跳出界面";我们的脚本只负责调起官方组件(pay 跑 alipay-bot),不自己造收银台。
同时脚本会把同一份收银信息(金额、订单号、可点链接、二维码图片)贴到对话里,兜底那些弹不出官方窗口的宿主。
两种入口任选一种付款即可;没授权就不会扣钱。

Q17. 扫描件(图片 PDF)能读吗?
能,走 ocr_helper.py:把每页渲染成 PNG,交给能看图的 AI 读出文字(不用装 tesseract,这也是竞品的做法)。
本机如果装了 tesseract,ocr_helper.py read 会直接出文本。
命令:python scripts/ocr_helper.py render 扫描件.pdf -o 页面图/ → 把图交给模型读 → 文字贴回来继续处理。

Q19. 云端体检的「凭证」是什么?能干嘛?
付款并执行 complete 后,会自动在 体检凭证/ 目录生成三个文件:云端体检凭证-&lt;订单号&gt;.json、.md、.pdf。
凭证里含订单号、时间、金额、结论与问题清单,以及服务端返回原文的 SHA-256 指纹——订单号可在支付宝账单核对金额与时间,
指纹可校验原文有没有被改动(原文同时存在 JSON 的 serverResponseRaw 字段里)。适合归档、交接、对外说明。
想先看样式:node scripts/office-doc-suite-paid.mjs cert --demo(不付款也能生成一份示例凭证)。
Q18. 一批文件要挨个体检,有没有省事的办法?
有:python scripts/checkup_report.py 资料/ -o 体检报告.md --pdf——
一次扫完整个目录(Excel 查公式错误/编号精度、Word 查标题层级、PDF 查敏感信息),
出一份能直接发给同事或客户的报告(Markdown + PDF),还可以 --json 给程序用。


✅ 质量保证(已实测)

Windows + Python 3.13 + 真实 Office 文件,实测记录:

能力 验证方式 结果
活公式 读回工作簿断言单元格 =ROUND(B2/C2*100,1) 逐行递增 ✅
排序 首行应为最大值 + 公式引用不错位 降序正确,公式随行重定位 ✅
筛选 表头 + 命中行数 表头保留,命中 3 / 剔除 1 ✅
图表 读回 _charts 图表对象已嵌入 ✅
类型保护 读回 number_format 与类型 身份证列为 @ 文本 ✅
Word 目录 解析 docx XML 含 TOC \o 域 ✅
页眉页脚 解析页眉 / 页脚 XML 页眉文字 + PAGE/NUMPAGES 域 ✅
Markdown→Word 读回标题 / 表格 / 列表 层级、表格、列表齐全 ✅
PDF 打码 读回文字层断言原文消失 四类信息均删除,正文不受影响 ✅
水印 渲染 + 文字抽取 中文正常显示、可抽取 ✅
模板 4 个文件生成并打开 全部生成 ✅
真实文件回归 pandas / python-docx / pdf.js 官方语料 16 个真实文档(含 4 个合并区报表、数字表头表、缺标题样式 docx、6MB 扫描图纸) 91 项场景 87 通过 → 修复后全通过 ✅
全量自检 self_test.py 85/85 通过(43 功能 + 9 回归 + 1 真实文件 + 11 零依赖/错误码 + 6 扫描件/报告 + 6 前置块校验 + 5 健壮性 + 4 第三批真实文件)✅
  • 回归用例:test-prompts.json(含旧格式转换、扫描件边界、合并单元格、数字表头、缺标题样式等真实形态)。
  • 1.7.2 修复的 8 类缺陷(均由真实文件或对抗测试复现):合并单元格排序崩溃、缺 Heading 样式崩溃、
    数字表头匹配失败、失败却返回 0、非 PDF 抛英文堆栈、表头行探测、支付脚本吞掉收银台输出、默认编码乱码。
  • 工作流:执行前 STOP(依赖 / 路径 / 不覆盖)+ 交付前 CHECKPOINT(存在 / 抽查 / 原文件未动)。

🧩 电脑装不了 Python 库?用「零依赖模式」

公司电脑不让装包、机器离线、Python 太老——以前这些情况就用不了。现在有条兜底路子:
no_dep.py 只用 Python 自带的东西,一个库都不用装也能干活。

python scripts/no_dep.py check                          # 先看看哪些能用、哪些不能用

python scripts/no_dep.py docx-text 报告.docx             # 把 Word 里的文字提取出来
python scripts/no_dep.py docx-replace 模板.docx -find &quot;【姓名】&quot; -replace &quot;张三&quot; -o 新.docx
python scripts/no_dep.py xlsx-sheets 台账.xlsx           # 这个 Excel 里有哪几张表
python scripts/no_dep.py xlsx-csv 台账.xlsx -o 台账.csv   # 导成 CSV(Excel 打开不乱码)
python scripts/no_dep.py xlsx-merge 华东.xlsx 华南.xlsx -o 汇总.csv
python scripts/no_dep.py pdf-info 合同.pdf               # 一共几页、有没有加密
python scripts/no_dep.py pdf-text 合同.pdf               # 尽量把文字抠出来

一句话记住:能读、能导出、能替换文字;但改不了格式,也写不回 Excel。

零依赖能做 零依赖做不了(这些要装库)
读 Word 文字、替换模板里的占位符 做目录、页眉页脚;占位符被 Word 拆成几段时替换不了
读 Excel 内容、导成 CSV、几张表拼一张 排序、筛选、写公式、画图、改回 Excel
看 PDF 几页、有没有加密、简单 PDF 抠字 PDF 打码、加水印、合并拆分、转图片

> 中文不会乱码:导出的 CSV 带 BOM,Excel/WPS 直接打开就是正常中文。


🆘 报错了看这里(错误码对照表)

出问题时,提示里会带一个编号,长这样:

❌ 错误 [ODS-E03] 找不到列 &#x27;销售&#x27;
   处理: 可用列: [&#x27;姓名&#x27;, &#x27;金额&#x27;, &#x27;日期&#x27;]

想知道这个编号什么意思,直接问它:python scripts/error_codes.py ODS-E03(--codes 列出全部编号)。
编号只增不改,所以以前见过的报错永远查得到。

错误 ID 类别 含义 处理办法
ODS-E01 文件 找不到这个文件 路径可能写错了,或者文件被挪走、改了名字。Windows 路径里有空格,记得用双引号包起来
ODS-E02 文件 这个文件打不开 先看后缀和真实格式是不是一样;关掉正在打开它的 Excel / WPS / Word 再试;老格式 .xls / .doc 先用 convert_legacy.py 转成新格式
ODS-E03 参数 表里没有这一列 照着提示里「可用列」的名字原样写;表头是数字就直接写 1.0;第一行是大标题的表,程序会自动找到真正的表头
ODS-E04 参数 没有这张工作表 照提示里给出的工作表名字写;不写就用当前打开的那一张
ODS-E05 PDF 这不是 PDF,或者 PDF 坏了 本工具只认 .pdf。是图片或文字文件的话,先用办公软件导出成 PDF;PDF 打不开也可能是加了密,先用 pdf_tool.py decrypt 解密
ODS-E06 PDF 这份 PDF 没有文字层(多半是扫描件) 扫描件里的字其实是图片,程序读不出来,也不会替你猜。要么先做 OCR,要么把页面转成图片交给能看图的 AI
ODS-E07 PDF PDF 加密了,或密码不对 输对密码再试。密码忘了没法破解,只能找给你文件的人要
ODS-E08 参数 页码或页数范围写错了 按提示里的「文档共 N 页」改,比如 1-3,5
ODS-E09 依赖 电脑上缺东西(少装了库) 照着提示装:pip install 后面那个包名。.doc 转 .docx 需要电脑上装了 LibreOffice
ODS-E10 环境 文件存不进去 换个有写入权限的目录;也检查一下路径里有没有非法字符
ODS-E11 数据 这一列全是公式,而且还没算过 用 Excel 或 WPS 打开文件、保存一次,让公式算出结果,再回来排序 / 筛选 / 统计
ODS-E12 数据 有合并单元格,搬不动 程序已经自动跳过这些行,并告诉你行号;一定要连它们一起处理,先在 Excel 里取消合并
ODS-E13 数据 按这个条件一条都没筛出来 把条件放宽一点;条件列要是公式,先去 Excel 里算一次;再确认数字列里没混进文字
ODS-E14 数据 文档没设「标题」样式,目录会是空的 在 Word / WPS 里给章节套上「标题 1 / 2 / 3」样式,再重新生成;目录页码按 F9 更新
ODS-E15 付费 还没付款,或者账单没了 / 过期了 先跑 probe 拿一张新账单,再跑 pay;不要跳过 probe;账单过期了重新 probe 就行
ODS-E16 付费 连不上商家服务器 检查网络。如果用了代理、而且域名被解析成 198.18 开头的奇怪地址,就把这个域名加进代理的直连名单(fake-ip-filter)
ODS-E17 参数 这种文件类型或参数值不支持 照提示换成支持的类型;老格式先用 convert_legacy.py 转;命令参数用 --help 看有哪些可选

核心原则

  1. 本地运行:数据不上传(隐私是底线)
  2. 保真处理:不破坏原文件,必要时先备份
  3. 可重复:每次操作都有明确输出,你知道改了什么
  4. 中文优先:中文提示、中文报错修复建议、老文件自动转换

合规声明

  • 仅处理用户提供的文档,不采集 / 上传任何数据(云端复核除外,且仅发送你主动提交的片段)
  • 打码能力用于去除文档中的身份证 / 手机号 / 银行卡 / 邮箱等个人信息
  • 涉及版权内容(他人 PDF / 文档)仅限个人合法使用

常见问题

5 问
答案由本站依据条目字段整理
办公文档三件套(Word/Excel/PDF)怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_69794d19/office-doc-suite。安装方式为未标注。装完刷新技能列表或重开客户端。

办公文档三件套(Word/Excel/PDF)支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

办公文档三件套(Word/Excel/PDF)权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

办公文档三件套(Word/Excel/PDF)收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

办公文档三件套(Word/Excel/PDF)用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。