Files
nanocode/skills/baoyu-post-to-wechat/SKILL.md
T
Ubuntu 32b43f85bd a
2026-07-03 16:58:28 +08:00

11 KiB
Raw Blame History

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文件示例

# 我的旅行日记

![旅行照片1](/home/ubuntu/photos/trip1.jpg)
*这是我在巴黎拍的第一张照片*

## 第一天:抵达巴黎

今天天气很好,埃菲尔铁塔特别美。

![埃菲尔铁塔](/home/ubuntu/photos/eiffel.jpg)
*埃菲尔铁塔夜景*

### 美食推荐
- 法式面包
- 红酒炖牛肉
- 马卡龙

![美食](/home/ubuntu/photos/food.jpg)
*美味的法国大餐*

发布流程

  1. 自动提取 /home/ubuntu/photos/trip1.jpg、eiffel.jpg、food.jpg
  2. 批量上传到微信素材库
  3. 替换为微信图片引用格式
  4. 转换为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)

🔧 技术特性

图片处理流程

  1. 提取:从Markdown中提取 ![alt](path) 格式的图片
  2. 过滤:只处理本地文件,跳过网络图片
  3. 上传:批量上传到微信素材库
  4. 替换:替换为微信图片引用格式
  5. 优化:自动调整尺寸、压缩质量(使用Pillow)
  6. 生成:可选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](/home/ubuntu/default_cover.png)
*这是第一张测试图片*

## 二级标题

更多内容...

![测试图片2](/home/ubuntu/default_cover.png)
*这是第二张测试图片*

### 列表示例
- 项目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 参数

最佳实践

  1. 创作:用 WeWrite 创作文章框架
  2. 配图:准备本地图片文件 或 使用AI自动生成
  3. 排版:在Markdown中插入图片引用,添加Frontmatter
  4. 发布:用 baoyu-post-to-wechat 一键发布

版本选择指南

  • 基础发布:baoyu_optimized.py(推荐,支持Frontmatter+图片优化)
  • AI配图:baoyu_with_image_gen.py(需要自动生成配图)
  • 简单发布:baoyu_enhanced.py(兼容旧版本)
  • 最小依赖:baoyu_publish.py(仅核心功能)

⚠️ 注意事项

  1. 图片路径:使用绝对路径或相对于当前目录的路径
  2. 图片格式:支持 JPG、PNG、GIF 等常见格式
  3. 图片大小:微信有大小限制,大图片会自动压缩
  4. 网络要求:需要能访问微信API服务器
  5. 凭证安全:API凭证已加密存储
  6. AI图片生成:使用豆包Seedream API,需要网络连接,生成时间约30-60秒/张
  7. 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 环境),博客同步会失败,但不影响公众号发布。

博客管理