适用于 Claude Code 的微信公众号管理技能。帮助公众号创作者通过 AI 进行内容管理和发布流程自动化。
- 素材管理 - 上传/获取/删除图片、视频、语音等永久和临时素材
- 草稿管理 - 创建/编辑/删除/发布草稿,支持多图文
- 数据统计 - 用户增减、图文阅读、消息发送等数据分析
- 从 Releases 下载
wechat-mp-skill.zip - 解压到
~/.claude/skills/wechat-mp-skill/目录
git clone https://github.com/helebest/wechat-mp-skill.git ~/.claude/skills/wechat-mp-skilluv run python build_skill.py
# 输出: dist/wechat-mp-skill-x.x.x.zip支持三种配置方式(优先级从高到低):
from scripts import WeChatClient
client = WeChatClient(appid="your_appid", appsecret="your_appsecret")export WECHAT_APPID="your_appid"
export WECHAT_APPSECRET="your_appsecret"在项目根目录创建 .env 文件:
WECHAT_APPID=your_appid
WECHAT_APPSECRET=your_appsecret
获取方式:微信公众平台 → 设置与开发 → 基本配置
from scripts import WeChatClient, MaterialManager, DraftManager
client = WeChatClient()
mm = MaterialManager(client)
dm = DraftManager(client)
# 1. 上传封面图
cover_id = mm.upload_permanent("image", "cover.jpg")
# 2. 上传正文图片
img_url = mm.upload_article_image("content.jpg")
# 3. 创建草稿
article = {
"title": "我的文章",
"author": "作者",
"content": f'<p>正文内容</p><img src="{img_url}"/>',
"thumb_media_id": cover_id
}
draft_id = dm.create_draft([article])
# 4. 发布
publish_id = dm.publish_draft(draft_id)from scripts import WeChatClient, StatsManager
client = WeChatClient()
sm = StatsManager(client)
# 获取昨日概览
yesterday = sm.get_yesterday_summary()
print(f"新增粉丝: {sum(u['new_user'] for u in yesterday['user'])}")
# 获取本周数据
week = sm.get_week_summary()from scripts import submit_html_draft
# 自动解析 HTML 中的图片、上传、替换 URL、创建草稿
media_id = submit_html_draft(
html_path='article.preview.html',
cover_path='cover.png',
author='作者名',
digest='文章摘要'
)
print(f'草稿创建成功: {media_id}')| 模块 | 文件 | 功能 |
|---|---|---|
| API 客户端 | scripts/wechat_client.py |
认证、请求、Token 管理 |
| 素材管理 | scripts/material_manager.py |
永久/临时素材操作 |
| 草稿管理 | scripts/draft_manager.py |
草稿 CRUD、发布 |
| 数据统计 | scripts/stats_manager.py |
各类数据查询 |
| HTML 提交 | scripts/html_submitter.py |
高级接口,自动处理图片上传 |
详细 API 参考请查看 references/ 目录:
- api_reference.md - API 完整参考
- article_format.md - 文章格式指南
- stats_reference.md - 数据统计参考
- error_codes.md - 错误码速查
- 需要在微信公众平台配置服务器 IP 白名单
- access_token 有效期 7200 秒,客户端自动管理
- 永久素材有数量上限(图片 10 万,语音/视频各 1000)
- 图文正文图片必须使用
upload_article_image()上传 - 数据统计只能查询昨天及之前的数据
- 发布和数据统计功能需要公众号完成微信认证(素材管理、草稿管理无此限制)
# 安装所有依赖(包括开发依赖)
uv sync --all-extras# 单元测试
uv run pytest tests/ -v -m unit
# 端到端测试(需要配置 .env)
uv run pytest tests/test_e2e.py -v -m e2e
# 测试覆盖率
uv run pytest tests/ --cov=scripts --cov-report=html# 构建 .skill 包
uv run python build_skill.py
# 指定版本
uv run python build_skill.py --version 1.0.0- 素材管理
- 草稿管理
- 数据统计
- 用户管理(标签、粉丝)
- 自定义菜单
- 留言管理
- 客服消息
MIT License