name: wechat-article-exporter version: "1.0.0" description: 微信公众号文章批量导出工具 - 支持Docker本地部署,实现三大场景的自动化工作流:法律研究和知识管理(每周批量下载法律公众号文章,导出Markdown到Obsidian)、竞品分析(下载竞品律所全部历史文章,导出Excel分析内容策略)、AI训练数据准备(批量下载特定领域文章,导出JSON用于模型微调)。支持Markdown、HTML、Excel、JSON四种格式导出 allowed-tools: Read, Write, Edit, Bash, Glob, Grep user-invocable: true triggers: - "/wechat-article-exporter" - "下载公众号文章" - "导出微信文章" - "抓取公众号" - "wechat export" - "export wechat articles" - "下载微信文章" - "公众号文章导出" - "批量下载文章" - "微信文章采集" - "采集公众号" - "公众号文章下载" - "导出公众号" - "wechat article downloader" - "微信文章导出工具"
WeChat Article Exporter
微信公众号文章批量导出工具,支持自动化工作流和多格式导出。
🎯 核心功能
三大使用场景
场景1️⃣:法律研究和知识管理
- 每周批量下载法律公众号文章
- 导出为Markdown格式,方便编辑和整理
- 自动保存到Obsidian知识库
- 使用AI生成摘要和分类
场景2️⃣:竞品分析
- 下载竞品律所/律师的全部历史文章
- 导出为Excel格式,包含阅读量、评论等元数据
- 使用AI分析内容策略、高频关键词、爆款特征
- 分析发布时间分布和原创率
场景3️⃣:AI训练数据准备
- 批量下载特定领域公众号的完整文章库
- 导出为JSON格式,结构化数据
- 自动清洗和标注数据
- 分割训练集/验证集,用于微调Ollama模型
支持的导出格式
| 格式 | 文件扩展名 | 适用场景 | 优势 |
|---|---|---|---|
| Markdown | .md | 知识管理 | 便于编辑,适合Obsidian/Notion |
| HTML | .html | 存档备份 | 100%还原原文样式和排版 |
| Excel | .xlsx | 数据分析 | 包含阅读量、评论数等元数据 |
| JSON | .json | AI训练 | 结构化数据,便于程序处理 |
🚀 快速开始
前置要求
- ✅ Docker Desktop已安装并运行
- ✅ 微信账号(建议使用小号)
- ✅ 网络连接正常
Step 1:首次部署(自动)
当用户首次触发此Skill时,自动执行以下部署步骤:
# 1. 拉取Docker镜像
docker pull ghcr.io/wechat-article/wechat-article-exporter:latest
# 2. 启动容器
docker run -d \
--name wechat-exporter \
-p 3000:3000 \
--restart unless-stopped \
ghcr.io/wechat-article/wechat-article-exporter:latest
# 3. 等待服务启动
sleep 5
# 4. 验证服务状态
curl http://localhost:3000/api/status
预期输出:
{
"status": "running",
"version": "latest"
}
Step 2:扫码登录
# 打开浏览器
open http://localhost:3000
# 或获取登录二维码
curl http://localhost:3000/api/qrcode
使用微信扫描二维码,确认登录。
Step 3:开始使用
服务部署完成后,即可开始下载文章。
📖 使用方法
基础用法
下载单个公众号文章
用户指令示例:
- "下载最高人民法院最近7天的文章"
- "导出海泰律师事务所的全部文章为Markdown"
- "抓取最高人民检察院上周的文章"
执行步骤:
# 1. 搜索公众号
curl "http://localhost:3000/api/search?keyword=最高人民法院"
# 2. 获取文章列表
curl "http://localhost:3000/api/articles?account_id=xxx&days=7"
# 3. 下载文章
curl -X POST http://localhost:3000/api/download \
-H "Content-Type: application/json" \
-d '{
"account_id": "xxx",
"format": "markdown",
"filters": {"days": 7, "original_only": true}
}'
批量下载多个公众号
用户指令示例:
- "批量下载最高法和最高检的文章"
- "下载以下公众号:最高人民法院、最高人民检察院、海泰律师事务所"
执行步骤:
# 使用Python脚本批量下载
python $SKILL_DIR/scripts/batch_download.py \
--accounts "最高人民法院,最高人民检察院,海泰律师事务所" \
--format markdown \
--output ./downloads/legal
高级用法
按场景使用
场景1:法律研究和知识管理
用户:下载最高人民法院最近一周的文章,保存为Markdown格式
AI执行:
- ✅ 检查Docker服务状态
- ✅ 搜索"最高人民法院"公众号
- ✅ 筛选最近7天的原创文章
- ✅ 下载并导出为Markdown格式
- ✅ 保存到指定目录
- ✅ 使用AI生成文章摘要
场景2:竞品分析
用户:分析竞品律所最近一年的文章策略
AI执行:
- ✅ 搜索竞品律所公众号
- ✅ 下载全部历史文章
- ✅ 导出为Excel格式
- ✅ 分析高频关键词
- ✅ 分析发布时间分布
- ✅ 识别爆款文章特征
场景3:AI训练数据准备
用户:准备建设工程领域的公众号文章用于AI训练
AI执行:
- ✅ 搜索建设工程相关公众号
- ✅ 批量下载完整文章库
- ✅ 导出为JSON格式
- ✅ 清洗数据(去除HTML、提取纯文本)
- ✅ 去重和过滤
- ✅ 分割训练集/验证集
🔧 配置选项
下载选项
| 参数 | 说明 | 默认值 |
|---|---|---|
--days |
最近N天,0表示全部 | 0 |
--original-only |
仅下载原创文章 | false |
--format |
导出格式 | markdown |
--output |
输出目录 | ./downloads |
--limit |
最大文章数 | 0(无限制) |
筛选条件
# 按时间筛选
--days 7 # 最近7天
--days 30 # 最近30天
# 按原创筛选
--original-only # 仅原创
# 按作者筛选
--author "作者名" # 指定作者
# 按合集筛选
--collection "合集名" # 指定合集
📂 输出文件
文件组织结构
downloads/
├── 最高人民法院/
│ ├── 2026-01-26-文章标题1.md
│ ├── 2026-01-26-文章标题2.md
│ └── manifest.json # 文章清单
├── 最高人民检察院/
│ ├── 2026-01-26-文章标题3.md
│ └── manifest.json
└── batch_report.json # 批量下载报告
文件格式说明
Markdown格式
---
title: 文章标题
date: 2026-01-26
author: 作者名
original: true
url: https://mp.weixin.qq.com/s/xxx
---
# 文章标题
文章正文内容...
Excel格式
包含以下列:
- 标题
- 发布时间
- 作者
- 阅读量
- 点赞量
- 原创标识
- 文章链接
JSON格式
{
"export_time": "2026-01-26T10:00:00Z",
"total": 15,
"articles": [
{
"title": "文章标题",
"url": "https://mp.weixin.qq.com/s/xxx",
"publish_time": "2026-01-26",
"author": "作者",
"read_count": 12345,
"content": "文章内容..."
}
]
}
⚠️ 注意事项
账号安全
- ⚠️ 建议使用微信小号:避免使用主账号
- ✅ 数据完全在本地:不会上传到第三方服务器
- ⚠️ Session有效期:约24小时,过期需重新扫码
频率控制
- ✅ 每次下载1-2个公众号:避免触发微信风控
- ✅ 下载间隔5-10分钟:给微信API缓冲时间
- ❌ 避免一次性下载过多:可能导致账号限制
版权合规
- ✅ 仅用于个人学习研究
- ✅ 版权归原作者所有
- ❌ 不得直接复制发布到其他平台
- ❌ 不得用于商业侵权
数据备份
- ✅ 下载后及时备份
- ✅ 定期归档历史数据
- ✅ 使用云盘或外部存储
🐛 故障排查
Docker相关
容器无法启动
# 检查端口占用
lsof -i :3000
# 更换端口
docker run -d --name wechat-exporter -p 3001:3000 ghcr.io/wechat-article/wechat-article-exporter:latest
# 查看容器日志
docker logs wechat-exporter
服务无响应
# 重启容器
docker restart wechat-exporter
# 检查服务状态
curl http://localhost:3000/api/status
# 查看详细日志
docker logs -f wechat-exporter
下载相关
扫码登录失败
- 检查网络连接
- 刷新页面重试
- 确认Docker服务正在运行
- 查看容器日志排查错误
下载失败
- 检查登录状态是否过期
- 减少单次下载数量
- 增加下载间隔时间
- 检查公众号名称是否正确
格式导出失败
- 确认选择的格式支持
- 检查磁盘空间
- 查看容器错误日志
📊 常见使用场景
场景1:每周自动下载
# 每周一上午10点自动运行
python $SKILL_DIR/scripts/schedule.py \
--weekly \
--accounts "最高人民法院,最高人民检察院" \
--format markdown
场景2:竞品对比分析
# 下载多个竞品文章并分析
python $SKILL_DIR/scripts/analyze.py \
--accounts "竞品A,竞品B,竞品C" \
--format excel \
--analyze
场景3:AI数据准备
# 准备训练数据
python $SKILL_DIR/scripts/prepare_training.py \
--category "建设工程" \
--format json \
--clean \
--split
💡 最佳实践
数据组织
knowledge-base/
├── legal-news/ # 法律资讯
│ ├── 2026-01/
│ │ ├── 最高法/
│ │ └── 最高检/
├── competitor-analysis/ # 竞品分析
│ ├── 竞品A.xlsx
│ └── 竞品B.xlsx
└── ai-training/ # AI训练数据
├── raw-data/
└── processed/
标签管理
在Markdown文件中添加YAML frontmatter:
---
title: 文章标题
date: 2026-01-26
tags: [法律资讯, 最高法, 司法解释]
category: 民法
---
定期维护
- 每周备份下载的数据
- 定期清理过期文章
- 更新公众号列表
- 检查Docker镜像更新
🔄 更新日志
v1.0.0 (2026-01-26)
- ✅ 初始版本发布
- ✅ 支持四种格式导出
- ✅ Docker本地部署
- ✅ 批量下载功能
- ✅ 数据清洗和处理
📞 技术支持
如遇问题,请检查:
- Docker服务是否运行
- 容器日志是否有错误
- 网络连接是否正常
- 微信登录是否有效
祝您使用愉快! 🎉