# wechat-mp-publisher Skill 记忆

## 2026-03-20 修复记录

### 问题：图片路径硬编码导致无法使用新图片

**现象：**
用户更换了 `D:\wxpic` 目录下的封面图片，但发布时仍使用旧图片。

**原因：**
`scripts/cdp_fill_article.py` 第 12 行图片路径是硬编码的：
```python
IMAGE_PATH = r'D:\wxpic\1d058e40-d56c-43c8-8f6c-517fcb98569f.png'
```

**修复方案：**
改为自动获取最新图片的代码：

```python
import sys, socket, json, time, urllib.request, base64, os, glob
sys.stdout.reconfigure(encoding='utf-8')

HOST = "localhost"
PORT = 9222

TITLE = '放春假的孩子开心到「模糊」，而家长还在焦虑「弯道超车」？'

# 自动获取 D:\wxpic 目录下最新的图片文件
def get_latest_image():
    image_dir = r'D:\wxpic'
    image_extensions = ['*.jpg', '*.jpeg', '*.png', '*.gif', '*.bmp', '*.webp']
    all_images = []
    for ext in image_extensions:
        all_images.extend(glob.glob(os.path.join(image_dir, ext)))
    if not all_images:
        raise FileNotFoundError(f"在 {image_dir} 目录下没有找到图片文件")
    # 按修改时间排序，获取最新的
    latest = max(all_images, key=os.path.getmtime)
    return latest

IMAGE_PATH = get_latest_image()
print(f"[INFO] 使用最新图片: {IMAGE_PATH}")
```

**关键变更：**
1. 导入 `glob` 模块用于文件匹配
2. 新增 `get_latest_image()` 函数，自动扫描目录下所有图片
3. 按修改时间排序，获取最新图片
4. 添加日志输出，方便确认使用的图片

**效果：**
现在只需将新图片放入 `D:\wxpic` 目录，脚本会自动使用最新修改的图片，无需手动修改代码。

---

## Skill 基本信息

- **名称**: wechat-mp-publisher
- **功能**: 通过 Chrome CDP 自动化发布公众号文章到草稿箱
- **环境**: Python 3.x, Chrome + 调试端口 9222
- **位置**: C:\Users\86156\.qclaw\workspace\temp_skill\

## 发布规则（默认配置）

1. **作者**: 升学有陆
2. **原创声明**: 开
3. **封面图**: D:\wxpic\ 目录下最新修改的图片（自动获取）
4. **文首图片**: 同封面图（自动插入到正文开头）
5. **预处理**: 英文半角符号 → 中文全角符号
6. **发完后**: 执行 `python scripts/cdp_navigate.py` 返回公众号后台首页，不关闭 Chrome

## 使用方法

```bash
cd C:\Users\86156\.qclaw\workspace\temp_skill\scripts
python batch_publish.py
```

## 注意事项

- Chrome 需要提前在调试模式启动（端口 9222）
- 首次使用需要扫码登录公众号后台
- 图片放在 `D:\wxpic\` 目录，脚本自动选择最新的一张
