
微信公众号为什么没法直接订阅用 wewe-rss 十分钟把第一篇公众号文章推进阅读器【免费下载链接】wewe-rss更优雅的微信公众号订阅方式支持私有化部署、微信公众号RSS生成基于微信读书项目地址: https://gitcode.com/GitHub_Trending/we/wewe-rsswewe-rss 是一个私有化部署的微信公众号转 RSS 订阅源工具它走微信读书通道抓取公众号文章含历史发布在你的/feeds/端点上生成标准 RSS / Atom / JSON Feed任何 RSS 阅读器都能直接订阅。整条链路你只需要做三件事跑一个容器、扫一次微信读书的码、贴一条文章链接。读完本文你的阅读器里就会有一个可用的订阅地址。先说清楚原理微信公众号内容封闭在微信生态里没有原生的订阅源输出。wewe-rss 的做法是把你的微信读书账号当成抓取通道——通过微信读书接口拉取文章列表在自己的服务器上生成 feed。登录状态和数据全部留在你自己的机器上不经过第三方托管。十分钟启动 wewe-rssDocker Compose 两处改动加一条命令仓库自带的 docker-compose.yml 已经把应用容器和 MySQL 容器的镜像、网络、健康检查全部配好你只需要改两个值。git clone https://gitcode.com/GitHub_Trending/we/wewe-rss cd wewe-rss这条命令拉取项目源码。接下来打开 docker-compose.yml把 MySQL 的MYSQL_ROOT_PASSWORD默认 123456和 app 容器的AUTH_CODE默认 123567服务接口的授权码改成自己的值。docker-compose up -d这条命令同时启动数据库和服务。compose 文件里写了depends_on: service_healthyMySQL 健康检查通过之前 app 容器不会启动所以你只需要等两个容器都显示Up全程大约 23 分钟。然后在浏览器打开http://localhost:4000看到顶部带「公众号源」和「账号管理」两个标签的页面部署就算成了不想跑 MySQL 也有单容器的 SQLite 方案docker-compose -f docker-compose.sqlite.yml up -d这条命令只启动一个 app 容器加一个./data数据目录。官方 README 明确标注该方案不推荐订阅少、纯自用没问题长期跑建议回到 MySQL 版。打算对外公开访问时别用默认的4000:4000映射改成8080:4000之类的端口再套一层 Nginx 反代仓库里的assets/nginx.example.conf是现成的参考配置。先绑定微信读书账号它是唯一的抓取通道后面所有抓取都依赖这一步所以先做它。进入「账号管理」标签点右上角「添加读书账号」弹出二维码用手机微信扫码登录微信读书。成功后列表里多出一条记录状态显示「启用」绑定完成。这里有个必须小心的坑扫码登录时不要勾选24小时后自动退出。勾了它登录态会周期性失效你得隔三差五重新扫码绑定这是本项目最高频的故障来源。添加公众号源粘贴一条分享链接就完成切到「公众号源」标签点左上角「添加」在输入框里粘贴该公众号任意一篇文章的链接。链接这样拿在微信里打开一篇文章点右上角「…」→ 分享 → 复制链接。确认后系统开始抓取该源的历史文章——历史发布内容会一并拉下来不用等新文章累积。列表里这个源的「最后更新时间」刷新了就说明成功。节奏上要控制一下不要连续批量添加多个源间隔几分钟再操作下一个。README 明确写了添加频率过高会触发封控进了小黑屋要等 24 小时才能恢复。上公网前建议调的 6 个环境变量默认值都能跑但对外提供订阅前把下面这几项过一遍。它们都写在 docker-compose.yml 的 app 环境变量里被注释掉的行去掉#生效。变量默认值什么时候改建议值AUTH_CODE123567部署后立刻换不设等于服务无鉴权随机 8 位以上字符串/feeds订阅路径不需要它SERVER_ORIGIN_URL未设置公网访问必配否则 RSS 里生成的链接是 localhost你的公网域名FEED_MODE摘要输出确实需要全文内容时fulltext全文模式响应更慢且吃内存源多时别开CRON_EXPRESSION35 5,17 * * *想改自动更新节奏时默认每天 5:35 和 17:35 各更新一次多数人保留默认MAX_REQUEST_PER_MINUTE60被限流时降到 30UPDATE_DELAY_TIME60s基本不用动保持默认作用是拉长连续更新间隔、降低进小黑屋的概率订阅地址写法三种格式、两个参数、一个手动更新开关源加好之后真正的消费者是你的 RSS 阅读器。地址规则一句话/feeds/后跟源ID.格式all代表全部源聚合。http://服务器地址/feeds/all.rss # 全部源聚合 http://服务器地址/feeds/all.atom http://服务器地址/feeds/all.json http://服务器地址/feeds/MP_WXS_xxx.rss # 单个源xxx 是源ID格式怎么选.rss兼容性最稳拿不准就选它自己写脚本或前端解析选.json字段最干净对标准校验严格的阅读器用.atom。三种格式都支持limit和page参数比如?limit20page1。订阅地址还能追加查询参数做多值过滤值之间用|表示或/feeds/all.atom?title_includeAI|机器学习 /feeds/MP_WXS_xxx.json?title_exclude招聘limit20 /feeds/MP_WXS_xxx.rss?updatetruetitle_include和title_exclude按标题关键词做包含/排除过滤。信息源杂的时候直接在all地址上挂过滤参数比单建源省事。updatetrue是手动更新开关发现某个公众号更新不及时带着它访问一次该源地址就能触发一次抓取。另外全部订阅源支持一键导出 OPML迁移订阅列表或者批量导入阅读器时用得上。进阶三条路钉钉推送、前端定制、脚本拉取钉钉群推送仓库自带wewe-rss-dingtalk/模块把机器人的access_token和secret填进 main.py在该目录执行docker-compose up -d之后新文章就会推送到群里具体步骤见该目录下的 README.md。阅读页定制管理页是 React Vite 写的代码在apps/web/。想要贴合自己审美的阅读页可以直接基于它改。本地开发流程装好 Node 20 和 pnpm 后执行pnpm install pnpm run build:web pnpm dev。脚本拉取订阅接口就是普通 GET 请求任何语言都能直接拉Python 里几行 requests 调用/feeds/all.json就能拿到标题和链接字段接进自己的监控或转发流程很直接。想改行为的话RSS 生成、过滤、更新逻辑集中在apps/server/src/feeds/feeds.service.ts路由在apps/server/src/feeds/feeds.controller.ts从这里入手成本最低。故障排查速查五种最常遇到的状况卡在哪可能原因恢复动作4000 端口打不开端口被占用或防火墙未放行docker-compose ps确认容器状态必要时把映射改成8080:4000账号状态「失效」登录态过期或登录时勾选了 24 小时自动退出重新扫码登录这次务必不勾选自动退出账号状态「今日小黑屋」添加或更新过于频繁被限流等 24 小时恢复账号恢复正常后重启服务/容器可清除小黑屋记录阅读器里链接打不开没配SERVER_ORIGIN_URL填上公网域名后重启容器更新频繁报错网络波动或接口限流拉长CRON_EXPRESSION间隔MAX_REQUEST_PER_MINUTE降到 30关页之前留一份四周内的动作清单第一周绑 12 个微信读书账号、加 23 个常用公众号在阅读器里订阅/feeds/all.rss验证历史文章能正常收到第二、三周观察自动更新节奏不合阅读习惯再调CRON_EXPRESSION并给all地址加上title_include/title_exclude把 feed 收窄第四周起需要团队共享就加上wewe-rss-dingtalk推送需要新的阅读体验再基于apps/web/定制。【免费下载链接】wewe-rss更优雅的微信公众号订阅方式支持私有化部署、微信公众号RSS生成基于微信读书项目地址: https://gitcode.com/GitHub_Trending/we/wewe-rss创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考