Zenfeed 是一个结合人工智能与 RSS 技术的开源工具,旨在帮助用户高效管理信息流。它通过 AI 自动筛选、总结和推送用户关注的 RSS 内容,减少信息过载的困扰。用户可以自定义数据源,设置过滤规则,获取个性化的信息摘要。Zenfeed 还支持将文章转为播客、通过 Webhook 集成外部服务等功能。项目基于 AGPL-3.0 许可证,适合个人和开发者使用,部署简单,强调高质量内容管理。
功能列表
- 自动筛选和总结 RSS 内容,使用 AI 算法过滤无关信息,生成简洁摘要。
- 支持自定义 RSS 源,用户可添加任意 RSS 链接或 RSSHub 路由。
- 将文章转换为多人对话式播客,生成音频文件并存储到云端。
- 提供灵活的重写规则,允许用户基于标签处理内容,如分类、评分或添加新标签。
- 支持 Webhook 和 RSS 输出,便于与其他工具或服务集成。
- 提供每日简报功能,通过邮件发送指定时间段的内容摘要。
- 支持多语言和时区设置,适配全球用户需求。
- 开源项目,允许用户贡献代码或自定义功能。
使用帮助
安装流程
Zenfeed 主要通过 Docker 部署,适合在本地或 VPS 上运行。以下是详细的安装步骤:
- 准备环境:确保系统已安装 Docker 和 Docker Compose。推荐使用 Linux 或 macOS 系统,Windows 用户需安装 Docker Desktop。
- 下载配置文件:
curl -L -O https://raw.githubusercontent.com/glidea/zenfeed/main/docker-compose.yml
Windows 用户可使用 PowerShell:
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/glidea/zenfeed/main/docker-compose.yml" -OutFile "docker-compose.yml"
- 配置 API 密钥:
- Zenfeed 默认使用 SiliconFlow 的 AI 模型(如 Qwen2.5-7B-Instruct)。用户需在 SiliconFlow 注册账号并获取 API 密钥。
- 编辑
docker-compose.yml
,将API_KEY
替换为你的密钥,例如:environment: - API_KEY=sk-... - TZ=Asia/Shanghai - LANG=Chinese
- 启动服务:
API_KEY="sk-..." docker-compose -p zenfeed up -d
Windows 用户:
$env:API_KEY = "sk-..."; docker-compose -p zenfeed up -d
- 访问服务:
- 本地部署:打开浏览器,访问
http://localhost:1400
。 - VPS 部署:访问
http://<你的VPS公网IP>:1400
,确保防火墙已开放 1400 端口。
- 本地部署:打开浏览器,访问
- 前端访问:
- 可通过官方轻量级前端访问:
https://zenfeed-web.pages.dev
。 - 若部署在 VPS,建议仅通过本地网络访问前端,避免 API 密钥泄露。
- 可通过官方轻量级前端访问:
功能操作流程
1. 添加和管理 RSS 源
- 登录 Zenfeed 仪表板,点击“Add Feed”按钮。
- 输入 RSS 链接(如
http://localhost:1200/github/trending/daily/any
)或 RSSHub 路由路径(如github/trending/daily/any
)。 - 配置抓取频率和过滤规则,例如仅抓取特定类别的文章(如
category=tech
)。 - 保存后,Zenfeed 会定期抓取并处理 RSS 内容。
2. 配置重写规则
- 在
docker-compose.yml
或仪表板中设置重写规则,基于标签(如标题、来源、正文)处理内容。 - 示例:为技术类文章生成摘要并添加“tech”标签:
rewrite_rules: - match: category=tech prompt: Summarize the article in 100 words add_label: tech_summary
- 重写规则支持 Go 模板语法,可引用内置标签如
{{ .summary }}
或{{ .tags }}
。
3. 生成播客
- 配置播客功能需设置对象存储(如 Cloudflare R2)和 TTS 服务(如 Google Gemini)。
- 在仪表板或配置文件中添加存储信息:
storage: endpoint: "<your_account_id>.r2.cloudflarestorage.com" access_key_id: "..." secret_access_key: "..." bucket: "zenfeed-podcasts"
- 设置重写规则,指定播客生成参数,如主播角色和语音类型:
podcast: voice: en-US-Standard-C script_prompt: Convert article to a dialogue between two hosts
- Zenfeed 会自动将新文章转为播客,生成 WAV 文件并存储,链接保存为
podcast_url
标签。
4. 设置每日简报
- 在仪表板中启用简报功能,设置接收时间(如每天 08:00)和邮箱。
- 配置查询范围(如
00:00~23:59
)以获取指定时间段的摘要。 - Zenfeed 会发送包含内容摘要的邮件,减少频繁检查信息流的需要。
5. 集成外部服务
- 通过 Webhook 或 RSS API 输出内容。例如,获取过去 24 小时的技术类 RSS:
http://localhost:1400/rss?label_filter=category=tech
- Webhook 配置可参考文档
https://github.com/glidea/zenfeed/blob/main/docs/webhook-zh.md
。
注意事项
- 数据默认存储 8 天,需手动调整配置以延长保存时间。
- 公网部署需设置防火墙,避免 API 密钥泄露。
- 参考官方文档
https://github.com/glidea/zenfeed/blob/main/docs/config.md
获取更多配置详情。
应用场景
- 个人资讯管理
用户订阅多个博客或新闻 RSS 源,Zenfeed 自动筛选并总结内容,生成每日简报,适合忙碌的专业人士快速获取行业动态。 - 研究和监控
研究人员可设置关键词监控(如“人工智能”),Zenfeed 实时抓取相关 RSS 内容并生成报告,减少手动搜索时间。 - 内容创作者
播客制作者可将文章转为对话式播客,快速生成音频内容,发布到平台,节省脚本编写和录制时间。 - 团队协作
团队通过 Webhook 将 Zenfeed 的摘要输出到 Slack 或其他工具,实时共享行业资讯,提高协作效率。
QA
- Zenfeed 是否免费?
Zenfeed 是基于 AGPL-3.0 许可证的开源项目,免费使用。商业用途需联系作者报备。 - 如何添加自定义 AI 模型?
编辑docker-compose.yml
,替换默认模型为其他支持的模型,参考https://github.com/glidea/zenfeed/blob/main/docs/config.md
。 - 播客功能支持哪些语音?
支持 Google Cloud TTS 的语音,如en-US-Standard-C
。具体语音列表见 Google TTS 文档。 - 数据存储多久?
默认存储 8 天,可通过配置文件调整存储策略。