轻量级RSS源处理中间件FeedCraft

简介

什么是 FeedCraft ?

FeedCraft 是一个开源的 RSS 源处理工具。它可以作为中间件处理你的 RSS 订阅源,可以用它来提取正文、智能翻译、通过 AI 生成文章摘要、通过自然语言筛选文章等。它还内置了可视化 RSS 生成器,支持将网页、API 或搜索结果转换为 RSS 订阅源。

主要特点

  • RSS 中间件:作为中间件与现有的任何 RSS 阅读器协同使用
  • AI 增强:接入 OpenAI 接口兼容的 LLM 进行翻译、摘要等处理,可自定义 Prompt
  • HTML/Curl/Search to RSS:内置可视化 RSS 生成器,支持将网页、API 或搜索结果转换为 RSS 订阅源
  • 双模式支持:支持便携模式(portable mode,即用即走)和高级模式(dock mode,后台自定义配置)
  • 开源免费:基于 GPLv3 协议开源,可免费使用和修改

应用场景

  • RSS 增强翻译:将英文 RSS 源自动翻译为中文,方便阅读
  • 全文提取:获取某些只提供摘要的 RSS 源的完整文章内容
  • AI 摘要:通过 AI 为长文章生成摘要,快速筛选内容
  • 搜索转 RSS:将搜索结果转换为 RSS 订阅源,订阅特定领域信息
  • 内容筛选:通过自然语言筛选,排除营销软文等无关内容

FeedCraft 是一个功能强大的 RSS 处理工具,特别适合有大量外文 RSS 源订阅需求的用户

安装

在群晖上以 Docker 方式安装。

该项目包含多个服务:主应用、Redis(用于缓存)、Browserless(用于渲染动态网页)。建议完整部署以体验全部功能。

部署步骤

通过 SSH 登录到群晖,执行下面的命令:

1
2
3
4
5
# 新建文件夹 feed-craft 和子目录 data
mkdir -p /volume1/docker/feed-craft/data

# 进入 feed-craft 目录
cd /volume1/docker/feed-craft

然后将下面的内容保存为 docker-compose.yml 文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
version: "3"

services:
app.feed-craft:
image: ghcr.io/colin-xkl/feed-craft
# image: colinxkl/feed-craft # 你也可以使用docker hub的镜像
container_name: feed-craft
restart: always
ports:
- "10088:80" # 10088可替换为任何你想使用的端口
volumes:
- ./data:/usr/local/feed-craft/db # db file
environment:
FC_PUPPETEER_HTTP_ENDPOINT: http://service.browserless:3000 # browserless 或其他浏览器实例地址,fulltext-plus 功能必须。
FC_REDIS_URI: redis://service.redis:6379/ # Redis 连接地址。用于缓存,加快处理速度并减少 AI Token 消耗。
FC_LLM_API_BASE: https://api.siliconflow.cn/v1 # API 接口地址。如果是兼容 OpenAI 的 API,通常以 `/v1` 结尾。
FC_LLM_API_KEY: sk-xxxxxxxx # OpenAI 或兼容服务(如 DeepSeek, Gemini 等)的 API Key
FC_LLM_API_MODEL: deepseek-ai/DeepSeek-V3.2 # 默认使用的模型(如 `gemini-pro`, `gpt-3.5-turbo`)。支持多个模型: 你可以提供一个逗号分隔的模型列表(例如 gpt-3.5-turbo,gpt-4)。FeedCraft 会为每个请求随机选择一个模型,如果调用失败,会自动重试列表中的其他模型
FC_LLM_API_TYPE: openai #  (可选) openai (默认) 或 ollama
FC_DEFAULT_TARGET_LANG: zh-CN # (Optional) LLM 处理任务的默认目标语言,如 zh-CN, en-US
depends_on:
- service.redis

service.redis:
image: redis:6-alpine
container_name: feedcraft_redis
restart: always

service.browserless:
image: browserless/chrome
container_name: feedcraft_browserless
restart: always
environment:
USE_CHROME_STABLE: 'true'

执行以下命令启动:

1
2
# 一键启动
docker-compose up -d

参数说明

文件夹 装载路径 说明
docker/feed-craft/data /usr/local/feed-craft/db 存放数据库文件

