引言:写 Word 文档这件"小事",真的很费人
工作中总有大量 Word 文档要处理:月度报表、合同、培训证书、接口文档、产品说明......如果每次都手动复制粘贴、改格式、调排版,一天的时间就没了。
更要命的是,很多企业用的是 Aspose 系模板引擎(foreach / if / indexOf() / cellMerge 控制语法),模板制作和批量填充一直是老大难------占位符要手写、数据要人工整理、格式稍不注意就乱。
我把自己踩过的坑都收拾进了一个开源项目:wordsmith。它是一个基于 AI(DeepSeek,OpenAI 兼容接口)的 Word 文档处理 Web 工具,本地运行、开箱即用。
项目简介
wordsmith 是一个 Python Flask 写的轻量 Web 工具,核心能力一句话概括:
上传 Word 模板 → AI 自动识别可变字段 → 智能填充 / 批量生成 → 保留原生格式输出 .docx
- 开源地址:
https://github.com/meikongli/wordsmith - 开源协议:MIT(可自由商用)
- 技术栈:Python 3.8+ / Flask / python-docx / DeepSeek API(OpenAI 兼容)
- 依赖极少:
flask+python-docx+requests,一个pip install就完事
五大模式,覆盖日常 90% 的 Word 场景
| 模式 | 用途 | 说明 |
|---|---|---|
| template 模板制作 | 把普通 Word 变模板 | 上传原始 Word,AI 识别可变字段并替换成占位符,生成可复用模板 |
| fill 模板填充 | 批量填模板 | 上传带占位符的 Word 当格式模板,AI 填内容,原生格式不变 |
| ai AI 生成 | 一句话生成文档 | 按描述直接生成新文档,参考 Word 仅提供样式 |
| clone 原样克隆 | 复制文件 | 直接复制上传的 Word |
| md Markdown 转 Word | 接口文档 / 开发文档 | 上传 .md 或粘贴 Markdown,渲染成排版规范的 Word |
其中 md 模式对开发者特别友好------我们内部生成接口文档都是直接贴 Markdown:
- 支持标题、表格、代码块、引用、列表、分隔线、加粗、斜体、行内代码、链接
- 表格自动做深色表头 + 斑马纹 + 跨页重复表头,参数表和错误码表跨页也不丢表头
- 链接自动变成 Word 可点击超链接
- 代码块整体灰底高亮,JSON / curl 示例清晰可读
- 无需 AI、无需 API Key,纯本地渲染
快速开始:两条命令跑起来
bash
# 1. 安装依赖
pip install -r requirements.txt
# 2. 配置 DeepSeek API Key(推荐环境变量方式)
# Windows PowerShell
$env:DEEPSEEK_API_KEY = "sk-xxxx"
# Linux / macOS
export DEEPSEEK_API_KEY="sk-xxxx"
# 3. 启动
python app.py
浏览器打开 http://127.0.0.1:5000 即可使用。界面支持 中文 / English 一键切换,语言偏好自动记忆;文件支持拖拽上传和点击选择,无需注册账号、纯本地运行。
面向 Aspose 模板引擎设计
如果你在用 Aspose.Words / Aspose 系模板引擎,这个工具就是它的配套"制模 + 填充助手":
| 语法 | 含义 |
|---|---|
<<[xxx()]>> |
普通字段,AI 自动填值 |
<<foreach[Type var in xxx()]>> |
循环复制表格行 / 段落 |
<<if[xxx() != null]>> |
条件判断,为假自动删行 |
<<[indexOf() + 1]>> |
循环行号 |
<<cellMerge>> |
单元格合并标记,安全移除 |
生成后的 .docx 可直接交给 Aspose 环境渲染,无缝衔接现有生产流程。
适用人群
- 后端 / 前端开发:Markdown 写接口文档,一键导出规范排版的 Word
- 行政 / 人事:证书、合同、通知的批量模板填充
- 产品 / 运营:日报、周报、产品说明的 AI 生成
- 学生 / 科研:报告、结题材料的快速排版
为什么推荐它
- 完全本地运行,数据不出内网,适合企业环境
- 保留原生 Word 格式,填充结果不是"纯文本贴上去",字体、颜色、表格样式都还在
- AI 识别可变字段,模板制作不需要手动标注
- 依赖少、代码简单 ,二次开发成本低,Flask 单文件入口 + 清晰的
core/模块结构 - 支持 Markdown,开发者最顺手的输入方式
如果这个项目对你有帮助,欢迎到 GitHub 点个 Star ⭐,也欢迎提交 Issue 和 PR:
GitHub 仓库:https://github.com/meikongli/wordsmith