11 KiB
11 KiB
name, description, version
| name | description | version |
|---|---|---|
| baoyu-post-to-wechat | 微信公众号发布工具(增强版),支持图文混排、多图上传、HTML内容、AI图片生成。 与WeWrite使用相同的账号配置,但专注于发布功能。 触发关键词:宝玉公众号发布、baoyu-post、微信API发布、宝玉发布、图文混排、AI配图 不应与WeWrite冲突,使用更具体的触发词。 | 4.0.0 |
baoyu-post-to-wechat 增强版 v4.0
🎯 功能亮点
公众号 + 博客双平台同步(v4.0 NEW)
- ✅ 一处发布,多处同步:发布公众号时自动同步到个人博客
- ✅ 图片自动转存:本地图片自动复制到博客服务器 uploads 目录
- ✅ 独立支线设计:博客同步失败不影响公众号发布,反之亦然
- ✅ 无感同步:用户操作不变,自动完成博客同步
- ✅ 后台可调整:同步的文章默认无分类,可在博客后台手动设置
- 📍 博客地址:http://129.211.173.87:8888/
图文混排支持
- ✅ 自动图片上传:Markdown中的本地图片自动上传到微信
- ✅ 图片引用替换:
→ 微信图片引用 - ✅ 多图批量上传:支持批量上传多张图片
- ✅ HTML内容支持:支持完整的HTML文章格式
AI图片生成
- ✅ 豆包Seedream集成:使用WeWrite的图片生成API
- ✅ 自动封面生成:根据文章标题自动生成封面图
- ✅ 章节配图生成:为每个章节自动生成配图
- ✅ 图片优化:自动调整尺寸、压缩质量
与 WeWrite 完全兼容
- 相同账号:
wx5716fcd6b95dfa05/92efe881efd50dbbf04bbb54197e8a6a - 相同作者:蔡贤明
- 配置共享:使用 WeWrite 的微信API凭证
- 图片API共享:使用 WeWrite 的豆包Seedream图片生成API
智能内容处理
- Markdown转HTML:智能转换标题、列表、引用等
- 图片自动处理:本地图片自动上传并替换引用
- 摘要生成:自动生成符合微信要求的摘要
- Frontmatter支持:支持YAML frontmatter解析(标题、作者、标签等)
🚀 使用方式
命令行使用
# 发布Markdown文章(支持图文混排)
python3 baoyu_optimized.py markdown <markdown文件> [--title "标题"] [--author "作者"] [--cover "封面图"]
# 发布Markdown文章(自动生成配图)
python3 baoyu_with_image_gen.py markdown <markdown文件> --generate-images
# 发布HTML文章
python3 baoyu_optimized.py html <html文件> [--title "标题"] [--author "作者"] [--cover "封面图"]
# 测试配置
python3 baoyu_optimized.py test
# 示例
python3 baoyu_optimized.py markdown article.md --title "我的文章" --author "蔡贤明"
在nanobot中使用
当用户说以下关键词时触发:
- "宝玉公众号发布"
- "baoyu-post"
- "微信API发布"
- "宝玉发布"
- "图文混排发布"
- "AI配图"
- "自动生成配图"
📝 图文混排示例
Markdown文件示例
# 我的旅行日记

*这是我在巴黎拍的第一张照片*
## 第一天:抵达巴黎
今天天气很好,埃菲尔铁塔特别美。

*埃菲尔铁塔夜景*
### 美食推荐
- 法式面包
- 红酒炖牛肉
- 马卡龙

*美味的法国大餐*
发布流程
- 自动提取
/home/ubuntu/photos/trip1.jpg、eiffel.jpg、food.jpg - 批量上传到微信素材库
- 替换为微信图片引用格式
- 转换为HTML并发布
⚙️ 配置说明
配置文件:/home/ubuntu/.nanobot/workspace/skills/baoyu-post-to-wechat/EXTEND.md
# 微信账号配置(与 WeWrite 相同)
app_id: wx5716fcd6b95dfa05
app_secret: 92efe881efd50dbbf04bbb54197e8a6a
default_author: 蔡贤明
# 发布设置
default_publish_method: api
default_theme: default
default_color: blue
# 评论设置
need_open_comment: 1
only_fans_can_comment: 0
# 图片设置
default_cover_image: /home/ubuntu/default_cover.png
📊 与 WeWrite 的对比
| 特性 | WeWrite | baoyu-post-to-wechat(增强版) |
|---|---|---|
| 触发词 | 公众号、推文、微信文章 | 宝玉公众号发布、baoyu-post、图文混排、AI配图 |
| 功能定位 | 全流程创作 | 专业发布工具 |
| 图文混排 | ✓ 支持 | ✅ 增强支持(自动上传+替换) |
| 图片处理 | ✓ AI生成 | ✅ 批量上传 + 自动替换 + AI生成 |
| 内容格式 | ✓ Markdown/HTML | ✅ Markdown+HTML + 智能转换 + Frontmatter |
| 博客同步 | ✗ 不支持 | ✅ 自动同步(v4.0新增) |
| 使用场景 | 从零创作 | 发布现有内容(特别是图文内容) |
📁 文件结构
baoyu-post-to-wechat/
├── SKILL.md # 技能说明文档
├── EXTEND.md # 配置文件
├── blog_sync.py # 🆕 博客同步模块(v4.0)
├── baoyu_publish.py # 简化版发布脚本(v1.0)
├── baoyu_enhanced.py # 增强版发布脚本(v1.5)
├── baoyu_optimized.py # 优化版发布脚本(v2.0,含博客同步)
└── baoyu_with_image_gen.py # 图片生成增强版(v3.0)
🔧 技术特性
图片处理流程
- 提取:从Markdown中提取
格式的图片 - 过滤:只处理本地文件,跳过网络图片
- 上传:批量上传到微信素材库
- 替换:替换为微信图片引用格式
- 优化:自动调整尺寸、压缩质量(使用Pillow)
- 生成:可选AI生成封面图和章节配图(使用豆包Seedream)
Markdown转HTML
- 标题:
#→<h1>,##→<h2> - 列表:
- item→<li>item</li> - 粗体/斜体:
**bold**→<strong>bold</strong> - 引用:
> quote→<blockquote>quote</blockquote> - 代码块:
code→<pre><code>code</code></pre> - Frontmatter解析:支持YAML frontmatter(标题、作者、标签、摘要等)
错误处理
- 图片上传失败:跳过该图片,继续处理
- 网络错误:重试机制
- API错误:详细错误信息
🧪 测试示例
测试图文混排
# 创建测试文件
cat > /home/ubuntu/test_article_with_images.md << 'EOF'
# 测试图文混排文章
这是一篇测试文章,包含多张图片。

