公文格式轉換:在 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

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

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

小夜