公文格式转换:在 Agent 里把多格式文稿一键排成标准 docx

前言

机关、企事业单位日常要交的材料,版式往往比正文更费时间:题目和副标题居中、层级标题用「一、」「(一)」「1.」「(1)」区分、正文仿宋与行距页边距统一、附件和图表标题单独处理。手工在 Word 或 WPS 里逐项调,一批文件更是重复劳动。

下面介绍 SkillHub 社区 Skill「公文格式转换」(坐标 @user_60300dde/doc-format)。安装后,Agent 按 Skill 手册调用本地脚本 wfp_cli.py,把已有 doc/docx/wps/txt/md 按公文排版习惯格式化,输出标准 .docx,原文件不原地覆盖。与「让模型直接重写一份 Word」不同,它走的是规则识别加 OOXML 排版,适合已有草稿需要统一版式的场景。

这是什么

「公文格式转换」是面向办公效率的社区 Skill(分类 office-efficiency,当前版本 1.0.5,发布者 user_60300dde)。标签标明 requires_api_key=false,无需额外 API Key。

一句话定位:将 doc / docx / wps / txt / md 按公文排版习惯自动格式化,输出标准 docx;支持标题层级识别、题目与副标题、附件、图表标题、页面边距、页码、行距、字体字号、TXT/MD 空行策略、自定义配置与目录批量处理。

SkillHub 页面:https://www.skillhub.cn/skills/user_60300dde/doc-format
安装说明入口:https://skillhub.cn/install/skillhub.md
API 坐标页:https://api.skillhub.cn/user_60300dde/doc-format

核心功能

以下能力均来自 Skill 包内 SKILL.md 与参考文档,版本 1.0.5。

输入输出

  • 支持 .docx、.doc、.wps、.txt、.md。
  • 单文件、多文件(可重复 -i 或位置参数)、目录输入;目录默认递归扫描,输出保留相对目录结构。
  • 原始文件不原地修改;Word/WPS 类文档先复制或转换到临时副本再排版。

结构与版式识别

  • 自动识别题目、副标题、四级标题层级(一、 / (一) / 1. / (1))、二级标题段内正文、图/表标题、附件标识。
  • 默认页边距、行距、页码(奇偶页对齐)、字体字号等规则见包内 references/formatting-rules.md(例如正文默认仿宋_GB2312 16pt、行距 28 磅等)。

增强项(可选)

  • 表格内容自动调整、数字与字母单独英文字体、符号标准化,默认关闭,可通过配置或 CLI 开关启用。
  • TXT/MD 支持三种空行模式;手写数字编号按源文档保留,不自动递增重排。

配置

  • 自动读取当前工作目录 wfp_config.json,或使用 --config、--config-json、--set key=value 及便利开关临时覆盖。
  • show-config / save-config 可查看与导出配置模板。

安装与启用

1. 安装 SkillHub CLI(若尚未安装)

command -v skillhub && skillhub --version

未安装时可执行(仅 CLI):

curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash -s -- --cli-only

2. 安装 Skill 到当前 Agent 的 skills 目录

安装时必须用 --dir 指向 Agent 实际识别的 skills 目录,否则默认装到 ./skills/ 可能无法加载。常用路径(来自 SkillHub 安装文档):

  • Cursor:~/.cursor/skills/
  • Claude Code:~/.claude/skills/
  • Codex:~/.codex/skills/ 或项目下的 .agents/skills/

安装命令(搜索结果显示的推荐写法):

skillhub install doc-format --namespace user_60300dde --dir ~/.cursor/skills

等价坐标:@user_60300dde/doc-format。也可将官方页面提示发给 Agent,让其按 https://skillhub.cn/install/skillhub.md 安装该 Skill。

3. Python 依赖

Skill 目录下 requirements.txt 列出:

python-docx
tkinterdnd2
pywin32; platform_system == "Windows"

在 Skill 根目录安装依赖后,再运行 scripts/wfp_cli.py。Windows 处理 .doc/.wps 时可配合 pywin32 与本地 Word/WPS COM。

安装或启用 Skill 后,一般需要重启或重新加载 Agent,才能读取新的 SKILL.md。

典型用法

脚本位于 Skill 目录 scripts/wfp_cli.py。若当前工作目录不是 Skill 根目录,应先 cd 到 SKILL.md 所在目录,或使用该路径的绝对路径调用。

单文件与指定输出

python scripts/wfp_cli.py format -i report.docx
python scripts/wfp_cli.py format -i report.docx -o report_final.docx

单文件未指定 -o 时,默认在同目录生成 *_formatted.docx;成功时 stdout 打印输出文件的绝对路径。

目录批量

python scripts/wfp_cli.py format -i ./documents -o ./documents_formatted
python scripts/wfp_cli.py format -i ./documents -o ./documents_formatted --no-recursive

TXT / MD 与空行模式

python scripts/wfp_cli.py format -i draft.md
python scripts/wfp_cli.py format -i draft.md --blank-line-mode "不改动任何空行"

自定义配置

python scripts/wfp_cli.py show-config
python scripts/wfp_cli.py save-config --set body_font=宋体 --set body_size=12
python scripts/wfp_cli.py format -i input.docx --config ./wfp_config.json
python scripts/wfp_cli.py format -i input.docx --set body_size=12 --enable-table-formatting

在对话里交给 Agent

用户可直接说明需求,例如:「把 /path/to/请示稿.docx 按公文格式排版,正文字号小四、行距 30 磅,输出到同目录。」Agent 应按 Skill 准则先确认输入路径,必要时 save-config 再 format,并在完成后提示抽查版式。

适用场景与注意

适合谁

  • 行政、文秘、项目内勤:已有 Word/WPS/纯文本/Markdown 草稿,需要统一为可印发的 docx。
  • 需要批量处理同一目录下多份材料,并保留子目录结构。
  • 希望字体、行距、边距等可配置、可复用(wfp_config.json),而不是每次口述一遍。

限制与坑

  • 旧格式转换:Windows 上 .doc/.wps 优先走 WPS/Word COM;macOS/Linux 或 COM 不可用时依赖 LibreOffice soffice,失败时需安装 LibreOffice、用 --soffice 指定路径,或先另存为 .docx。可用 python scripts/wfp_cli.py install-help 查看安装提示。
  • 自动编号:非 Windows 或 COM 不可用时,自动编号转文本会跳过;若编号无法单独选中,可能仍是 Word 自动编号,需转为手写编号后重跑。完成后务必抽查标题层级、附件、页码与表格。
  • 增强项:表格自动调整、英文字体、符号标准化可能改变版面,重要文件建议在副本上先试。
  • 合规表述:Skill 描述的是「公文排版习惯」与可配置规则,是否满足本单位或 GB/T 9704-2012 等强制性要求,仍需人工终检。

结尾

「公文格式转换」把多格式输入、层级识别、版式参数和批量目录处理收进一个可复用的 Agent Skill,适合把「排版」从对话里的模糊描述变成可重复的 CLI 流程。需要安装或查阅说明时,以 SkillHub 官方页为准:https://www.skillhub.cn/skills/user_60300dde/doc-format

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