← 返回
未分类 Key

wechat-publish-pro

Pure Python tool to convert Markdown to styled HTML and publish articles to WeChat official account drafts with AI-based content refinement and theme support.
纯 Python 工具,可将 Markdown 转换为带样式的 HTML,并发布至微信公众号草稿箱,支持 AI 内容优化和主题功能。
yuesf yuesf 来源
未分类 clawhub v0.3.0 1 版本 100000 Key: 需要
★ 0
Stars
📥 344
下载
💾 0
安装
1
版本
#latest

概述

wechat-publish-pro Skill

微信公众号文章发布工具,完全独立实现,不依赖任何外部 CLI 工具。

功能特性

  • 纯 Python 实现: 不依赖 wenyan-cli 或其他外部工具
  • Markdown 转换: 内置 Markdown → HTML 转换,参考 wenyan-cli 排版风格
  • 多主题支持: 多种精美主题(green、blue、purple、orange、default、simple)
  • 代码高亮: Mac 风格代码块,语法高亮
  • 封面生成: 自动处理封面图,支持本地/网络图片
  • 直接发布: 一键发布到微信公众号草稿箱

触发条件

当用户需要以下操作时自动触发:

  • 将 Markdown 或 HTML 文章发布到微信公众号草稿箱
  • 转换 Markdown 为公众号格式 HTML
  • 使用特定主题发布公众号文章
  • 测试微信连接

安装

# 从 GitHub 安装
pip install git+https://github.com/yuesf/wechat-publish-pro.git

配置

第一步:获取微信公众号凭证

  1. 登录 https://developers.weixin.qq.com/ 公众号平台
  2. 获取 AppIDAppSecret

第二步:配置凭证

环境变量

export WECHAT_APP_ID=your_wechat_app_id
export WECHAT_APP_SECRET=your_wechat_app_secret

配置文件

# 初始化配置
wechat-publish-pro config init

# 设置配置
wechat-publish-pro config set wechat.app_id <AppID>
wechat-publish-pro config set wechat.app_secret <AppSecret>

第三步:设置 IP 白名单

把运行机器的 IP 添加到微信公众号后台白名单:

  1. 登录 https://mp.weixin.qq.com/
  2. 设置与开发 → 基本配置 → IP白名单

使用方式

通过 OpenClaw 直接发送

在 OpenClaw 对话中直接说:

  • "把这篇文章发到公众号"
  • "用蓝色主题发布"
  • "帮我发布到微信,测试一下"

命令行方式

Markdown 转换

# 基本转换(默认绿色主题)
wechat-publish-pro convert article.md

# 指定蓝色主题
wechat-publish-pro convert article.md --theme blue

# 指定输出文件
wechat-publish-pro convert article.md -o output.html

发布到微信

# 发布 HTML 文件到草稿箱(需要指定账号,否则会卡在交互提示)
wechat-publish-pro publish article.html --account <账号标识>

# 指定标题和封面
wechat-publish-pro publish article.html --title "文章标题" --cover cover.jpg --account <账号标识>

常见问题:

  • 发布命令卡住不动:确保使用 --account 参数指定账号,避免交互式选择
  • 封面上传失败:确认封面图片路径存在,不存在时省略 --cover 参数

一站式:Markdown → 转换 → 发布

# 转换后直接发布
wechat-publish-pro convert article.md --theme blue -o /tmp/article.html
wechat-publish-pro publish /tmp/article.html --title "文章标题"

测试连接

wechat-publish-pro test

上传图片

wechat-publish-pro upload-image image.jpg

Markdown 格式

文件顶部可以包含 frontmatter(建议只用 cover,不用 title,避免重复):

<!--
title: 文章标题
---
cover: ./assets/cover.jpg
---

你的内容...

重要注意事项

  • 不要在正文使用 # 大标题——标题由命令行 -t 参数提供,正文里的 # 标题会导致标题重复输出
  • 不要使用 --- 作为章节分隔线——wenyan-cli 会将其误解析为列表项 • --,用空行替代 ---
  • frontmatter 的 title 会被输出到正文——如果同时在正文写了 # 标题,会导致两个标题重复;建议 frontmatter 的 title 用 包裹,或完全不用 frontmatter 的 title,改由命令行 -t 提供标题

推荐格式

<!--
title: 文章标题(可选,用命令行 -t 更稳定)
cover: ./assets/cover.jpg
---

第一段内容(直接开始,不要用 `#` 标题)

## 章节标题(使用 ## ,不是 #)

内容...

(章节之间用空行分隔,不要用 ---)

可用主题

主题风格
------------
green清新自然(绿色,默认)
blue清新专业(蓝色)
purple优雅神秘(紫色)
orange温暖活力(橙色)
default简洁清爽
simple极简风格

故障排查

错误:45166 (IP地址不在白名单中)

  • 原因:运行机器的 IP 未添加到微信白名单
  • 解决:登录公众号后台添加 IP 到白名单

发布成功但看不到文章?

  • 原因:文章在草稿箱,需要审核发布
  • 解决:草稿箱 → 选中文章 → 发布

架构说明

wechat-publish-pro/
├── src/wechat_publish_pro/
│   ├── cli.py         # CLI 入口
│   ├── config.py      # 配置管理
│   ├── converter/     # Markdown 转换模块
│   │   ├── wechat_style.py   # 微信公众号样式转换器
│   │   ├── themes.py          # 主题配置
│   │   └── theme_types.py     # 主题数据类型
│   └── platforms/     # 平台适配器
│       └── wechat.py # 微信公众号 API
└── pyproject.toml

设计参考

本项目参考了以下优秀项目的设计思路:

  • wenyan-cli: Markdown 转微信 HTML 的排版思路
  • multi-writing-skills: 转换器和主题系统的实现

但本项目是完全独立实现的,不依赖任何外部代码。

作者

yuesf

许可证

MIT

版本历史

共 1 个版本

  • v0.3.0 当前
    2026-05-07 20:58 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

content-creation

Marketing Mode

thesethrose
{"answer":"营销模式整合23项全能技能,涵盖策略、心理、内容、SEO、转化优化及付费增长。适用于营销策略、文案、SEO、转化优化、付费广告及各类营销战术需求。"}
★ 161 📥 25,092
content-creation

humanizer-zh

liuxy951129-cpu
去除文本中的 AI 生成痕迹。适用于编辑或审阅文本,使其听起来更自然、更像人类书写。 基于维基百科的"AI 写作特征"综合指南。检测并修复以下模式:夸大的象征意义、 宣传性语言、以 -ing 结尾的肤浅分析、模糊的归因、破折号过度使用、三段
★ 60 📥 29,290
content-creation

Marketing Skills

jchopard69
{"answer":"获取23个营销模块,包含CRO、SEO、文案、分析、发布、广告及社媒的清单、框架与现成交付物。"}
★ 143 📥 30,813