如何快速搭建微信公众号RSS订阅服务:wewe-rss私有化部署完整指南
【免费下载链接】wewe-rss🤗更优雅的微信公众号订阅方式,支持私有化部署、微信公众号RSS生成(基于微信读书)项目地址: https://gitcode.com/GitHub_Trending/we/wewe-rss
wewe-rss 是一个支持私有化部署的微信公众号RSS生成工具。它基于微信读书接口抓取公众号文章,把内容转换成标准 RSS 源,推送到你常用的阅读器里。部署一次、绑定一次账号,之后关注的公众号新文章会自动进入 RSS 阅读器,历史文章也能一次性补齐。
原理很简单:抓文章,转成 RSS
整个过程可以理解为三步:用你的微信读书账号登录服务,服务定期去拉取你订阅的公众号文章,再把文章按 RSS 格式输出。核心生成逻辑在 apps/server/src/feeds/ 目录下,基于 NestJS 定时任务实现,内置 LRU 缓存加速响应。
它支持的能力包括:
- 获取公众号历史发布文章
- 定时自动更新,不用手动刷新
- 输出
.rss、.atom、.json三种格式 - 全文模式输出,正文完整可读
- 所有订阅源一键导出 OPML
后端用 NestJS + Prisma,前端是 React + Vite,数据库可选 MySQL 或 SQLite,整体结构简单,方便二次开发。
10分钟完成部署
🐳 Docker Compose 是最省事的部署方式,两条命令就能跑起来:
git clone https://gitcode.com/GitHub_Trending/we/wewe-rss cd wewe-rss docker-compose up -d默认配置会同时启动一个 MySQL 8.3 容器并自动建库建表,见 docker-compose.yml。等待几分钟,打开http://localhost:4000就能看到管理界面。
如果只需要个人使用、机器资源有限,可以换成不带 MySQL 的 SQLite 版本:
docker-compose -f docker-compose.sqlite.yml up -d该文件在 docker-compose.sqlite.yml,只需一个容器,数据库文件存放在本地./data目录。
第一次启动前,改好这几个环境变量
🔧 在 compose 文件的app服务environment里按需取消注释:
| 变量 | 作用 |
|---|---|
AUTH_CODE | 接口请求授权码。不设置则接口裸奔,生产环境务必设置;/feeds路径不受此限制 |
SERVER_ORIGIN_URL | 服务的公网访问地址,用来生成 RSS 里的完整链接,外网访问必须配置 |
FEED_MODE | 设为fulltext输出全文。注意响应会变慢、占更多内存 |
CRON_EXPRESSION | 定时更新的 Cron 表达式,默认35 5,17 * * *,即每天两次 |
另外两个可选变量:ENABLE_CLEAN_HTML开启正文 HTML 清理,UPDATE_DELAY_TIME是连续更新间隔(默认 60 秒),适当调大能降低被风控的概率。
绑定账号与添加公众号源,两步搞定
第一步:绑定微信读书账号。打开「账号管理」,点击添加账号,用微信扫码登录。注意登录页的「24小时后自动退出」不要勾选,否则账号会很快失效。
第二步:添加公众号源。切到「公众号源」标签,点添加,直接粘贴一篇该公众号文章的分享链接(微信里随便分享一篇,复制链接即可)。系统会自动识别公众号信息,并开始抓取历史文章。
一个提醒:添加频率过高容易被风控,触发后等 24 小时自动解封,别连续批量添加。
RSS 地址与过滤参数速查
每个公众号源都有独立地址,全部聚合地址是/feeds/all.rss(.atom、.json同理)。URL 后面可以拼参数:
# 聚合源 + 标题过滤 + 分页 http://localhost:4000/feeds/all.atom?title_include=AI|机器学习&limit=20&page=1 # 单个源 + 排除关键词 http://localhost:4000/feeds/MP_WXS_123.json?title_exclude=广告|推广 # 触发单个源立即更新 http://localhost:4000/feeds/MP_WXS_123.rss?update=true参数含义:limit每页条数,page页码,title_include/title_exclude按标题关键词过滤,多个关键词用|分隔。用这套参数就能组合出只含特定主题的内容流。
账号状态说明:小黑屋、禁用、失效
服务在账号管理页会显示四种状态,遇到异常先对照这张表:
| 状态 | 含义与处理 |
|---|---|
| 正常 | 账号可用,正在工作 |
| 今日小黑屋 | 被官方风控,等一天自动恢复;账号正常时重启服务/容器可清除该记录 |
| 禁用 | 你手动停用了这个账号,启用即可 |
| 失效 | 登录状态过期,重新扫码登录 |
常见问题排查:
| 现象 | 处理办法 |
|---|---|
| 打不开 4000 端口 | 检查端口映射与防火墙 |
| 外网打开 RSS 链接地址不对 | 设置SERVER_ORIGIN_URL为公网地址 |
| 更新失败 | 检查网络,调低CRON_EXPRESSION频率 |
加一个钉钉推送(可选)
🔔 想让新文章自动推到团队群,项目自带了 wewe-rss-dingtalk/ 模块。进入该目录,在main.py里填入钉钉机器人的access_token和secret,然后执行docker-compose up -d,公众号一有更新群里就会收到通知。
部署之后的下一步
- 先把
AUTH_CODE和SERVER_ORIGIN_URL配好再暴露到公网,反向代理可参考 assets/nginx.example.conf。 - 从 2~3 个最常读的公众号开始,把生成的 RSS 地址加进阅读器验证同步是否正常。
- 运行稳定后再按需求开启
FEED_MODE=fulltext和调整更新频率。
【免费下载链接】wewe-rss🤗更优雅的微信公众号订阅方式,支持私有化部署、微信公众号RSS生成(基于微信读书)项目地址: https://gitcode.com/GitHub_Trending/we/wewe-rss
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考