将本地 Markdown / HTML / TXT 文件一键转换为微信公众号图文消息,并发布到草稿箱。内置动态配图生成器,可根据文章标题、摘要、关键词自动匹配主题配色并生成封面图及配套插图。
当用户提出以下意图时,使用本 skill:
publish.py、generate_article_images.py 的操作wechat-file-publish/
├── SKILL.md # 本文件
├── README.md # 详细使用说明
├── skill.json # Skill 元数据
├── skill.yaml # Skill 定义
├── publish.py # 核心发布脚本
├── generate_article_images.py # 动态配图生成器
├── generate_cover_performance.py # 封面性能优化
├── config.json # 配置文件(需用户配置)
└── config.example.json # 配置模板
首次使用必须配置 config.json,需要以下信息:
appId:微信公众号 AppID(在 公众号后台 → 设置 → 基本配置 中获取)appSecret:微信公众号 AppSecret(同上,需重置获取)defaultAuthor:默认作者名配置方式(在 skill 目录下执行):
python publish.py config
或直接编辑 config.json:
{
"appId": "your_app_id",
"appSecret": "your_app_secret",
"defaultAuthor": "IT老司机Ochmd"
}
> ⚠️ IP 白名单:确保服务器 IP 已添加到微信公众号安全中心 → IP 白名单
支持格式:
.md — Markdown 文件(推荐).html — HTML 文件.txt — 纯文本文件Markdown 文件示例:
# 文章标题
## 小标题
正文内容...

- 列表项1
- 列表项2
print("Hello World")
方式一:命令行
# 基础发布
python publish.py article.md
# 指定封面图
python publish.py article.md cover.png
方式二:对话式(通过 CodeBuddy)
发布文件到公众号
文件路径:C:/Users/xxx/article.md
封面图:C:/Users/xxx/cover.png
generate_article_images.py 可根据文章内容自动生成配图,无需手动设计。
根据文章关键词自动匹配配色方案:
| 主题 | 配色 | 触发关键词 |
|---|---|---|
| ------ | ------ | ------------ |
| 科技蓝紫 | 蓝紫渐变 | AI、技术、编程、代码、大模型 |
| 活力绿橙 | 绿橙渐变 | 成长、学习、进阶、团队 |
| 热情红粉 | 红粉渐变 | 创业、创新、未来、趋势 |
| 清新蓝绿 | 蓝绿渐变 | 入门、基础、教程、小白 |
| 暖阳金橙 | 金橙渐变 | 感悟、分享、经验、生活 |
| 极客深灰 | 深灰渐变 | 极客、黑客、开源、Linux |
| 类型 | 函数 | 说明 |
|---|---|---|
| ------ | ------ | ------ |
cover | create_cover_image() | 动态封面图(900×383) |
ai_tools | create_ai_tools_image() | AI工具协作示意图 |
multi_agent | create_multi_agent_image() | 多智能体协作图 |
strategy | create_developer_strategy_image() | 开发者策略卡片图 |
skill_radar | create_skill_radar_image() | 技能雷达图 |
vision | create_future_vision_image() | 未来展望图 |
from generate_article_images import generate_article_images
results = generate_article_images(
title="2026年AI编程工具全面爆发",
summary="探讨AI如何改变软件开发行业",
keywords=["AI", "编程", "Copilot", "效率提升"],
image_types=["cover", "ai_tools"] # 可选,默认生成全部
)
# results = {'cover': 'path/to/cover.png', 'ai_tools': 'path/to/ai_tools.png'}
publish.py 内置 Markdown → HTML 转换器,支持:
| Markdown 语法 | 转换结果 | |||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| --------------- | ---------- | |||||||||||||||||||||||
# 标题 | (居中,深色) | |||||||||||||||||||||||
## 标题 | | |||||||||||||||||||||||
### 标题 | | |||||||||||||||||||||||
#### 标题 | | |||||||||||||||||||||||
粗体 | | |||||||||||||||||||||||
斜体 | | |||||||||||||||||||||||
` 行内代码 ` | | |||||||||||||||||||||||
```代码块` | | |||||||||||||||||||||||
!alt | (自动上传到微信素材库) | |||||||||||||||||||||||
- 列表项 | | |||||||||||||||||||||||
> 引用 | (左侧蓝色竖线) | |||||||||||||||||||||||
--- | (分隔线) | |||||||||||||||||||||||
| `\ | 表格 \ | ` | |