---
id: wechat-draft-publisher
name: "wechat-draft-publisher"
url: https://skills.yangsir.net/skill/wechat-draft-publisher
author: BND-1
domain: content-creation
tags: ["wechat", "publishing", "automation", "content-management", "drafts"]
install_count: 2390
rating: 4.30 (105 reviews)
github: https://github.com/BND-1/wechat_article_skills/tree/main/wechat-draft-publisher
---

# wechat-draft-publisher

> 此技能可自动将HTML文章发布至微信公众号草稿箱，支持封面图、标题、作者及摘要等元数据管理。它简化了内容发布流程，确保文章格式适配微信，并提供错误处理与配置引导，极大提升了公众号运营效率。

**Stats**: 2,390 installs · 4.3/5 (105 reviews)

## Before / After 对比

### 微信文章发布效率提升

**Before**:

在没有自动化工具时，将一篇HTML文章发布到微信公众号草稿箱，需要手动复制粘贴内容、上传封面图、填写标题和摘要，并反复调整格式以适配微信，整个过程耗时且易出错。

**After**:

使用此技能后，只需提供HTML文件和基本元数据，工具便能自动处理格式优化、封面图上传和草稿发布。大大减少了人工操作，将发布时间从数十分钟缩短至几分钟，显著提升了内容发布效率。

| Metric | Before | After | Change |
|---|---|---|---|
| 文章发布时间 | 60分钟 | 5分钟 | -92% |

## Readme

# 微信公众号草稿发布器

自动将 HTML 格式的文章发布到微信公众号草稿箱，支持封面图上传、标题、作者和摘要等元数据管理。

## ⚡ 快速开始

**最简单的用法：**
```bash
python publisher.py --title "文章标题" --content article.html
```

**完整参数：**
```bash
python publisher.py \
  --title "标题" \
  --content article.html \
  --author "作者名" \
  --cover cover.png \
  --digest "文章摘要"
```

**默认值：**
- 作者：`YanG`
- 封面图：`cover.png`

## 📋 执行步骤

**发布文章到微信草稿箱的完整流程：**

1. **查找 HTML 文件**
   - 优先查找 `*_formatted.html`（formatter 输出）
   - 回退到最新的 `.html` 文件

2. **提取文章标题**
   - 从 HTML 注释提取：`<!-- Title: xxx -->`
   - 从文件名提取
   - 询问用户

3. **检查封面图**
   - 查找 `cover.png`
   - 如缺失则警告但继续发布

4. **调用发布脚本**
   ```bash
   python publisher.py --title "xxx" --content xxx.html --cover xxx.png
   ```

5. **验证结果**
   - 确认草稿创建成功
   - 获取草稿 media_id

6. **提示用户**
   - 提供微信后台链接
   - 说明下一步操作

## 🔧 配置要求

### 首次使用

工具会在首次运行时引导配置：

1. **获取微信公众号凭证**
   - 访问 https://mp.weixin.qq.com
   - 进入 设置 → 基本配置
   - 复制 AppID 和 AppSecret

2. **运行发布器**
   ```bash
   python publisher.py --title "测试" --content test.html
   ```

3. **添加服务器 IP 到白名单**（如需要）

### 配置文件

**位置：** `~/.wechat-publisher/config.json`

**格式：**
```json
{
  "appid": "wx1234567890abcdef",
  "appsecret": "your_secret_here"
}
```

## ✨ 核心功能

- ✅ access_token 自动缓存（有效期 7200 秒）
- ✅ 封面图上传和管理
- ✅ HTML 内容自动优化（适配微信）
- ✅ 字段长度自动截断（标题/作者/摘要）
- ✅ 错误处理和重试机制
- ✅ 中文错误提示和解决方案
- ✅ 交互模式和命令行模式

## 🛠️ 工作流集成

与其他 skill 协同工作：

**完整工作流：**
1. `wechat-tech-writer` → 生成文章（`xxx_article.md` + `cover.png`）
2. `wechat-article-formatter` → 格式化 HTML（`xxx_formatted.html`）
3. `wechat-draft-publisher` → 发布到微信草稿箱（本 skill）

**自动检测机制：**
- 自动查找 `*_formatted.html` 文件
- 自动查找 `cover.png` 封面图
- 自动识别内容图片

## 🚨 常见问题

### 错误：IP 不在白名单
**症状：** `invalid ip not in whitelist`
**解决：**
1. 登录微信公众号后台
2. 进入 设置 → 基本配置
3. 添加服务器 IP 到白名单

### 错误：AppSecret 错误
**症状：** `AppSecret error`
**解决：**
- 检查配置文件：`~/.wechat-publisher/config.json`
- 验证 AppID 以 "wx" 开头（18 个字符）
- 确认 AppSecret 正确

### 错误：标题/作者超出限制
**症状：** `title/author size out of limit`
**解决：**
- 工具会自动截断（标题：32 字节，作者：20 字节）
- 如需调整，修改 `publisher.py`

## 📁 文件结构

```
wechat-draft-publisher/
├── SKILL.md                # 本文件
├── publisher.py            # 核心发布脚本
├── scripts/                # 工具脚本
│   ├── fix-wechat-style.py # HTML 优化器
│   ├── optimize-html.py    # HTML 压缩工具
│   ├── publish-workflow.sh # 完整工作流
│   ├── install.sh          # 安装助手
│   └── test.sh             # 测试脚本
├── examples/               # 示例文件
│   ├── config.json.example # 配置示例
│   └── example.html        # HTML 示例
└── README.md               # 详细英文文档
```

## 💡 使用示例

**示例 1：标准发布**
```bash
python publisher.py \
  --title "VSCode 更名事件" \
  --content article.html
```

**示例 2：完整元数据**
```bash
python publisher.py \
  --title "技术文章" \
  --content article.html \
  --author "YanG" \
  --cover images/cover.png \
  --digest "这是一篇关于..."
```

**示例 3：交互模式**
```bash
python publisher.py --interactive
```

## 📱 发布后操作

发布成功后：

1. 登录微信公众号后台
2. 进入"草稿箱"
3. 预览效果
4. 确认后发布

**注意事项：**
- ⚠️ 草稿保存在微信后台，不会立即发布
- ⚠️ 可以在草稿箱中编辑后再发布
- ⚠️ 封面图会在预览时显示

## 🔗 相关文档

- **详细文档：** [README.md](README.md)（英文）
- **安装指南：** [scripts/install.sh](scripts/install.sh)
- **HTML 处理：** [scripts/fix-wechat-style.py](scripts/fix-wechat-style.py)

---
*Source: https://skills.yangsir.net/skill/wechat-draft-publisher*
*Markdown mirror: https://skills.yangsir.net/api/skill/wechat-draft-publisher/markdown*