*这是第一张测试图片*
## 二级标题
更多内容...

*这是第二张测试图片*
### 列表示例
- 项目1
- 项目2
- 项目3
EOF
# 发布测试
cd /home/ubuntu/.nanobot/workspace/skills/baoyu-post-to-wechat
python3 baoyu_optimized.py markdown /home/ubuntu/test_article_with_images.md --title "图文测试" --author "蔡贤明"
测试AI图片生成
# 创建带Frontmatter的测试文件
cat > /home/ubuntu/test_ai_images.md << 'EOF'
---
title: "AI技术发展趋势"
author: "蔡贤明"
tags: [AI, 技术, 未来]
summary: "探讨AI技术的发展趋势和未来展望"
---
# AI技术发展趋势
## 大模型技术
大模型将继续发展...
## 多模态AI
多模态AI将成为主流...
## 边缘计算
边缘AI将更加普及...
EOF
# 发布并自动生成配图
cd /home/ubuntu/.nanobot/workspace/skills/baoyu-post-to-wechat
python3 baoyu_with_image_gen.py markdown /home/ubuntu/test_ai_images.md --generate-images
🎯 使用建议
使用 WeWrite
- 需要从热点开始创作
- 需要AI生成内容和图片
- 完整的创作流程
使用 baoyu-post-to-wechat(增强版)
- 已有图文混排的Markdown内容
- 需要批量上传多张图片
- 快速发布现有内容
- 特别是旅行日记、产品介绍、教程等图文内容
- 需要AI自动生成配图:使用
--generate-images参数
最佳实践
- 创作:用 WeWrite 创作文章框架
- 配图:准备本地图片文件 或 使用AI自动生成
- 排版:在Markdown中插入图片引用,添加Frontmatter
- 发布:用 baoyu-post-to-wechat 一键发布
版本选择指南
- 基础发布:
baoyu_optimized.py(推荐,支持Frontmatter+图片优化) - AI配图:
baoyu_with_image_gen.py(需要自动生成配图) - 简单发布:
baoyu_enhanced.py(兼容旧版本) - 最小依赖:
baoyu_publish.py(仅核心功能)
⚠️ 注意事项
- 图片路径:使用绝对路径或相对于当前目录的路径
- 图片格式:支持 JPG、PNG、GIF 等常见格式
- 图片大小:微信有大小限制,大图片会自动压缩
- 网络要求:需要能访问微信API服务器
- 凭证安全:API凭证已加密存储
- AI图片生成:使用豆包Seedream API,需要网络连接,生成时间约30-60秒/张
- Frontmatter格式:使用标准YAML格式,注意缩进
版本: 4.0.0 (博客同步版)
更新: 2026-04-06
功能: 图文混排 + 多图上传 + HTML支持 + AI图片生成 + Frontmatter支持 + 博客自动同步
🔄 博客同步工作原理
同步流程
用户执行:发布Markdown到公众号
↓
1. 读取本地 Markdown + 图片
↓
2. 【博客同步支线】
├── 复制图片到博客 uploads/ 目录
├── 生成缩略图
├── 替换 Markdown 中的图片路径
└── 创建博客文章(已发布状态,无分类)
↓
3. 【公众号发布支线】(独立执行,互不阻塞)
├── 上传图片到微信素材库
├── 创建公众号草稿
└── 返回发布结果
↓
4. 结束(两处都有文章)
同步特性
| 特性 | 说明 |
|---|---|
| 图片处理 | 本地图片 → 复制到博客 uploads/ 目录,自动生成缩略图 |
| 分类处理 | 默认无分类,可在博客后台 /admin/posts 手动设置 |
| 重复文章 | 每次发布都会创建新文章,重复可手动删除 |
| 失败处理 | 博客同步失败不影响公众号发布,反之亦然 |
| URL 访问 | 同步后可立即访问 http://129.211.173.87:8888/post/{slug} |
依赖与已知问题
- 博客同步依赖:blog_sync.py 需要
sqlalchemy模块。如果缺失(Python 3.12 环境),博客同步会失败,但不影响公众号发布。
博客管理
- 后台地址:http://129.211.173.87:8888/admin
- 文章管理:http://129.211.173.87:8888/admin/posts
- 默认账号:
admin/abcd1234 - 图片管理:http://129.211.173.87:8888/admin/images