# 文档样式设置skill **Repository Path**: BonizLee/document-style-setting-skill ## Basic Information - **Project Name**: 文档样式设置skill - **Description**: 按照样式要求对文档进行处理的skill - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-21 - **Last Updated**: 2026-04-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OpenClaw Linux 可部署版:公文 / 标书 DOCX 规范化 这是一套面向 Linux 服务器的最小可部署工程,用于把原始 `.docx` 文档做成“公文 / 标书规范化”流水线: 1. 解析文档结构 2. 生成审计报告 3. 按规范样式重建 docx 4. 可选导出 PDF(LibreOffice) ## 目录结构 ```text openclaw_docx_norm/ ├── config/ │ └── style_government_bid.json ├── openclaw/ │ └── docx_pipeline_tool.yaml ├── tools/ │ ├── common.py │ ├── parse_docx_structure.py │ ├── audit_docx_structure.py │ ├── rebuild_docx.py │ ├── export_pdf.py │ └── pipeline.py ├── requirements.txt ├── install.sh └── README.md ``` ## 一、服务器安装 ### 1. 拷贝工程到服务器 例如: ```bash scp -r openclaw_docx_norm user@your-server:/tmp/ ssh user@your-server cd /tmp/openclaw_docx_norm ``` ### 2. 安装 Python 依赖 ```bash bash install.sh ``` ### 3. 可选安装 PDF 导出能力 ```bash sudo apt-get update sudo apt-get install -y libreoffice ``` ## 二、脱离 OpenClaw 先做本地联调 先直接调用流水线,确保脚本本身可运行: ```bash python3 /opt/openclaw_docx_norm/tools/pipeline.py '{ "input_path": "/data/input.docx", "output_docx": "/data/output/normalized.docx", "style_json": "/opt/openclaw_docx_norm/config/style_government_bid.json", "workdir": "/data/output/work", "export_pdf": true }' ``` 执行后你将得到: - `/data/output/normalized.docx` - `/data/output/normalized.pdf`(若启用 PDF 且系统已安装 LibreOffice) - `/data/output/work/structure.json` - `/data/output/work/audit_report.json` ## 三、接入 OpenClaw 把 `openclaw/docx_pipeline_tool.yaml` 注册到你的 OpenClaw tools / skills 目录。 如果你的 OpenClaw 是直部署,一般会有类似: - `/opt/openclaw/tools/` - `/opt/openclaw/skills/` - `/etc/openclaw/` 你需要做两件事: ### 1. 放置 YAML 例如: ```bash sudo cp /opt/openclaw_docx_norm/openclaw/docx_pipeline_tool.yaml /opt/openclaw/skills/ ``` ### 2. 确认 YAML 中 Python 路径正确 默认写的是: ```text /usr/bin/python3 /opt/openclaw_docx_norm/tools/pipeline.py ``` 如果你的 Python 不在 `/usr/bin/python3`,请改成 `which python3` 的真实路径。 ## 四、给 Agent 的系统指令建议 你可以在 OpenClaw 的系统提示词里加入: ```text 你可以调用 docx_bid_normalize 工具来处理公文/标书类 Word 文档。 当用户要求统一字体、字号、标题层级、目录或导出 PDF 时,优先调用该工具。 style_json 默认使用 /opt/openclaw_docx_norm/config/style_government_bid.json。 workdir 可放在 /tmp/openclaw_docx_jobs//。 ``` ## 五、OpenClaw 中的典型调用参数 ```json { "input_path": "/data/tender/raw.docx", "output_docx": "/data/tender/out/规范化标书.docx", "style_json": "/opt/openclaw_docx_norm/config/style_government_bid.json", "workdir": "/tmp/openclaw_docx_jobs/job_001", "block_patterns_json":"/opt/openclaw_docx_norm/config/block_patterns_json", "export_pdf": true } ``` ## 六、当前版本能力边界 ### 已支持 - 段落结构识别(一级、二级、三级标题 / 正文 / 简单列表) - 表格文本重建 - 统一字体、字号、段落间距、首行缩进、对齐方式 - 目录域插入(需在 Word/WPS 中更新域) - Linux 下 LibreOffice 导出 PDF - 结构审计报告输出 ### 暂未深度处理 - 页眉页脚精细模板化 - 多级自动编号的强制纠错 - 图片、流程图、文本框、批注 - 复杂跨页表格格式修复 - 封面自动生成 ## 七、你后续最值得扩展的两个点 ### 1. LLM 辅助结构识别 当前标题识别主要是规则法。下一步建议让 OpenClaw 在调用重建前,先用 LLM 对 `structure.json` 做一次“标题类型纠偏”。 ### 2. 多套规范模板 把 `style_government_bid.json` 拆成多套: - 政府公文规范 - 招投标技术标规范 - 商务标规范 - 企业内部制度规范 然后让 Agent 根据用户指令自动选择。 ## 八、排障 ### 1. 中文字体不生效 当前代码已经处理 `w:eastAsia`,但前提是服务器最终打开文档的环境里存在对应字体。若你用 Linux 生成、Windows 打开,一般没问题;若用 Linux 的 Office 查看,可能需要额外安装中文字库。 ### 2. PDF 导出失败 检查: ```bash which libreoffice which soffice ``` ### 3. OpenClaw 调用失败 优先排查: - YAML 路径是否被加载 - Python 路径是否正确 - OpenClaw 运行账户是否有 `/data` 和 `/tmp` 目录权限 ## 九、推荐下一步 这套工程已经能作为第一版上线。如果你要继续做“工程级可用”,下一步建议加这三项: 1. 封面模板生成 2. 标题编号连续性修复 3. 表格样式统一(表头加粗、边框、居中、行高)