# 1 我现在有一个诉求,我提供URL,一般是知乎、小红书或者公众号和X上的,都是文章的链接,我需要把文章下载成md,带图。 这个有没有现成的skill,我就不用重复造轮子了。 你除了评估外,能否先做检索呢? 可以,**以后你给 URL / GitHub 项目名时,我可以先做检索,再做评估**。 针对你这个“知乎 / 小红书 / 公众号 / X 链接 → 下载成 Markdown,带图”的诉求,我刚检索了一轮,结论是: # 快速结论 **不用从零造轮子。** 但也不要期待一个工具完美覆盖四个平台。更现实的方案是: **主方案:OpenCLI 作为统一入口** **补充方案:微信公众号用专门工具兜底,小红书 / X 根据场景用专用 Skill 或插件兜底** **最后再做一个你自己的轻量 wrapper Skill:只负责识别 URL 域名、调用不同工具、整理输出目录。** 这比自己重写爬虫、处理登录、图片懒加载、防盗链、反爬、X API 变化要划算很多。 --- # 1. 最值得先试的现成方案:OpenCLI ## 一句话判断 **OpenCLI 是目前最接近你需求的“统一型工具底座”。** 它明确支持把多个网站变成 CLI,并且内置知乎、小红书、Twitter/X、微信公众号等适配器。README 里写到它可以用内置 adapter 处理 Bilibili、Zhihu、Xiaohongshu、Twitter/X 等站点,也可以通过 Chrome 登录态让 AI Agent 操作网页。([GitHub][1]) 它的下载支持页明确列出了这些能力: | 平台 | OpenCLI 官方说明里的能力 | | --------- | ---------------------- | | 小红书 | 下载 note 的图片、视频 | | Twitter/X | 下载用户媒体或单条 tweet 的图片、视频 | | 知乎 | 导出文章为 Markdown,可选下载图片 | | 微信公众号 | 导出公众号文章为 Markdown | 这些都出现在 OpenCLI 的 Download Support 文档里。([OpenCLI][2]) ## 对你这个需求的适配度 **匹配度:高,但不是完全无脑。** OpenCLI 对知乎和公众号最贴近你的原始目标: 知乎文档里有 `opencli zhihu download`,示例支持 `--download-images` 导出知乎文章为 Markdown 并下载图片。([GitHub][3]) 微信公众号文档里有 `opencli weixin download --url ... --download-images`,输出包含 Markdown frontmatter 和 images 目录。([GitHub][4]) 小红书这边,它更偏“下载 note 内容 / 图片 / 视频”,文档里有 `opencli xiaohongshu note` 读取完整笔记内容,有 `opencli xiaohongshu download` 下载图片和视频,但要注意它还提示很多小红书场景需要带 `xsec_token` 的完整 URL,裸 note ID 不可靠。([GitHub][5]) X 这边,OpenCLI 有 `twitter thread`、`twitter article`、`twitter download` 等命令,其中 `download` 明确是下载 profile 媒体或单条 tweet 媒体;如果你的目标是“线程正文 + 图片 → Markdown”,可能需要组合 `thread/article + download`,或者交给一个 wrapper Skill 做整合。([GitHub][6]) ## 环境适配 对你的 Windows 本地环境很友好:你有 Node.js 常用环境,且无 Docker / 无 WSL;OpenCLI 要求 Node.js >= 20,通过 `npm install -g @jackwener/opencli` 安装,并需要 Chrome/Chromium Browser Bridge 扩展。([GitHub][1]) 这比 Docker 化爬虫更适合你的本地环境。 不太适合优先放 CentOS 远程,因为它依赖 Chrome 登录态和 Browser Bridge。你的远程 CentOS 虽然能 Docker、有公网 IP,但无 GPU不是问题,真正问题是远程浏览器登录态、Cookie、账号风控、端口暴露和会话隐私。你的本地 Windows + Chrome 登录态更自然,也符合你常用 Python/Node、Codex/Claude Code 的习惯。 --- # 2. 第二个值得看:web2md Skill ## 一句话判断 **web2md 是一个更像“正好为你这个诉求写的 Claude/Codex Skill”,但项目很新,成熟度低。** 它的 GitHub README 写得很直接:把微信公众号文章和网页转成 Markdown,下载所有图片到本地,保留格式,并添加 YAML frontmatter。([GitHub][7]) 它的工作方式是: 1. 用 Playwright 打开页面; 2. 滚动触发懒加载图片; 3. 抽取标题、作者、日期等元数据; 4. 清理广告和非正文区域; 5. 下载图片到本地 images 目录; 6. HTML 转 Markdown; 7. 写入带 frontmatter 的 `.md` 文件。([GitHub][7]) 这套逻辑非常接近你想要的“URL → md + images”。 ## 但问题也很明显 它现在只有 0 stars、0 forks、2 commits、无 release。([GitHub][7]) 所以我不会建议你把它当成熟工具长期依赖。更合理的定位是: **可以收藏、试跑、借鉴 Skill 结构,但不建议直接当主力。** 它要求 Python 3.9+ 和 Google Chrome。([GitHub][7]) 这对你的 Windows 本地没问题;但 Playwright / Chrome 自动化在不同网页上失败概率不低,尤其是公众号、小红书、X 这种强平台页面。 --- # 3. 微信公众号专用:wechat-article-to-markdown ## 一句话判断 **如果你的公众号文章保存需求很高,这个比通用工具更值得单独试。** `jackwener/wechat-article-to-markdown` 明确支持: * 抓取微信公众号文章; * 提取标题、账号名、发布时间、来源 URL; * 转 Markdown; * 下载图片到本地 `images/` 并重写链接; * 处理微信代码块。([GitHub][8]) 安装方式也比较友好:推荐 `uv tool install wechat-article-to-markdown`,也支持 `pipx install`。([GitHub][8]) 输出结构正好是 `.md + images/`。([GitHub][8]) ## 对你的价值 **公众号方向:值得本地试跑。** 它比 web2md 更聚焦,输出结构也符合知识库归档。主要风险是它使用 Camoufox 做 anti-detection fetching,这意味着依赖浏览器自动化/反检测能力,后续微信页面结构或风控策略变化时可能失效。([GitHub][8]) --- # 4. 小红书专用方案 小红书比公众号和知乎更麻烦,因为很多“有价值内容”其实在图片里,不只是 HTML 正文。 我检索到几个方向: ## A. OpenCLI 小红书 adapter OpenCLI 支持 `xiaohongshu note` 读取笔记正文、作者、描述、点赞、收藏、评论、标签,也支持 `xiaohongshu download` 下载图片和视频。([GitHub][5]) 这是我建议你优先试的方案。 ## B. xhs-note-to-md `DrErwin/xhs-note-to-md` 明确是“小红书帖子转 Markdown 文档”,支持正文、图片、OCR、评论区,并且说明适合把小红书知识帖、长图笔记、截图文章整理成本地文档。([GitHub][9]) 但它依赖 `xiaohongshu-skills`、浏览器插件桥接、小红书账号登录,以及至少一个 OCR 引擎。([GitHub][9]) 这说明它更像“Codex Skill 拼装工作流”,不是一个独立成熟 CLI。 对你来说:**可以作为 Skill 候选,但建议先交给 Codex/Claude Code 体检,不建议直接盲装。** ## C. xiaohongshu-importer 这是 Obsidian 插件,能从小红书分享链接导入标题、正文、图片、视频和标签,并可选择把媒体下载到 Obsidian vault。([GitHub][10]) 如果你最终目标是 Obsidian 知识库,这个值得试;如果你想做通用 URL → Markdown 自动化,它不如 OpenCLI 或自定义 wrapper 灵活。 --- # 5. X / Twitter 方案 X 是四个平台里最不稳定的,因为登录态、GraphQL、风控、API 变化都比较频繁。 ## A. OpenCLI X adapter OpenCLI 有 `twitter thread`、`twitter article`、`twitter download` 等命令。`twitter download` 文档明确支持从用户媒体页或单条 tweet URL 下载媒体。([GitHub][6]) 但我没有看到它直接承诺“一条 X 链接 → Markdown + 图片完整归档”。所以它更像底层能力,而不是成品归档工具。 ## B. baoyu-danger-x-to-markdown 这个是一个 X to Markdown Skill,描述里说可以把 tweets / threads 转 Markdown,也能提取 X Articles,并生成 YAML frontmatter。([LobeHub][11]) 但它自己也强调使用 reverse-engineered X API,并且需要用户同意后才继续。([LobeHub][11]) 这类工具我会谨慎放入长期系统:能用,但容易因为 X 改接口而失效,也存在账号风控和合规风险。 --- # 6. 通用网页兜底:MarkDownload MarkDownload 是浏览器扩展,可以把网页剪藏成可读 Markdown,并支持 Chrome、Firefox、Edge、Safari。([GitHub][12]) 优点是成熟度高,GitHub 上约 3.9k stars,浏览器插件形态也适合人工快速保存。([GitHub][12]) 但它自己也提醒“不保证所有网站都能工作”。([GitHub][12]) 对你这个诉求,它适合做: **人工兜底工具,不适合做自动化主力。** 尤其小红书、X、公众号这类登录态/动态加载/反爬较多的平台,不应该指望普通 Readability + Turndown 一把梭。 --- # 7. 推荐路线 ## 我建议你不要造完整爬虫 你真正该做的是一个很薄的 **URL Router Skill**: ```text 输入:URL ↓ 识别域名 ↓ 调用对应工具 ↓ 统一输出目录结构 ↓ 生成 article.md + images/ + metadata.json ↓ 可选:写入 Obsidian / 知识库 / Dify / OpenClaw ``` 推荐路由: | URL 类型 | 优先工具 | 兜底工具 | | ---------------------------------- | ---------------------------------------- | ------------------------------------- | | `mp.weixin.qq.com` | OpenCLI weixin download | wechat-article-to-markdown / web2md | | `zhuanlan.zhihu.com` / `zhihu.com` | OpenCLI zhihu download --download-images | MarkDownload | | `xiaohongshu.com` / `xhslink.com` | OpenCLI xiaohongshu note + download | xhs-note-to-md / xiaohongshu-importer | | `x.com` / `twitter.com` | OpenCLI twitter thread/article/download | baoyu-danger-x-to-markdown | | 普通网页 | web2md / MarkDownload | 自己用 Readability + Playwright | --- # 8. 评分表 | 方案 | 覆盖你的需求 | Skill/Agent 价值 | Windows 本地可行性 | 成熟度 | 风险 | 结论 | | -------------------------- | -----: | -------------: | ------------: | ----: | -: | ----------------- | | OpenCLI | 4.5/5 | 5/5 | 4/5 | 4/5 | 中 | **主推,先试** | | wechat-article-to-markdown | 4/5 | 3.5/5 | 4/5 | 3.5/5 | 中 | **公众号专用首选** | | web2md | 4/5 | 4.5/5 | 4/5 | 2/5 | 中高 | **适合借鉴/试跑,不宜主力** | | xhs-note-to-md | 4/5 | 4.5/5 | 3/5 | 2/5 | 高 | **Skill 候选,需体检** | | xiaohongshu-importer | 3.5/5 | 2.5/5 | 4/5 | 3/5 | 中 | **Obsidian 用户可试** | | baoyu-danger-x-to-markdown | 3.5/5 | 4/5 | 3/5 | 3/5 | 高 | **X 兜底,不宜长期依赖** | | MarkDownload | 3/5 | 2/5 | 5/5 | 4/5 | 低中 | **人工兜底很好** | --- # 9. 我的明确建议 ## 主动作 **先试 OpenCLI。** 原因很简单:它同时覆盖你提到的四类平台,并且已经有 Claude/Codex Skill 化方向;它不是单纯爬虫,而是“浏览器登录态 + CLI adapter + Agent 可调用”的工具底座,和你的 AI Skill / Agent / 自动化工作流方向最匹配。([GitHub][1]) ## 次动作 把 `wechat-article-to-markdown` 作为公众号专用兜底工具。 公众号文章的保存需求如果频繁,这个项目更直接,输出目录也很符合你的 Markdown 知识库归档需求。([GitHub][8]) ## 不建议做的事 不要一开始就自己写: * 小红书解析器; * X GraphQL 解析器; * 微信图片防盗链下载器; * 通用反爬浏览器自动化框架。 这些都是维护黑洞。你要做的是**整合层 Skill**,不是平台爬虫内核。 --- # 10. 最小试跑路径 你可以先按这个顺序试: ```bash # 1. 安装 OpenCLI npm install -g @jackwener/opencli # 2. 检查 Node >= 20 node --version # 3. 安装/启用 OpenCLI Browser Bridge 扩展 opencli doctor # 4. 试公众号 opencli weixin download --url "https://mp.weixin.qq.com/s/xxx" --download-images --output ./articles/weixin # 5. 试知乎 opencli zhihu download "https://zhuanlan.zhihu.com/p/xxx" --download-images --output ./articles/zhihu # 6. 试小红书 opencli xiaohongshu download "https://xhslink.com/..." --output ./articles/xhs # 7. 试 X 单条媒体 opencli twitter download --tweet-url "https://x.com/user/status/xxx" --output ./articles/x ``` 然后再让 Codex/Claude Code 做一个 wrapper: ```text 给定任意 URL: 1. 判断域名; 2. 调用对应 opencli 命令; 3. 如果失败,切换到专用兜底工具; 4. 输出统一目录: /saved_articles/ /{platform}/ /{date}-{slug}/ article.md images/ metadata.json raw.html 可选 5. 不自动批量抓取,不绕过登录,不保存 cookie/token。 ``` --- # 项目卡片 * **一句话定位**:URL 到 Markdown + 图片的需求已有现成工具,OpenCLI 最适合做统一底座。 * **适用场景**:知乎文章、公众号文章、小红书笔记、X thread/article/media 的个人归档与知识库输入。 * **不适用场景**:大规模采集、绕登录、绕风控、批量抓私域内容、商业爬取。 * **对你的价值**:高,适合做成长期 Skill / Agent 工具节点。 * **运行要求**:Windows 本地优先;Node.js >= 20;Chrome/Chromium;部分平台需要登录态;公众号兜底可用 Python/uv 工具。 * **主要风险**:平台反爬、登录态失效、X 接口变化、小红书链接 token 失效、图片防盗链、版权和合规。 * **推荐动作**:先试 OpenCLI;公众号单独试 `wechat-article-to-markdown`;再写一个轻量 URL Router Skill。 * **是否进入 Codex 深挖**:是。 * **后续动作**:让 Codex 检查 OpenCLI 的四个平台 adapter,并实现一个统一输出的 wrapper Skill。 [1]: https://github.com/partme-ai/opencli/blob/main/README.md "opencli/README.md at main · partme-ai/opencli · GitHub" [2]: https://opencli.info/docs/advanced/download.html "Download Support | OpenCLI" [3]: https://github.com/partme-ai/opencli/blob/main/docs/adapters/browser/zhihu.md "opencli/docs/adapters/browser/zhihu.md at main · partme-ai/opencli · GitHub" [4]: https://github.com/partme-ai/opencli/blob/main/docs/adapters/browser/weixin.md "opencli/docs/adapters/browser/weixin.md at main · partme-ai/opencli · GitHub" [5]: https://github.com/partme-ai/opencli/blob/main/docs/adapters/browser/xiaohongshu.md "opencli/docs/adapters/browser/xiaohongshu.md at main · partme-ai/opencli · GitHub" [6]: https://github.com/partme-ai/opencli/blob/main/docs/adapters/browser/twitter.md "opencli/docs/adapters/browser/twitter.md at main · partme-ai/opencli · GitHub" [7]: https://github.com/AllenZenghuge/web2md "GitHub - AllenZenghuge/web2md: 微信公众号/网页转 Markdown skill,自动下载图片、生成 frontmatter · GitHub" [8]: https://github.com/jackwener/wechat-article-to-markdown "GitHub - jackwener/wechat-article-to-markdown: 微信公众号文章抓取 & Markdown 转换工具 · GitHub" [9]: https://github.com/DrErwin/xhs-note-to-md "GitHub - DrErwin/xhs-note-to-md: `xhs-note-to-md` 用于把小红书帖子转换成 Markdown 文档。 它依赖 `xiaohongshu-skills` 获取帖子内容,也可以配合 OCR 识别图片里的文字。适合把小红书知识帖、长图笔记、截图文章整理成本地文档。 · GitHub" [10]: https://github.com/bnchiang96/xiaohongshu-importer "GitHub - bnchiang96/xiaohongshu-importer: An Obsidian plugin to import Xiaohongshu (小红书) notes into your vault. Extract titles, content, images, videos, and tags from share links, with customizable categories and optional local media downloads. · GitHub" [11]: https://lobehub.com/skills/jimliu-baoyu-skills-baoyu-danger-x-to-markdown "baoyu-danger-x-to-markdown | Skills ... · LobeHub" [12]: https://github.com/deathau/markdownload "GitHub - deathau/markdownload: A Firefox and Google Chrome extension to clip websites and download them into a readable markdown file. · GitHub"