wewe-rss 订阅聚合 API 实用指南:获取、过滤与转换公众号订阅

发布时间:2026/8/24 23:19:03
wewe-rss 订阅聚合 API 实用指南:获取、过滤与转换公众号订阅 wewe-rss 订阅聚合 API 实用指南获取、过滤与转换公众号订阅【免费下载链接】wewe-rss更优雅的微信公众号订阅方式支持私有化部署、微信公众号RSS生成基于微信读书项目地址: https://gitcode.com/GitHub_Trending/we/wewe-rsswewe-rss 是一个基于微信读书的开源公众号 RSS 生成工具支持私有化部署。服务跑起来后它会暴露一组订阅聚合 API让你把多个公众号的文章拉取、过滤并转换成 Atom、RSS 2.0、JSON Feed 三种通用格式这三者都是主流的订阅内容描述标准分别面向不同阅读器。本文面向想把公众号接入 Inoreader、FreshRSS 等第三方客户端的读者读完可以完成最短验证、组合过滤参数并部署到生产环境。适合哪些场景边界在哪里适合把多个公众号合并为一条聚合订阅统一推送到阅读器按标题关键词包含 / 排除做内容瘦身用脚本定时拉取 JSON Feed自建通知或归档参考内置的钉钉机器人模块wewe-rss-dingtalk/做消息推送不适合它不做全文搜索引擎过滤只作用于文章标题不检索正文订阅源的管理添加公众号、登录授权走 Web 管理端API 只负责读取和生成没有内建推送通道有新文章就通知需要你轮询或借助附带脚本用最短路径验证服务是否可用部署完成后先确认能拿到订阅源列表再请求一条聚合内容。列表接口返回每个源的id、name、intro、cover、syncTime等字段拿到id后才能请求单源内容。# 列出所有订阅源JSON curl http://localhost:3000/feeds # 请求全部源的聚合内容默认 30 条Atom 格式 curl http://localhost:3000/feeds/all.atom单源请求的写法是/feeds/{id}.{type}例如/feeds/feed1.rss。聚合接口与单源接口共用同一套查询参数但默认limit不同聚合默认 30 条单源默认 10 条。组合查询参数获取聚合订阅与过滤指定关键词参数处理逻辑在apps/server/src/feeds/feeds.service.ts常用项如下参数默认值可选值 / 说明作用limit聚合 30 / 单源 10正整数单页返回条数page1正整数分页页码mode摘要fulltext切到全文模式正文从摘要变为完整 HTMLtitle_include无关键词多个用\|分隔标题命中任一关键词才保留title_exclude无同上标题命中任一关键词则剔除updatefalse仅单源接口支持请求前先强制刷新该公众号文章过滤只发生在渲染之后且只比对标题。多关键词用竖线组合下面把分页、关键词过滤、全文、强制更新放在一起演示# 第 2 页每页 10 条 curl http://localhost:3000/feeds/feed1.rss?page2limit10 # 标题只保留含 AI 或 开源 的文章并取全文 curl http://localhost:3000/feeds/all.atom?title_includeAI|开源modefulltext # 触发刷新后再读取该源 curl http://localhost:3000/feeds/feed1.json?updatetrue一次请求经过哪几层以GET /feeds/feed1.atom为例链路很短便于排障时逐段定位客户端发起 GET 请求路径尾缀决定输出格式feeds.controller.ts解析id与type组装参数交给 FeedsService服务层经 Prisma 查询订阅源与文章执行title_include/title_exclude过滤用feed库渲染为 rss2 / atom1 / json1 三种格式之一设置对应 Content-Type 后返回三种格式的 MIME 分别为application/rssxml、application/atomxml、application/feedjson定义在apps/server/src/constants.ts。Docker 部署与推送集成仓库自带docker-compose.yml两条命令即可起服务含 PostgreSQLgit clone https://gitcode.com/GitHub_Trending/we/wewe-rss cd wewe-rss docker-compose up -d更新节奏由 Cron 控制默认北京时间每天 5:35 与 17:35 各跑一轮通过环境变量覆盖export CRON_EXPRESSION30 * * * * # 每小时第 30 分执行前端或第三方系统接入时直接消费/feeds/all.json即可不需要自己解析 XML// 轮询 JSON Feed比对 updated 时间戳即可触发通知 const data await (await fetch(/feeds/all.json)).json();钉钉推送可参考仓库内的wewe-rss-dingtalk/模块其原理同样是定时拉取 JSON Feed 并对比增量。常见误区与排障现象可能原因检查点聚合接口 items 为空尚未添加订阅源或还没到首次同步时间看/feeds里syncTime是否更新过滤条件不生效只匹配标题不匹配正文多关键词漏了\|分隔核对参数拼写与分隔符updatetrue响应很慢刷新是同步等待的且单源刷新有 30s 冷却确认该源最近是否刚刷新过重复请求内容不变化LRU 缓存默认上限 5000 条与定时同步间隔导致属预期行为需要实时数据就加updatetrue正文被截断默认返回摘要而非全文请求时带上modefulltext可以往哪走在handleGenerateFeed的格式分支里追加新的输出格式如 Markdown 合集按用户维度维护多套过滤规则做成个性化订阅配置以钉钉模块为模板扩展到飞书、邮件等其他推送渠道具体行为细节如缓存粒度、刷新冷却时长以仓库实现为准可在源码中确认。【免费下载链接】wewe-rss更优雅的微信公众号订阅方式支持私有化部署、微信公众号RSS生成基于微信读书项目地址: https://gitcode.com/GitHub_Trending/we/wewe-rss创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考