feishu_fabu/README.md
wp-publish-bot 1fb93e34c6 feat: 初始化 WordPress 自动发布系统(飞书机器人集成)
- 飞书消息接收与处理(文字、图片、Word 文档)
- WordPress REST API 文章发布
- 图片自动上传到媒体库
- Word 文档解析与发布
- HTML 格式化与分类自动匹配
- Python CLI 工具(避免 shell 引号冲突)
- Webhook 服务器(8080 端口)
- 完整日志系统
2026-05-12 15:09:30 +08:00

163 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# WordPress 自动发布系统
基于 OpenClaw + WordPress REST API 的自动化文章发布系统,支持 Word 文档解析和文字 + 图片发布。
## 📁 目录结构
```
wp-publish/
├── config.py # 配置文件
├── README.md # 使用说明
├── logs/ # 日志目录
│ ├── publish.log # 发布日志
│ ├── debug.log # 调试日志
│ └── error.log # 错误日志
├── modules/ # 功能模块
│ ├── __init__.py # 模块包初始化
│ ├── wp_logger.py # 日志系统
│ ├── wp_parse_docx.py # Word 文档解析
│ ├── wp_image_handler.py # 图片处理与上传
│ ├── wp_formatter.py # HTML 格式化
│ ├── wp_api.py # WordPress API
│ └── wp_category.py # 分类匹配
├── scripts/ # 执行脚本
│ ├── wp_publish.py # 主发布脚本Word 文档)
│ └── wp_publish_text.py # 文字 + 图片发布脚本
├── temp/ # 临时文件
└── templates/ # 模板文件
```
## 🚀 使用方法
### 1. Word 文档发布
```bash
# 基本用法
python3 /www/wwwroot/wp-publish/scripts/wp_publish.py /path/to/document.docx
# 指定分类
python3 /www/wwwroot/wp-publish/scripts/wp_publish.py /path/to/document.docx -c 9
# 指定指令(支持 #分类 格式)
python3 /www/wwwroot/wp-publish/scripts/wp_publish.py /path/to/document.docx -i "#分类 技术"
# 指定标签
python3 /www/wwwroot/wp-publish/scripts/wp_publish.py /path/to/document.docx -t "1,2,3"
# 预览模式(不实际发布)
python3 /www/wwwroot/wp-publish/scripts/wp_publish.py /path/to/document.docx -d
# 保存为草稿
python3 /www/wwwroot/wp-publish/scripts/wp_publish.py /path/to/document.docx -s draft
```
### 2. 文字 + 图片发布
```bash
# 基本用法
python3 /www/wwwroot/wp-publish/scripts/wp_publish_text.py "这是文章正文内容"
# 带图片发布
python3 /www/wwwroot/wp-publish/scripts/wp_publish_text.py "文章正文" -i /path/to/image1.jpg /path/to/image2.jpg
# 指定标题
python3 /www/wwwroot/wp-publish/scripts/wp_publish_text.py "文章正文" -t "自定义标题"
# 指定分类指令
python3 /www/wwwroot/wp-publish/scripts/wp_publish_text.py "文章正文" -c "#分类 ai"
# 指定标签
python3 /www/wwwroot/wp-publish/scripts/wp_publish_text.py "文章正文" -T "1,2,3"
```
## 📋 分类列表
| ID | 名称 | Slug | 说明 |
|----|------|------|------|
| 12 | Ai 科普 | ai-kepu | AI 科普类文章 |
| 11 | Ai 资讯 | ai-zixun | AI 行业新闻 |
| 16 | GEO | geo | GEO 优化相关 |
| 9 | 人工智能 | ai | 通用 AI 文章 |
| 5 | 技术资料 | jishu | 技术教程 |
| 10 | 好物分享 | fenxiang | 产品推荐 |
| 4 | 文章分享 | wenzhang | 转载文章 |
| 8 | 杂记 | zaji | miscellaneous |
| 7 | 随笔 | suibi | 个人随笔(默认) |
| 1 | 关于我们 | guanyu | 网站信息 |
## ⚙️ 配置说明
编辑 `config.py` 文件:
```python
# WordPress 配置
wp_url = 'https://www.nanlou.net'
wp_user = 'shaowu'
wp_password = 'your_app_password'
# 默认分类 ID
default_category = 7
# 是否自动匹配分类
auto_match_category = True
# 图片优化配置
optimize_images = True
image_max_width = 1200
image_quality = 85
# 默认发布状态
post_status = 'publish'
```
## 📝 日志说明
系统会生成三种日志:
| 日志文件 | 说明 | 级别 |
|---------|------|------|
| `logs/publish.log` | 发布操作日志 | INFO |
| `logs/debug.log` | 调试信息日志 | DEBUG |
| `logs/error.log` | 错误日志 | ERROR |
日志文件自动轮转,单个文件最大 10MB保留最近 5 个备份。
## 🔧 依赖库
```bash
pip3 install python-docx requests Pillow
```
## 📌 注意事项
1. 确保 WordPress 已安装 Application Passwords 插件WordPress 5.6+ 已内置)
2. 应用密码需要在 WordPress 后台生成
3. 图片会自动上传到 WordPress 媒体库
4. 第一张图片会自动设置为特色图片
5. 支持 Word 文档 (.docx) 格式
6. 图片格式支持JPG, PNG, GIF, BMP, WebP
## 🐛 故障排除
### 常见问题
1. **发布失败 - 401 未授权**
- 检查 WordPress 用户名和应用密码是否正确
- 确认用户具有发布文章权限
2. **图片上传失败**
- 检查图片格式是否支持
- 确认 WordPress 媒体库权限设置
3. **分类匹配错误**
- 使用 `-c` 参数手动指定分类
- 检查分类 slug 是否正确
4. **Word 解析失败**
- 确保文件为 .docx 格式(不支持 .doc
- 检查文件是否损坏
## 📞 技术支持
如有问题,请查看日志文件获取详细错误信息。