wechat-publisherlisted
Install: claude install-skill Zhangs-11/zs-skills
# wechat-publisher 公众号发布工具
作者在「卡卡罗特学AI」公众号写文章,写完后需要一键存到微信草稿箱,不用手动复制粘贴。
## 架构概览
```
kakarot-writer skill 生成 markdown 文章
│
▼
复用 writer 已交付的正文图 + 21:9 封面
│(素材缺失时才补图)
▼
guizang-social-card-skill 或 scripts/generate_wechat_images.py
│
▼
wechat-publisher create --title "xxx" --content-file xxx.md --cover-file images/<文章名>/cover.jpg
│
├─ formatter.py → Markdown → 微信兼容 HTML
├─ token.py → access_token 缓存管理
├─ client.py → 微信 API HTTP 调用
└─ 微信服务器 → 草稿箱 +1
```
## 安装
仅首次安装时执行。如果用户已经装过,跳过这一步。
### 1. 安装 Python 包
```bash
cd tools/wechat-publisher
python3 -m venv venv
venv/bin/pip install -e .
```
### 2. 创建配置文件
在 `~/.wechat-publisher/.env` 中写入:
```bash
WECHAT_APP_ID=wx你的AppID
WECHAT_APP_SECRET=你的AppSecret
WECHAT_AUTHOR=卡卡罗特学AI
WECHAT_DEFAULT_COVER_MEDIA_ID=你的封面media_id
```
**注意:** 密钥在用户本地 `~/.wechat-publisher/.env`,不在仓库里。`WECHAT_DEFAULT_COVER_MEDIA_ID` 先用 `wechat-publisher upload-cover` 上传一张封面图获取 media_id 再填入。
### 3. 添加 PATH
如果 `wechat-publisher` 命令找不到,用全路径:
```bash
# 或建立软链接
ln -sf $(pwd)/tools/wechat-publisher/venv/bin/wechat-publisher ~/.local/bin/wechat-publisher
```
### 4. IP 白名单
微信 API 要求调用方的公网 IP 在公众号后台白名单中。如果遇到 `40164` 错误,告诉用户当前 IP 并让用户去 mp.weixin.qq.com → 开发 → 基本配置 → IP 白名单 添加。
## 工作流
当用户说"写一篇 XX 文章存到公众号"时,必须按以下步骤执行:
### 第一步:写作
调用 kakarot-writer skill 生成 markdown 文章。
标题、事实边界、文章主线和口语风格以 kakarot-writer 的完整规则为准。发布 skill 不再重复发明另一套写作规则,避免两个 skill 互相冲突。
### 发布前编辑检查
进入配图前,确认文章已