从 Word / PDF 稿件到微信公众号草稿与正式发布的一体化工作台:自动解析正文和配图、应用可复用模板、生成微信兼容的纯内联 HTML,并统一管理草稿箱、永久素材与发布状态。
由「谓无名」公众号专用排版工具升级而来,现已通用化:内置模板系统,既能用预设模板,也能从任意公众号文章 URL 提取样式复刻。
- 排版门槛高:公众号要求纯内联样式 HTML,手写几乎不可能。本工具用模板自动渲染,输出可直接粘贴。
- 样式难复刻:看到别家公众号排版好看?粘贴文章 URL 即可提取其样式为可复用模板。
- 文档转格式繁琐:
.doc/.docx/.pdf直接解析为结构化 Markdown,再一键渲染。 - 配图上传麻烦:内置免费图床上传(PicGo / imgbb),本地图自动换成公网 URL。
- AI 内容创作:接入阿里云百炼 CLI(Qwen),可模仿既有文章风格仿写新稿。
- 后台管理分散:统一管理草稿箱、永久素材与正式发布,既支持本机公网 IP 直连,也支持固定公网 IP 服务器中转。
| 能力 | 说明 | 入口 |
|---|---|---|
| 环境诊断 | 一键检查依赖、旧 DOC 转换器、图床和公众号配置 | scripts/doctor.py |
| 文档解析 | docling 免费离线(首选)/ 阿里云 DocMind(可选) | scripts/parse_document.py |
| 模板渲染 | 预设模板 + 自定义模板 → 微信内联 HTML | scripts/render_universal.js |
| 模板提取 | 从公众号文章 URL 提取样式为模板 | scripts/extract_template.js |
| 内容创作 | 百炼 CLI 调 Qwen 仿写/创作 | scripts/create_content.py |
| 图床上传 | PicGo / imgbb 免费图床 | scripts/upload_image.py |
| 公众号管理 | 草稿 CRUD、素材管理、生成封面、正式发布、直连/中转 | scripts/wechat_manager.py |
| 简易草稿推送 | 单篇 HTML 直接推送到草稿箱(兼容旧流程) | scripts/publish_wechat.py |
- 内容生成:阿里云百炼 CLI(
bailian-cli)调用 Qwen 模型(默认qwen3.7-max)进行公众号文章创作与风格仿写。 - 文档智能解析:阿里云 DocMind(
alibabacloud-docmind-api),作为.doc/.docx/.pdf结构化抽取与 OCR 的可选云端引擎(默认走免费离线的 IBM docling,用户可自配 AccessKey 切换)。
# 1. 安装并检查环境
npm install # Windows PowerShell 若被拦截,使用 npm.cmd install
pip install docling # DOCX/PDF/OCR 智能解析
python scripts/doctor.py 文章.doc
# 2. 文档 → Markdown(DOC/DOCX 图片自动输出到 article_assets/)
python scripts/parse_document.py 文章.doc -o article.md
# 3. Markdown → 微信 HTML(默认使用「商业通用模板」)
node scripts/render_universal.js article.md --preview
# 仍可显式使用「学术通用模板」
node scripts/render_universal.js article.md --preset weiwuming --preview
# 4.(可选)AI 仿写创作
npm install -g bailian-cli && bl auth login --api-key sk-xxx
python scripts/create_content.py --style 样本.md --topic "主题" -o article.md
# 5.(可选)管理公众号草稿、素材与发布
python scripts/wechat_manager.py check
python scripts/wechat_manager.py draft-create article.html --title "标题"
python scripts/wechat_manager.py draft-list旧版 .doc 在 Windows 上自动依次调用本机已装的 Microsoft Word → WPS Office → LibreOffice 转换(三者装任一即可,无需专门安装 LibreOffice);配置了 DocMind 的用户 .doc 还可直接云端解析,本机零依赖。渲染器允许本地图片生成预览并给出提醒,发布前可上传图床,或交给 wechat_manager.py 自动转存;需要严格检查时添加 --strict-images。
三项都是可选的:不配 DocMind 就走本地 docling;不配图床就不上传图片;不配公众号就只导出 HTML 手动粘贴。
配置状态随时用 python scripts/doctor.py 自检(未配置的项会打印下面这些直链)。
| 步骤 | 直达链接 |
|---|---|
| 1. 开通「文档智能」服务(有免费额度) | https://docmind.console.aliyun.com/ |
| 2. 创建 AccessKey(密钥只显示一次) | https://ram.console.aliyun.com/manage/ak |
3. RAM 子账号授权 AliyunDocMindFullAccess(漏这步会报 NoPermission) |
https://ram.console.aliyun.com/users |
pip install alibabacloud-docmind-api20220711 alibabacloud-tea-openapi
# 凭证写入 ~/.docmind/config.json:
# {"access_key_id": "...", "access_key_secret": "..."}
python scripts/parse_docmind.py 文章.docx --format md -o article.md详见 references/docmind-setup.md(含实测踩坑排查表)。
| 方案 | 直达链接 | 流程 |
|---|---|---|
| PicGo(推荐) | https://picgo.github.io/PicGo-Doc/ | 安装 → 图床设置配好任一后端(GitHub/Gitee/COS 均免费)→「设置 → 设置 server」启动本地服务,脚本自动发现 127.0.0.1:36677 |
| imgbb(最快上手) | https://api.imgbb.com/ | 注册免费拿 API Key → 写入 ~/.weiwuming/image-host.json:{"imgbb":{"api_key":"..."}} |
python scripts/upload_image.py --check # 自检两个图床可用性
python scripts/upload_image.py images/*.jpg # 批量上传(内容 hash 幂等 + 5xx 自动重试)| 要配什么 | 直达入口 | 位置与流程 |
|---|---|---|
| AppID / AppSecret | https://mp.weixin.qq.com/ | 「设置与开发 → 基本配置」→ 开发信息;AppSecret 需管理员扫码生成、只显示一次 |
IP 白名单(漏配报 invalid ip) |
https://mp.weixin.qq.com/ | 同页「IP白名单」→ 添加本机公网 IP,一条命令查询:curl -4 -s https://checkip.amazonaws.com |
# 凭证写入 ~/.weiwuming/wechat.json:
# {"appid": "你的AppID", "appsecret": "你的AppSecret"}
python scripts/wechat_manager.py check # 验证配置 + 实测 access_token(顺带确认白名单生效)
python scripts/wechat_manager.py draft-create article.html --title "标题"家庭宽带 IP 会变,变更后需重新加白名单;IP 不固定可用固定公网 IP 服务器中转(references/wechat-relay.md)。
详见 references/wechat-publish.md 与 references/wechat-manager.md。
各功能的配置与细节见 references/:
references/image-host.md— 免费图床(PicGo/imgbb)配置references/bailian-content.md— 百炼 CLI 内容创作references/wechat-publish.md— 微信草稿箱发布references/wechat-manager.md— 草稿、素材、封面与正式发布管理references/wechat-relay.md— 固定公网 IP 中转接口约定references/wechat.example.json— 多账号及直连/中转配置示例references/docmind-setup.md— DocMind 接入references/syntax_rules.md— 学术通用模板扩展语法references/troubleshooting.md— Windows、旧 DOC、图片与发布常见卡点
.
├── SKILL.md # Skill 定义(工作流 A–F)
├── README.md # 本说明
├── package.json # Node 依赖
├── templates/
│ ├── schema.json # 模板 JSON Schema
│ └── presets/
│ ├── moyu-green.json # 默认:商业通用模板
│ └── weiwuming.json # 学术通用模板
├── scripts/
│ ├── parse_document.py # 通用文档解析(docling/DocMind)
│ ├── document_convert.py # DOC → DOCX(Word/WPS/LibreOffice 自动回退)
│ ├── extract_docx.py # 本地 Word 提取(标准库回退)
│ ├── doctor.py # 无网络、无密钥泄露的环境诊断
│ ├── extract_template.js # 从 URL 提取模板
│ ├── render_universal.js # 通用模板渲染器
│ ├── render_html.js # 谓无名专用渲染器(原有)
│ ├── fetch_book.py # 豆瓣书籍查询
│ ├── upload_image.py # 免费图床上传(picgo/imgbb)
│ ├── create_content.py # 百炼 CLI 内容创作(风格仿写)
│ ├── publish_wechat.py # 简易草稿推送(兼容旧流程)
│ ├── wechat_api.py # 微信直连/中转 API 与路由
│ ├── wechat_manager.py # 草稿、素材与正式发布 CLI
│ └── generate_wechat_cover.py # 生成 900×383 封面图
├── web/index.html # 可视化工作台
├── tests/ # 文档管线与微信 API 单元测试
└── references/ # 各功能配置与说明文档
| 语法 | 用途 |
|---|---|
### 标题 / 作者 |
主标题(含作者名) |
## 小标题 + ---[dot] |
章节小标题 + 圆点分隔 |
>>> … <<< |
编者按 |
> 原文 |
引用 |
---[notes] … ---[/notes] |
注释区域 |
[book:封面|书名|作者|出版社|年份] |
书籍卡片 |
---[bio-title:作者简介] … ---[/bio] |
作者简介 |
[staff:姓名|职位] |
工作人员署名 |
---[follow] … ---[/follow] |
关注引导语 |
完整规则见 references/syntax_rules.md。使用 generic 模板时这些扩展语法会被自动降级为标准 Markdown。
- Node.js ≥ 18(渲染;百炼 CLI 需 ≥ 22.12)
- Python 3.10+(诊断、微信管理与基础能力)
- docling(可选,离线文档解析)
- Microsoft Word、WPS Office 或 LibreOffice 任一(仅旧版
.doc本地转换需要;配置 DocMind 后可云端解析,零本地依赖) - bailian-cli(可选,AI 内容创作)
- Pillow(可选,仅自动生成封面图需要)
MIT