15 分钟快速搭好私有微信公众号 RSS 订阅
2026/9/18 8:15:47 网站建设 项目流程

15 分钟快速搭好私有微信公众号 RSS 订阅

【免费下载链接】wewe-rss🤗更优雅的微信公众号订阅方式,支持私有化部署、微信公众号RSS生成(基于微信读书)项目地址: https://gitcode.com/GitHub_Trending/we/wewe-rss

每天下班还在微信里挨个翻公众号更新?wewe-rss 走微信读书接口生成微信公众号 RSS 订阅源,NestJS 后端加 React 前端,一条 Docker 命令完成私有化部署,15 分钟跑起来。

公众号内容怎么从微信搬进 RSS 阅读器

你关注 20 个号,更新散落在各次推送里,广告和软文没法过滤,漏了就没了。用 wewe-rss 之后,这些内容变成一条可筛选、可回看的标准微信公众号 RSS 流:

维度以前用 wewe-rss
更新追踪手动挨个翻,漏推即丢失每天定时抓,历史文章可补
阅读入口只能待在微信里任意 RSS 阅读器,支持全文
内容筛选没有过滤手段标题关键词包含/排除
数据归属平台说了算私有化部署,数据库在自己手里

技术栈是 NestJS(Node.js 后端框架)+ React,数据库默认 MySQL,嫌麻烦可换 SQLite;管理界面和 RSS 接口共用 4000 端口,一个容器加一个库就齐了。

Docker Compose 最短部署路径与环境变量速查

# 拉取项目代码 git clone https://gitcode.com/GitHub_Trending/we/wewe-rss cd wewe-rss # 一键启动应用与 MySQL 数据库 docker compose up -d # 两个服务都 running/healthy 即成功 docker compose ps

跑起来之后浏览器打开 http://localhost:4000,先会看到登录框,输入 docker-compose.yml 里配置的 AUTH_CODE(默认 123567)进入管理界面:顶部"公众号源 / 账号管理"两个页签,列表是空的——正常,源还没加。💡 不想用 MySQL,换成docker compose -f docker-compose.sqlite.yml up -d,数据库直接落在本地 data 目录。

变量默认值作用何时改
AUTH_CODE123567管理界面与接口授权码部署后立即改,防止被访问
SERVER_ORIGIN_URLRSS 链接中的外网地址用域名/公网 IP 访问必配
FEED_MODE摘要设 fulltext 输出全文想在阅读器里读完整正文
CRON_EXPRESSION35 5,17 * * *每天 5:35、17:35 定时更新想要更密的更新节奏
MAX_REQUEST_PER_MINUTE60接口每分钟限流多设备拉取被限流时

从扫码登录到拿到第一条订阅地址

扫码绑定微信读书账号

  • 操作路径:进"账号管理"页签 → 点右上角"添加读书账号" → 手机微信扫码登录微信读书。
  • 成功标志:列表多出一行账号,状态列显示"启用"。
  • ⚠️ 最容易踩的坑:扫码时不要勾选"24 小时后自动退出",勾了第二天账号就失效,得重新绑。

添加第一个公众号订阅源

  • 操作路径:切到"公众号源"页签 → 点左上角"添加+" → 粘贴任意一篇该公众号文章的分享链接(mp.weixin.qq.com 开头,微信里点"分享-复制链接"即可拿到)→ 确定。
  • 成功标志:左侧订阅列表出现该公众号,右侧开始回填它的历史文章。
  • ⚠️ 坑:连续高频添加容易触发风控,封 24 小时才能用,一次先加两三个就够。

拼接订阅地址并接入阅读器

  • 操作路径:每个公众号源对应一个独立的微信公众号 RSS 地址http://localhost:4000/feeds/<源ID>.rss,源 ID 在公众号源列表里能看到;全部源聚合是http://localhost:4000/feeds/all.rss。后缀换成.atom.json就是 Atom / JSON Feed 格式。
  • 成功标志:浏览器直接打开该地址,能看到一串 XML 或 JSON,标题、链接、时间都在。
  • ⚠️ 坑:从外网访问时,RSS 里的文章链接会指向 localhost 打不开——把 SERVER_ORIGIN_URL 配成你的域名或公网 IP 即可。