端口

本地端口 容器端口
10088 80

端口说明:主机端口 10088 可以替换为其他空闲端口。

环境

可变
FC_LLM_API_TYPE 选择 LLM 类型,openaiollama
FC_LLM_API_BASE LLM API 接口路径,需以 /v1 结尾
FC_LLM_API_KEY LLM 服务的 API Key
FC_LLM_API_MODEL 默认使用的模型
FC_PUPPETEER_HTTP_ENDPOINT browserless 服务地址
FC_REDIS_URI Redis 服务地址
FC_DEFAULT_TARGET_LANG 默认目标语言,如 zh-CN
FC_LLM_MAX_CONCURRENCY (可选) 全局最大 LLM 并发请求数(默认: 5)。用于限制并发请求数量以防止触发 API 速率限制。
FC_DOMAIN_MAX_CONCURRENCY (可选) 网页抓取(如全文提取)时每个目标域名的最大并发数(默认: 3)。防止抓取目标服务器负载过高。

目前硅基流动(SiliconFlow)注册就送 16 元的代金券

注册地址:

https://cloud.siliconflow.cn/i/NkUiXVhQ

和之前的不同,现在的券虽然多了2块钱,但是有有效期,不过可以用于 Pro/ 开始的模型

后续准备试试七牛,据说可以用国外的大模型

注册地址:

https://s.qiniu.com/2ENRR3

运行

在浏览器中访问 http://<群晖IP>:10088

控制台默认账号admin, 密码 adminadmin, 登陆后请尽快修改默认密码

登录成功后的主界面,右上角可以切换模式

快速开始

选择一个 craft,这是系统内置的功能模板或者处理模块,例如老苏选择了 fulltext

  • proxy: 简易 RSS 代理,不作任何处理。
  • limit: 限制文章数量(默认最新 10 篇)。
  • fulltext: 提取文章全文。
  • fulltext-plus: 模拟浏览器渲染并提取全文(需要 Browserless,在最小化部署中不可用)。
  • introduction: 调用 AI 为文章生成导读,附加在开头。
  • summary: 调用 AI 总结文章主要内容。
  • translate-title: 调用 AI 翻译文章标题。
  • translate-content: 调用 AI 翻译文章内容(替换原文)。
  • translate-content-immersive: 沉浸式翻译模式,每段原文后附加译文。
  • ignore-advertorial: 使用 AI 筛选并过滤掉营销软文。

输入源 RSS URL,以 https://laosu.tech/atom.xml 为例

点击显示 Crafted Feed URL

复制底部的 URL,这个 URL 格式为: http://群晖IP:10088/craft/{craft_atom}?input_url={input_rss_url} ,其中:

  • {craft_atom} 是你想要使用的处理步骤名称。你可以在 系统内置 AtomCraft 界面中查阅完整列表
  • {input_rss_url} 是原始的 RSS 订阅源 URL

将上面的地址粘贴到 RSS 订阅器中

添加之后

回到订阅源

点开显示的是全文,而不是默认的摘要

FeedCraft 的进阶功能还支持从 HTML 网页生成 RSS

具体使用方法可以看官方提供的使用说明:https://feed-craft-doc.vercel.app/zh/guides/start/quick-start/

注意事项

  1. API Key 配置:需要配置 LLM API Key 才能使用 AI 功能,如 OpenAIOllamaSiliconFlow
  2. 端口占用10088 是默认端口,确保未被占用,或使用其他空闲端口
  3. 数据持久化:数据库文件夹需持久化保存,否则重启后数据丢失
  4. 资源消耗:完整版包含 browserless 容器,资源消耗较大,根据群晖性能选择部署版本
  5. 安全建议:部署后尽快修改默认密码,避免安全风险

参考文档

FeedCraft: craft your feed at ease! 轻量级rss中间件, 提取全文, 翻译、摘要一站式服务
地址:https://github.com/Colin-XKL/FeedCraft

FeedCraft 官方演示站点
地址:https://feed-craft.colinx.one

FeedCraft 文档 - 简体中文
地址:https://feed-craft-doc.vercel.app/zh

colin-xkl/feed-craft - Docker Image | GHCR
地址:https://ghcr.io/colin-xkl/feed-craft