bytmwgsicp· 1 MCP server
一款完全开源的微信公众号文章获取、RSS 订阅 API 服务,支持整号文章一键导出 7 种格式(Markdown/HTML/Word/PDF/EPUB/Excel/JSON)、IP 代理池反风控、MCP 接入各种 AI Agent 工具。
$git clone https://github.com/tmwgsicp/wechat-download-apiInstalls into the current project.
Install wechat-download-api by running `git clone https://github.com/tmwgsicp/wechat-download-api`, then use it for the current task and follow its documentation at https://github.com/tmwgsicp/wechat-download-api.
| 1 | <div align="center"> |
| 2 | |
| 3 | # WeChat Download API |
| 4 | |
| 5 | ### 微信公众号文章获取 · RSS 订阅 · 多格式导出 |
| 6 | |
| 7 | **完全开源 | 免费部署 | RSS 订阅 | 文章抓取 | 多格式导出 | 反风控** |
| 8 | |
| 9 | [](https://github.com/tmwgsicp/wechat-download-api/stargazers) |
| 10 | [](LICENSE) |
| 11 | [](https://hub.docker.com/r/tmwgsicp/wechat-download-api) |
| 12 | [](https://www.python.org/) |
| 13 | [](https://fastapi.tiangolo.com/) |
| 14 | |
| 15 | > **100% 开源,100% 免费。** 代码完全公开,私有化部署无任何限制,不搞"开源"之名行收费之实。 |
| 16 | |
| 17 | </div> |
| 18 | |
| 19 | --- |
| 20 | |
| 21 | ## 功能特性 |
| 22 | |
| 23 | - **RSS 订阅** — 订阅任意公众号,自动定时拉取新文章(**包含完整文章内容和图片**),生成标准 RSS 2.0 源,接入 FreshRSS / Feedly 等阅读器即可使用;支持**批量添加**(粘多个公众号名称一次性订阅) |
| 24 | - **MCP · AI 客户端接入** — 内置 MCP 服务,Claude / Codex / Cline / Cursor 等 AI 客户端可**直接搜索、订阅、读文章**(6 个工具,静态 Token 鉴权,单用户自托管无需 OAuth) |
| 25 | - **文章内容获取** — 通过 URL 获取文章完整内容(标题、作者、正文 HTML / 纯文本、图片列表) |
| 26 | - **多格式导出** — 单篇 markdown 增量同步(带 YAML frontmatter,导入 Obsidian / Logseq);整号文章一键打包成 **Markdown / HTML / Word / PDF / EPUB / Excel / JSON** 7 种格式(Word/PDF/EPUB 图片内嵌离线可看),纯读本地库、不触发抓取 |
| 27 | - **反风控体系** — Chrome TLS 指纹模拟 + SOCKS5 代理池轮转 + 三层自动限频,有效对抗微信封控 |
| 28 | - **文章列表 & 搜索** — 获取任意公众号历史文章列表,支持分页和关键词搜索 |
| 29 | - **公众号搜索** — 按名称搜索公众号,获取 FakeID |
| 30 | - **公众号主体信息** — 获取公众号认证主体、认证状态、原创文章数等详细信息 |
| 31 | - **扫码登录** — 微信公众平台扫码登录,凭证自动保存,4 天有效期 |
| 32 | - **图片代理** — 代理微信 CDN 图片,解决防盗链问题 |
| 33 | - **Webhook 通知** — 登录过期提醒(提前24h/6h预警+已过期通知)、触发验证等事件自动推送(支持企业微信机器人) |
| 34 | - **API 文档** — 自动生成 Swagger UI / ReDoc,在线调试所有接口 |
| 35 | |
| 36 | <div align="center"> |
| 37 | <img src="assets/dashboard.jpg" width="800" alt="管理面板"> |
| 38 | <p><em>管理面板 — 登录状态、接口文档、在线测试一站式管理</em></p> |
| 39 | <br> |
| 40 | <img src="assets/rss.jpg" width="800" alt="RSS 订阅管理"> |
| 41 | <p><em>RSS 订阅管理 — 搜索公众号一键订阅,复制地址接入 RSS 阅读器</em></p> |
| 42 | </div> |
| 43 | |
| 44 | --- |
| 45 | |
| 46 | ## 📦 整号导出,随身带走 |
| 47 | |
| 48 | 订阅只是第一步。**把整个公众号的存量文章一键打包成你想要的格式**——喂给 AI、导入笔记、离线存档、换设备迁移,全都行。 |
| 49 | |
| 50 | - ❌ 一篇一篇复制粘贴,图片还丢失 |
| 51 | - ❌ 想喂给 AI,却拿不到干净的 Markdown |
| 52 | - ❌ 换阅读器 / 换设备,历史内容带不走 |
| 53 | - ✅ **一个公众号一键打包**,7 种格式任选,**纯读本地库、不触发任何微信抓取**(零风控风险) |
| 54 | |
| 55 | | 格式 | 后缀 | 适合场景 | 图片 | 单次上限 | |
| 56 | |------|------|----------|------|----------| |
| 57 | | 📝 Markdown 合集 | `.zip` | 归档 / 喂 AI / 导入 Obsidian、Logseq | 引用式 | 3000 | |
| 58 | | 🌐 HTML 合集 | `.html` | 单文件、带目录、暗色适配,浏览器直接看 | 引用式 | 3000 | |
| 59 | | 📊 Excel | `.xlsx` | 文章清单表(标题 / 作者 / 时间 / 链接) | — | 3000 | |
| 60 | | 🔧 JSON | `.json` | 二次开发 / 数据分析 | — | 3000 | |
| 61 | | 📄 Word | `.docx` | 可编辑文档,图去重压缩 | **内嵌** | 500 | |
| 62 | | 📕 PDF | `.pdf` | 固定排版、内置中文字体免装 | **内嵌** | 200 | |
| 63 | | 📱 EPUB | `.epub` | 手机 / 电子书阅读器读合集 | **内嵌** | 500 | |
| 64 | |
| 65 | > **文本/表格类**(Markdown / HTML / Excel / JSON)图片引用式、秒出、零抓图带宽;**离线自包含类**(Word / PDF / EPUB)会把微信图现抓内嵌进文件、断网也能看图。全部只导已抓到正文的文章,支持按时间范围(全部 / 最近 N 天 / 时间窗 / 增量)筛选。 |
| 66 | |
| 67 | 在 **RSS 管理页**(`/rss.html`)每个订阅右侧点「**下载文章**」即可可视化选格式与时间范围;也可直接调接口 `GET /api/export/account/{fakeid}.{格式}`,详见下方 [整号文章导出(多格式)](#整号文章导出多格式)。 |
| 68 | |
| 69 | --- |
| 70 | |
| 71 | ## Docker 部署 🐳 |
| 72 | |
| 73 | **最快速的部署方式**,无需配置 Python 环境,一键启动: |
| 74 | |
| 75 | ```bash |
| 76 | # 方式一:使用 docker-compose(推荐) |
| 77 | git clone https://github.com/tmwgsicp/wechat-download-api.git |
| 78 | cd wechat-download-api |
| 79 | cp env.example .env |
| 80 | # 编辑 .env 设置 SITE_URL 为实际访问地址 |
| 81 | docker-compose up -d |
| 82 | |
| 83 | # 方式二:直接运行 |
| 84 | docker run -d \ |
| 85 | -p 5000:5000 \ |
| 86 | -v $(pwd)/data:/app/data \ |
| 87 | -v $(pwd)/.env:/app/.env \ |
| 88 | --name wechat-api \ |
| 89 | tmwgsicp/wechat-download-api:latest |
| 90 | ``` |
| 91 | |
| 92 | 服务启动后访问 `http://localhost:5000/login.html` 扫码登录即可使用。 |
| 93 | |
| 94 | **支持多架构**:`linux/amd64` / `linux/arm64`(Apple Silicon、树莓派、ARM 服务器) |
| 95 | |
| 96 | --- |
| 97 | |
| 98 | ## SaaS 托管版 — 已上线 🚀 |
| 99 | |
| 100 | **不想折腾部署?30 秒注册即可使用** 👉 **[wechatrss.waytomaster.com](https://wechatrss.waytomaster.com)** |
| 101 | |
| 102 | 搜索公众号名称,拿到 RSS 链接,丢进你的阅读器——Feedly、Inoreader、NetNewsWire 全部兼容。 |
| 103 | |
| 104 | --- |
| 105 | |
| 106 | ## 使用前提 |
| 107 | |
| 108 | > 本工具需要通过微信公众平台后台的登录凭证来调用接口,因此使用前需要: |
| 109 | |
| 110 | 1. **拥有一个微信公众号**(订阅号、服务号均可) |
| 111 | 2. 部署并启动服务后,访问登录页面用**公众号管理员微信**扫码登录 |
| 112 | 3. 登录成功后凭证自动保存到 `.env` 文件,有效期约 **4 天**,过期后需重新扫码 |
| 113 | |
| 114 | 登录后即可通过 API 获取**任意公众号**的公开文章(不限于自己的公众号)。 |
| 115 | |
| 116 | > **本地电脑可以直接使用!** 不需要公网服务器——在本地启动服务后通过 `localhost` |