wewe-rss部署教程:10分钟把微信公众号变成标准RSS源
【免费下载链接】wewe-rss🤗更优雅的微信公众号订阅方式,支持私有化部署、微信公众号RSS生成(基于微信读书)项目地址: https://gitcode.com/GitHub_Trending/we/wewe-rss
如果你正在找 wewe-rss 这类能把微信公众号内容转成 RSS 的开源工具,这篇教程可以直接照着做。它借助微信读书的接口完成公众号内容聚合,支持私有化部署,能抓取历史文章并定时同步每日更新,最终产出可以喂给任意 RSS 阅读器的标准订阅流。
推送堆成山,真正想读的那篇在哪?
每天早上打开微信,十几个公众号的推送和群消息挤在一起,昨天那篇想细看的长文早就翻不到了。晚上睡前刷到几条行业动态,第二天再想找,只能在聊天列表里逐个点开翻记录。更麻烦的是,这些内容只存在于微信内部:不能搜索归档、不能批量导入,换一台设备阅读习惯就全断了。
wewe-rss 做的事情很直接:把你关注的公众号变成一个持续更新的 RSS 订阅源。文章统一进你自己的 RSS 阅读器,标题、正文、原链接都带过去,历史文章也能一次性补齐,阅读节奏重新由你掌控。
🚀 十分钟部署 wewe-rss:Docker Compose 两种方案
默认配置走 MySQL,服务本身拉取官方构建好的镜像,三条命令起环境:
git clone https://gitcode.com/GitHub_Trending/we/wewe-rss cd wewe-rss docker compose up -d等待两三分钟,浏览器访问 4000 端口(默认 http://localhost:4000)即可看到管理界面,数据库会自动初始化,不需要手工建库建表。
如果服务器配置有限或只是个人自用,可改用 SQLite 方案:不单独运行数据库容器,用docker compose -f docker-compose.sqlite.yml up -d启动即可,数据库文件直接落在本地./data目录。
下面是常用环境变量的示例,按需在 app 服务的environment里解开注释或添加:
environment: - FEED_MODE=fulltext - CRON_EXPRESSION=35 5,17 * * * - SERVER_ORIGIN_URL=https://你的域名.comFEED_MODE=fulltext:输出文章全文而非摘要,内存占用更高、响应更慢,订阅源多时建议保持默认的摘要模式CRON_EXPRESSION:定时更新订阅源的计划,默认每天 5:35 与 17:35 各跑一次SERVER_ORIGIN_URL:外网访问时填公网 IP 或域名,决定 RSS 中生成的文章链接能否正常打开AUTH_CODE:API 请求授权码,防止他人随意调用你的接口MAX_REQUEST_PER_MINUTE:每分钟最大请求次数,默认 60ENABLE_CLEAN_HTML:开启正文 HTML 清理,输出内容更干净
绑定微信读书,拿到你的公众号RSS地址
先说最终结果:每个添加成功的公众号都有一个独立订阅地址,形如/feeds/{公众号ID}.rss,把后缀换成.atom或.json就是另外两种格式;所有账号的文章则合并输出到/feeds/all.rss、/feeds/all.atom、/feeds/all.json。拿到地址后填进 Feedly、Inoreader、Reeder 这类公众号RSS阅读器,就能开始自动收文。
先绑定一个微信读书账号
用浏览器打开管理界面,在"账号管理"里点"添加读书账号",用微信扫码登录即可。⚠️ 这里有个最容易踩的坑:登录时不要勾选"24小时后自动退出",否则授权一天就作废,账号会反复失效,只能重新绑定。
把公众号加进订阅列表
切到"公众号源"页签,点"添加",粘贴任意一篇该公众号的文章分享链接——从微信里分享文章、复制链接即可。系统会自动识别公众号身份,并顺带抓取它的历史文章。
批量添加时留点间隔,多账号、多公众号之间隔几分钟再操作,能明显降低触发风控的概率。添加完成后在列表中找到对应账号,复制它的 RSS 地址丢进阅读器验证一下,能看到文章流进来就算跑通了。
进阶玩法:标题过滤、格式切换与钉钉推送
标题过滤:所有 feeds 接口都支持查询参数。?title_include=AI|机器学习只保留标题命中的文章,?title_exclude=招聘|广告反向排除,两者可叠加,适合做"只看技术、不看招聘"的定制信息流。
三种输出格式:.rss为 RSS 2.0,兼容性最广,老阅读器都能用;.atom是 Atom 标准,元数据更规范;.json是 JSON Feed,纯 JSON 结构,自己写程序解析最方便。
手动刷新:不想等定时任务时,在单个源地址后加?update=true,即可立即触发一次抓取。
钉钉机器人:仓库自带 wewe-rss-dingtalk/ 模块,在main.py里填入钉钉机器人的 access_token 和 secret,按其 README 启动容器,新文章就会推送到群里,适合团队共享行业资讯。
接入自己的脚本:/feeds/all.json返回标准 JSON,配合limit、page参数即可写定时轮询、通知转发等自动化逻辑,无需改动 wewe-rss 本体。
🔍 踩坑与排查:这几个问题最常见
Q:账号状态显示"今日小黑屋"?账号被风控了,24 小时后自动恢复;若账号本身正常,重启服务或容器可清除这条记录。日常把更新频率调低、批量添加公众号时放慢节奏,能明显减少进小黑屋的次数。
Q:账号总是变成"失效"?多半是扫码登录时勾了"24小时后自动退出"。重新绑定一次,这次不勾该选项,状态即会恢复。
Q:本地能访问,外网打开 RSS 地址却不通或链接是错的?外网场景必须设置SERVER_ORIGIN_URL为公网 IP 或域名,RSS 中的文章链接才会指向正确地址;同时确认 4000 端口已在防火墙放行,Nginx 反向代理可参考 assets/nginx.example.conf。
Q:更新经常失败或明显滞后?先判断是否请求频率触发了限制:调大CRON_EXPRESSION的间隔,或加大UPDATE_DELAY_TIME(连续更新之间的延迟,默认 60 秒)。仍不行的话,检查服务器到微信读书接口的网络连通性。
🧩 项目结构速览:核心代码在哪里
这是一个 pnpm monorepo:后端为 NestJS(TypeScript),前端是 React + Vite 的管理界面,数据库层用 Prisma 同时支持 MySQL 与 SQLite。RSS 生成与定时更新的逻辑集中在 apps/server/src/feeds/ 的feeds.service.ts,数据模型定义在 apps/server/prisma/。
wewe-rss/ ├── apps/ │ ├── server/ # NestJS 后端,RSS 生成核心在 src/feeds/ │ └── web/ # React 管理界面(账号与订阅源管理) ├── wewe-rss-dingtalk/ # 钉钉机器人推送模块 ├── docker-compose.yml # MySQL 版部署配置 └── docker-compose.sqlite.yml # SQLite 版部署配置💡 接下来可以做什么
wewe-rss 把"公众号 → RSS"这条链路完整跑通,上线后的体验好坏主要取决于你的调参与使用方式,三条建议:
- 先用 SQLite 方案在本地或轻量服务器跑通全流程:绑定账号、添加一两个公众号,确认阅读器里能正常收文;
- 稳定运行几天后,再配置
SERVER_ORIGIN_URL暴露到外网,按需开启全文模式或标题过滤; - 团队共享场景接上钉钉机器人;个人用户则可以基于
/feeds/all.json写一个属于自己的轮询与聚合脚本。
【免费下载链接】wewe-rss🤗更优雅的微信公众号订阅方式,支持私有化部署、微信公众号RSS生成(基于微信读书)项目地址: https://gitcode.com/GitHub_Trending/we/wewe-rss
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考