Inoreader、Feedly 这类在线阅读器在"添加订阅源"里粘贴地址即可,Reeder、NetNewsWire 等客户端走同一入口;把 all.rss 粘进去之后,服务端定时抓到的新文章会自动出现在你的阅读器里。

RSS 订阅配置:过滤、全文与手动更新

标题过滤:只留你关心的文章

订阅流里软文广告太多时不必退订,在地址上挂参数就行:

# 聚合流里只看标题含 AI 或 前端 的文章 curl "http://localhost:4000/feeds/all.atom?title_include=AI|前端" # 排除招聘与广告,两个参数可叠加 curl "http://localhost:4000/feeds/<源ID>.json?title_exclude=招聘|广告"

管道符 | 分隔多个关键词,过滤逻辑在 feeds.service.ts 里实现。

全文模式:阅读器里读完整篇

默认只输出标题和摘要,读完还得回微信。想直接在阅读器里看完整正文,设FEED_MODE=fulltext,或只对单次请求加?mode=fulltext。⚠️ 全文会逐篇抓取并缓存在内存里(LRU 上限 5000 条),订阅源多时内存和响应时间都会上去,建议先对一个源试用。

手动触发更新

不等定时任务,访问http://localhost:4000/feeds/<源ID>.rss?update=true立即刷新该源;服务端会隔 30 秒再处理下一个请求,帮你避开风控。

高频问题排查与生产环境维护要点

  • 账号显示"今日小黑屋" → 请求太频繁被风控 → 等 24 小时自动恢复,或重启服务容器清除记录。
  • 文章只有标题没有正文 → 默认非全文模式 → 设FEED_MODE=fulltext
  • 阅读器里文章链接打不开 → SERVER_ORIGIN_URL 没配或配错 → 改成你的公网域名。
  • 文章不更新 → 定时任务默认每天只跑两次 → 调 CRON_EXPRESSION,或手动加?update=true
  • 管理界面进不去 → AUTH_CODE 输错 → 对照 docker-compose.yml 里的值重输。

生产环境建议:日常用docker compose logs -f盯更新日志,数据库卷(MySQL 的 db_data 或 SQLite 的 data 目录)纳入定期备份,开全文模式后重点盯内存水位。

把新文章推进钉钉群和自动化脚本

钉钉机器人播报:让团队群里自动播报微信公众号 RSS 里的新文章。仓库自带 wewe-rss-dingtalk/ 模块,按它目录里的 README 配好 webhook 后:

# 在 wewe-rss-dingtalk 目录下启动 docker compose -f wewe-rss-dingtalk/docker-compose.yml up -d

JSON Feed 自动化:把 RSS 流接进自己的脚本,做关键词监控、周报汇总都行:

import requests # 拉聚合 JSON 流,服务端按标题关键词过滤 data = requests.get("http://localhost:4000/feeds/all.json", params={"title_include": "AI"}).json() for item in data["items"][:5]: # 只处理最新 5 篇 print(item["title"], item["url"])

跑起来之后你会发现,"下班翻公众号"这个动作可以彻底从日程里删掉:今天先按最短部署路径把服务拉起来,扫码绑定账号、加上两三个常用号,再把 all.rss 粘进你的阅读器。之后更新、筛选、聚合都发生在你自己服务器的 4000 端口上——这条微信公众号 RSS 订阅流从此由你掌控,而不是由平台的推送节奏决定。

【免费下载链接】wewe-rss🤗更优雅的微信公众号订阅方式,支持私有化部署、微信公众号RSS生成(基于微信读书)项目地址: https://gitcode.com/GitHub_Trending/we/wewe-rss

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询