# 微信公众号发布技能 - 产品需求文档

**技能名称**: wechat-mp-publish  
**版本**: v1.0  
**创建日期**: 2026-03-09  
**作者**: 小龙虾 🦞  
**状态**: 开发中

---

## 📋 产品概述

基于微信公众号官方 API 的自动化发布技能，支持图文消息的创建、编辑、发布全流程。

### 目标用户
- 公众号运营者
- 内容创作者
- 需要批量发布文章的用户

### 核心价值
- 自动化发布流程，节省时间
- API 级别操作，稳定可靠
- 智能配图，提升内容质量

---

## 🎯 功能需求

### 1. 配置管理

**需求描述**: 支持公众号凭证配置和管理

**功能点**:
- [ ] AppID 配置（从微信公众平台获取）
- [ ] AppSecret 配置（从微信公众平台获取）
- [ ] 公众号名称显示
- [ ] 凭证安全存储（环境变量或加密文件）
- [ ] 多账号支持（预留扩展）

**配置文件**: `config.yaml` 或环境变量

---

### 2. 智能封面生成

**需求描述**: 根据文章内容自动生成封面图

**功能点**:
- [ ] 文章内容关键词提取
- [ ] 调用 AI 绘图 API 生成图片
- [ ] 封面图无文字要求
- [ ] 图片尺寸：900x383px（公众号标准）
- [ ] 图片格式：JPG/PNG
- [ ] 图片大小：< 2MB

**技术方案**:
- 关键词提取：TF-IDF 或 LLM
- 图片生成：DALL-E 3 / Stable Diffusion / 通义万相
- 图片处理：PIL/Pillow 调整尺寸

---

### 3. 文章样式模板

**需求描述**: 提供可配置的 HTML 样式模板

**功能点**:
- [ ] 3 个默认模板样例
  - 简约风格（基础排版）
  - 商务风格（正式文档）
  - 创意风格（活泼设计）
- [ ] 模板配置化（CSS 可定制）
- [ ] 支持 Markdown 转 HTML
- [ ] 支持自定义模板

**模板文件**: `templates/*.html`

---

### 4. 图文消息发布

**需求描述**: 通过官方 API 发布图文消息

**功能点**:
- [ ] 图片上传到微信服务器（获取 media_id）
- [ ] 图文消息创建（draft）
- [ ] 支持保存到草稿箱
- [ ] 支持直接发布
- [ ] 发布状态查询
- [ ] 错误处理和重试

**API 端点**:
- `POST https://api.weixin.qq.com/cgi-bin/media/uploadimg` - 上传图片
- `POST https://api.weixin.qq.com/cgi-bin/draft/add` - 创建草稿
- `POST https://api.weixin.qq.com/cgi-bin/message/mass/sendall` - 群发

---

### 5. 发布模式

**需求描述**: 支持草稿和发布两种模式

**功能点**:
- [ ] `--draft` 模式：保存到草稿箱
- [ ] `--publish` 模式：直接群发
- [ ] `--preview` 模式：发送预览
- [ ] 批量发布支持

---

## 📐 技术架构

### 目录结构
```
wechat-mp-publish/
├── SKILL.md              # 技能说明
├── _meta.json            # 元数据
├── requirements.txt      # Python 依赖
├── config.yaml           # 配置文件（示例）
├── config.example.yaml   # 配置示例
├── publish.py            # 主程序
├── wechat_api.py         # 微信 API 封装
├── image_gen.py          # 图片生成
├── templates/            # 样式模板
│   ├── simple.html
│   ├── business.html
│   └── creative.html
└── memory/               # 运行状态
    └── publish_log.json
```

### 依赖库
```
requests>=2.31.0
Pillow>=10.0.0
PyYAML>=6.0
markdown>=3.5.0
python-dotenv>=1.0.0
```

---

## 🔒 安全要求

- [ ] AppSecret 不硬编码
- [ ] 使用环境变量或加密存储
- [ ] API 调用频率限制
- [ ] 错误日志不泄露敏感信息
- [ ] access_token 安全缓存

---

## 📊 验收标准

### 功能验收
1. ✅ 成功获取 access_token
2. ✅ 成功上传图片并获得 URL
3. ✅ 成功创建草稿
4. ✅ 成功发布文章
5. ✅ 生成封面图符合尺寸要求
6. ✅ 3 个模板样式正确应用

### 测试任务
使用测试公众号完成：
- [ ] 发布 3 篇测试文章到草稿箱（3 个模板各 1 篇）
- [ ] 直接发布 1 篇测试文章
- [ ] 每篇文章配图 1 张（AI 生成）
- [ ] 文章内容："我的诞生记"（AI 视角）

---

## 📅 版本规划

### v1.0 (当前)
- 基础发布功能
- 智能配图
- 3 个模板

### v2.0 (规划)
- 批量发布
- 定时发布
- 数据统计
- 更多模板

### v3.0 (愿景)
- 多账号管理
- 内容素材库
- AI 自动写作
- 发布审批流程

---

## 📝 更新日志

### v1.0.0 - 2026-03-09
- 初始版本创建
- 实现核心发布功能
- 集成 AI 配图

---

**文档维护**: 每次版本更新时同步更新此文档
