$npx -y skills add chubbyguan/chubbyskills --skill wechat-article-ingest微信公众号文章 → Markdown 提取 + A层观点提取 + B层问题链生成。 支持直接链接抓取和 PDF 提取两种方式。
| 1 | # 微信公众号文章处理 Skill |
| 2 | |
| 3 | 将微信公众号文章转换为 Markdown,生成 A 层观点提取 + B 层问题链,存入知识库。 |
| 4 | |
| 5 | ## 两种模式 |
| 6 | |
| 7 | ### 模式 1:直接链接抓取(推荐) |
| 8 | |
| 9 | ```bash |
| 10 | python scripts/fetch_article.py "https://mp.weixin.qq.com/s/xxxxx" |
| 11 | ``` |
| 12 | |
| 13 | 公众号文章 URL 是公开的,不需要登录,直接抓取即可。 |
| 14 | |
| 15 | ### 模式 2:PDF 提取 |
| 16 | |
| 17 | ```bash |
| 18 | python scripts/extract.py "path/to/article.pdf" |
| 19 | ``` |
| 20 | |
| 21 | 适用于通过「笔记同步助手」等工具导出的 PDF。 |
| 22 | |
| 23 | ## 环境要求 |
| 24 | |
| 25 | ```bash |
| 26 | # Python 3.10+ |
| 27 | pip install beautifulsoup4 markitdown pymupdf |
| 28 | |
| 29 | # 或者用 uv |
| 30 | uv pip install beautifulsoup4 markitdown pymupdf |
| 31 | ``` |
| 32 | |
| 33 | ## 使用方法 |
| 34 | |
| 35 | ### 单篇处理(链接) |
| 36 | |
| 37 | ```bash |
| 38 | python scripts/fetch_article.py "https://mp.weixin.qq.com/s/xxxxx" --output ./output |
| 39 | ``` |
| 40 | |
| 41 | 链接模式会尽量保留: |
| 42 | |
| 43 | - 标题层级:`h1`/`h2`/`h3` 会转成 Markdown 标题 |
| 44 | - 图片:`data-src` / `src` 会转成 Markdown 图片引用 |
| 45 | - 链接:正文里的 `<a>` 会转成 Markdown 链接 |
| 46 | |
| 47 | ### 单篇处理(PDF) |
| 48 | |
| 49 | ```bash |
| 50 | python scripts/extract.py "path/to/article.pdf" --output ./output |
| 51 | ``` |
| 52 | |
| 53 | ### A+B 处理(需要 Agent) |
| 54 | |
| 55 | ``` |
| 56 | 帮我处理这篇文章:https://mp.weixin.qq.com/s/xxxxx |
| 57 | 提取观点 + 问题链 |
| 58 | ``` |
| 59 | |
| 60 | ## 核心流程 |
| 61 | |
| 62 | ``` |
| 63 | 公众号链接/PDF → 提取内容 → A层观点提取 + B层问题链 → 存入知识库 |
| 64 | ``` |
| 65 | |
| 66 | ## A层:观点提取 |
| 67 | |
| 68 | 生成 `观点提取-{作者}-{主题}.md`: |
| 69 | |
| 70 | - 🔴 支柱观点(P1-P6):文章最核心的论点 |
| 71 | - 🟡 支撑观点(S1-S8):支撑支柱的论据 |
| 72 | - 🟢 延伸观点(E1-E4):可以延伸思考的方向 |
| 73 | - Takeaway:每条含核心观点 + 行动指向 |
| 74 | |
| 75 | ## B层:问题链 |
| 76 | |
| 77 | 生成 `问题链-{作者}-{主题}.md`: |
| 78 | |
| 79 | - 3-5 条问题链,每条对应一个核心主题 |
| 80 | - 每条链分 L1(安全区)→ L2(边缘区)→ L3(核心区) |
| 81 | - 每条链 6 道问题 |
| 82 | - 终局种子:一个带回家的问题 |
| 83 | |
| 84 | ## 知识库目录结构 |
| 85 | |
| 86 | ``` |
| 87 | 知识库/ |
| 88 | ├── 素材库/ |
| 89 | │ └── 公众号文章/ |
| 90 | │ └── {公众号名}/ |
| 91 | │ └── article.md |
| 92 | └── wiki/ |
| 93 | └── 外部输入/ |
| 94 | └── 公众号/ |
| 95 | └── {公众号名}/ |
| 96 | └── {主题}/ |
| 97 | ├── 观点提取.md |
| 98 | └── 问题链.md |
| 99 | ``` |
| 100 | |
| 101 | ## 已知限制 |
| 102 | |
| 103 | - 部分公众号文章有防盗链,可能抓取失败 |
| 104 | - 纯图片文章无法提取文字 |
| 105 | - MarkItDown 需要 Python ≥ 3.10 |
| 106 | - PDF 提取质量取决于原文排版;链接模式比 PDF 模式更能保留图片和链接 |
| 107 | - 长文档拆分需要 Agent 判断 |
| 108 | |
| 109 | ## 参考项目 |
| 110 | |
| 111 | - [microsoft/markitdown](https://github.com/microsoft/markitdown) - PDF/文档转 Markdown |
| 112 | - [pymupdf/PyMuPDF](https://github.com/pymupdf/PyMuPDF) - PDF 处理库 |
| 113 | - [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/) - HTML 解析 |
| 114 | |
| 115 | ## ⚖️ 合规声明 |
| 116 | |
| 117 | 仅供**个人学习与研究**使用。请遵守目标平台的服务条款(ToS)与 robots 规则,控制请求频率,不要用于批量抓取、商用爬取或侵犯他人权益的场景。下载内容的版权归原作者所有。 |