前言¶
機關、企事業單位日常要交的材料,版式往往比正文更費時間:題目和副標題居中、層級標題用「一、」「(一)」「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 不可用時依賴 LibreOfficesoffice,失敗時需安裝 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