- Accueil
- Plugins
- Compétences
- word-docx-writer
word-docx-writer
remplexi/word-docx-writer
Génère et met en forme des documents Word (.docx) en chinois depuis un simple fichier de balisage, avec styles de titre intégrés, polices SimSun et Times New Roman, et légendes de figures/tableaux par chapitre.
Installer
dsh plugin --profile web add github:remplexi/word-docx-writerREADME
word-docx-writer
中文 Word(.docx)报告生成与排版工具包 / Agent Skill。 无需第三方 Office 库即可生成规范的 .docx;同时提供 DSH / Claude Skill、AGENTS.md 等多种 Agent 入口。
English version: README_EN.md
简介
word-docx-writer 适用于各类中文长文档(实验报告、课程设计报告、毕业论文、项目总结、研究报告、实训报告、说明书等),不限定专业方向:
用一份简单的标记稿(Markdown 风格)即可生成排版规范的 Word 文档,也可以对已有 .docx 一键套用格式规范。
核心排版规则(可在命令行覆盖):
| 用途 | Word 内置样式 | 中文字号 | 磅值 | 段落格式 |
|---|---|---|---|---|
| 正文 | 正文 / Normal | 小四 | 12 pt | 首行缩进2字符、两端对齐、1.5倍行距、段前段后0 |
| 一级标题 | 标题 1 | 三号 | 16 pt | 段前段后0、1.5倍行距、左对齐 |
| 二级标题 | 标题 2 | 四号 | 14 pt | 段前段后0、1.5倍行距、左对齐 |
| 三级标题 | 标题 3 | 小四 | 12 pt | 段前段后0、1.5倍行距、左对齐 |
| 图表题注 | 正文 + 黑体 | 小五 | 9 pt | 黑体不加粗、居中、单倍行距 |
- 字体:中文宋体(SimSun),西文Times New Roman;标题仍用宋体;默认颜色黑色。
- 表格:表内文字五号、无底纹、不首行缩进。
- 图表题注:按章自动编号(
表1.1 题名/图1.1 题名),表题在表格上方、图题在图片下方。 - 标题必须使用 Word 内置样式(标题 1/2/3),保证目录(TOC 域)可自动生成。
特性
- 标准库即可生成:OOXML 路径只依赖 Python 标准库(图片尺寸除外,需要 Pillow)。
- 双实现:
OOXML(跨平台,不需要 Word)与Word COM(Windows + Office,功能最全:.doc转换、目录刷新)。 - 模板套用:保留模板封面/评分表/目录/页眉页脚,只替换正文。
- 规范化已有文档:对任意
.docx套用字体、字号、段落格式与颜色。 - 多 Agent 兼容:内置
SKILL.md、AGENTS.md/AGENTS_EN.md、CLAUDE.md、GEMINI.md、Copilot / Cursor 入口。 - 可作为 DSH 插件分发:同一仓库附带
package.json+cordis.patch.yml+ 内置技能skills/word-docx-writer.md,可dsh plugin add一键安装。
目录结构
word-docx-writer/
├── SKILL.md # DSH / Claude Skill 入口
├── AGENTS.md / AGENTS_EN.md # 通用 Agent 说明(中文 / English)
├── CLAUDE.md / GEMINI.md # Claude Code / Gemini CLI 入口
├── README.md / README_EN.md # 说明文档(中文 / English)
├── LICENSE / CHANGELOG.md
├── scripts/
│ ├── word_style.py # 排版规范唯一来源(字体/字号/段落格式/颜色)
│ ├── build_docx.py # 标记稿 -> .docx(模板、标题样式、表格、图片、题注、目录)
│ └── read_docx.py # 读取/转换 .doc、.docx 结构
├── references/
│ ├── style-spec.md # 排版规范速查
│ └── markup.md # 内容标记语法
├── assets/blank.docx # 内置空白模板
├── examples/ # 可运行示例(content.txt + README)
├── skills/word-docx-writer.md # 插件内置技能(方式 C)
├── src/index.js # 插件宿主入口(skills-only,空实现)
├── package.json # npm 包定义(方式 C)
├── cordis.patch.yml # DSH 插件挂载声明(方式 C)
├── .github/copilot-instructions.md
└── .cursor/rules/word-docx-writer.mdc
安装
方式 1:作为 DSH / Claude Skill(推荐)
# DSH(DeepSeek Harness)
git clone https://github.com/RempleXI/word-docx-writer ~/.dsh/skills/word-docx-writer
# Claude Code
git clone https://github.com/RempleXI/word-docx-writer ~/.claude/skills/word-docx-writer
也可以放到项目级目录,仅对当前项目生效:
git clone https://github.com/RempleXI/word-docx-writer <your-project>/.dsh/skills/word-docx-writer
# 或
git clone https://github.com/RempleXI/word-docx-writer <your-project>/.claude/skills/word-docx-writer
方式 2:下载 zip 直接用
下载 Release / 打包好的 word-docx-writer.zip,解压到上面的任一 skill 目录即可。
方式 3:其它 Agent 工具
- Codex / OpenCode / 通用:把本仓库放到项目里,工具会读根目录的
AGENTS.md; - Gemini CLI:读
GEMINI.md; - Claude Code:读
CLAUDE.md; - GitHub Copilot:读
.github/copilot-instructions.md; - Cursor:读
.cursor/rules/word-docx-writer.mdc; - 英文用户:见
README_EN.md、AGENTS_EN.md。
方式 4:作为 DSH 插件(npm)
本仓库本身也是一个 skills-only 的 DSH 插件:
npm publish --access public # 发布为 dsh-plugin-word-docx-writer
dsh plugin --profile web add dsh-plugin-word-docx-writer@latest
- 插件运行时入口
src/index.js为空实现(no-op); - 能力由内置技能
skills/word-docx-writer.md与scripts/工具包提供; - 发布前请把
package.json的name改成你的 scope(如@your-scope/dsh-plugin-word-docx-writer),并同步修改cordis.patch.yml里的name。
快速开始
1)写一份内容稿 content.txt(语法见 references/markup.md):
TITLE|实验报告标题
H1|1. 实验目的
H2|1.1 实验背景
P|这是一段正文,自动首行缩进2字符、两端对齐、1.5倍行距。
TCAP|实验数据表
TBL|编号;;项目;;结果
ROW|1;;示例项目;;示例结果
FCAP|实验装置图
IMG|fig.png|12
2)生成文档:
python scripts/build_docx.py --content content.txt --out report.docx
3)对已有文档套用规范:
python scripts/word_style.py report.docx # 默认优先 Word COM,失败自动退回 OOXML
python scripts/word_style.py report.docx --method ooxml
4)校验结构:
python scripts/read_docx.py report.docx
依赖与平台
| 能力 | 依赖 |
|---|---|
| 生成 / 排版(OOXML) | Python 3.8+;插入图片时需要 Pillow |
.doc 转换 | Windows + Microsoft Word(COM) |
| 刷新目录 / 页码 | Windows + Microsoft Word(COM),或手动按 F9 |
| 字体 | 系统需有 宋体(SimSun)、黑体(SimHei)、Times New Roman |
pip install pywin32 Pillow
非 Windows 平台:
build_docx.py与word_style.py --method ooxml完全可用;.doc转换与目录刷新请用 LibreOffice 或 Word 手动完成。
命令行参数(build_docx.py)
| 参数 | 默认 | 说明 |
|---|---|---|
--content | 必填 | 内容稿路径 |
--out | 必填 | 输出 .docx |
--template | assets/blank.docx | 模板 .docx/.doc |
--font / --font-ascii | 宋体 / Times New Roman | 中文 / 西文字体 |
--body --h1 --h2 --h3 | 12 / 16 / 14 / 12 | 字号(pt) |
--table-size | 10.5 | 表格字号 |
--caption-font --caption-size | 黑体 / 9 | 题注字体字号 |
--color | 000000 | 默认字体颜色 |
--title | — | 封面题目(模板含题目占位时替换) |
--no-update-toc | — | 不调用 Word COM 刷新目录 |
许可证
MIT。使用时请保留版权声明。
贡献
欢迎提 Issue / PR。提交前建议跑一遍 examples/ 验证脚本可用。