这个项目能做什么

NewsBlur 是一款个人新闻阅读器与社交新闻网络,将 RSS 阅读与过滤工具相结合。用户可以训练阅读器根据偏好高亮或隐藏文章,并通过公开或私密的 blurblogs 分享文章。newsblur.com 上的托管服务最多可免费支持 64 个站点,并提供付费方案;该仓库也支持自托管。 主要功能包括实时文章推送、原始站点视图、基于训练的高亮与隐藏、共享文章、全文搜索、文章标签、已保存搜索、从截断的 feed 展开全文、变更跟踪、电子邮件简报阅读、多种布局(Grid、List、Split、Magazine)、深色模式、YouTube 频道关注、第三方应用支持(Reeder、ReadKit、Unread)、IFTTT 集成,以及原生 iOS、macOS 和 Android 应用。 技术栈是一个 Django 应用(Python 3.7+),前端使用 Backbone.js。它使用 PostgreSQL 存储关系型数据,MongoDB 存储文章和已读状态,Redis 用于文章组装和缓存,可选 Elasticsearch 用于搜索,Celery 用于后台 feed 抓取,Node.js 服务用于文本提取和图像处理。 自托管需要 Docker 和 Docker Compose。克隆后,运行 `make` 会启动整个技术栈并应用迁移;实例可通过 https://localhost 访问。Make 目标涵盖日志、Django shell、bash 访问、测试、代码检查,以及针对 MongoDB、Redis 和 PostgreSQL 的数据库 shell。配置通过 `newsblur_web/local_settings.py` 完成,包含域名、cookies、高级版默认值、验证码、OpenAI API 密钥、文章保留期限,以及用于完整部署的支付/社交 API 密钥等选项。一个 bootstrap 命令可以从精选 fixtures 创建 PopularFeed 记录,而无需抓取内容。 开发支持 Git worktrees,每个 worktree 运行在唯一端口上,同时共享数据库服务,这在与 AI 编码助手协作时被认为很有用。一个 MCP 服务器让兼容 MCP 的客户端能够与 feed、文章和分类器交互,提供用于列出 feed、检索和搜索文章、获取原始文章文本、管理订阅和文件夹、保存文章、分享、训练分类器、发现 feed 以及管理通知的工具。提示模板涵盖每日简报、收件箱分类、主题研究、根据阅读模式进行训练、feed 健康检查以及 feed 发现。自托管的 MCP 作为独立容器运行在 8099 端口上。 该项目采用 MIT 许可证,由 Samuel Clay 创建。支持渠道包括托管服务和社区论坛。