返回资讯中心
外部精选
软件工程
#开发者实时流

NewsNest:自托管新闻阅读器,用Claude按个人兴趣排名和摘要

来源标题:NewsNest – self-hosted news reader that ranks stories by my interests

NewsNest是一款自托管新闻阅读器,可将多个RSS源聚合为单一信息流,并用Claude按用户兴趣对新闻进行排名和摘要。它支持导入OPML文件、试用新源,所有数据存于本地SQLite文件,通过用户自己的Anthropic API密钥调用Claude。每个故事还支持多家媒体合并为一张卡片。

Hacker News 最新Lucifix22026/11/3 · 今天27 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

一个自托管的新闻聚合工具,能学习你真正关心的内容。

NewsNest 把你的 RSS 订阅汇成一条安静的流,将不同来源的同一篇报道折叠成一张卡片,并用 Claude 对内容排序和摘要,挑出对你重要的部分。

网站 · 功能 · 快速开始 · 工作原理 · 配置 · 开发

媒体来源和标题均为虚构。照片来自 Unsplash,摄影:Mohammad Rahmani、Gabriella Clare Marino 和 Amol Tyagi。

每天翻十几个新闻网站很慢,而且看到的大部分内容都不是为你准备的。算法信息流通过「学习什么让你一直滑动」来解决这个问题,但那并不等于你真正想读的东西。

NewsNest 反过来做:来源由你选,兴趣由你写,每条新闻为什么排在那个位置,你都能看到原因。它运行在你自己的机器上,所有数据存在一个 SQLite 文件里,通过你自己的密钥与 Anthropic API 通信。

📰 你自己的来源。支持任意 RSS 或 Atom 订阅,以及你所运行软件的 GitHub release 订阅。可以导入 OPML 文件,也可以先试用新订阅:只有你真正读了,它才配留在你的信息流里。

🧠 为你排序。Claude 依据你亲手写(或从几次评分中草拟)的兴趣文件,从主题、重要性和个人契合度三个维度为每条新闻打分。

🧩 一条新闻,而不是五条。多家媒体对同一事件的报道会合并成一张卡片,报道越广,这条新闻排得越靠前。

✨ 按需提供要点。一句话导语、几条要点、一句「为什么这对你重要」,以及全文是否值得你花时间的提示。

👍 它会从你身上学习。点赞、点踩和打开行为都会影响你看到的内容。可以就某个来源或主题选择「多来点」或「少来点」,每周的兴趣建议在生效前供你审阅。

🔎 没有黑箱。校准模式会展示每条新闻的分数和理由,「漏掉了」功能让你粘贴一条本该出现在信息流里的链接。

🃏 滑动整理。单拇指卡片式界面,几分钟就能把积压的新闻评完。

💸 硬性消费上限。每天达到预算(默认 $0.50)后,AI 调用当天停止。没有 API 密钥时一切照常运行,新闻按最新优先展示。

📱 可安装且私密。移动优先的 Web 应用,带明暗主题,可安装到主屏幕。密码保护,一键备份数据库。

🩺 知道订阅何时出问题。状态页和 /health 端点会报告失败的或停止更新的来源。

还有更多

关键词监控,让某个话题始终浮现,另有静音和必显关键词过滤 全文搜索、收藏、阅读历史和按天归档 按来源设置每日上限,避免某个高频来源淹没其他内容 按你选择的语言生成摘要

快速开始

你需要 Docker 和 Compose;要使用 AI 功能,还需要一个 Anthropic API 密钥。拉取已发布的镜像(无需克隆,也是给 Portainer stack 用的那个),或从源码构建。

多架构(linux/amd64 + linux/arm64,所以 Raspberry Pi 或 ARM NAS 也能跑):

把下面内容粘贴进 Portainer(Stacks → Add stack → Web editor),或保存为任意位置的 docker-compose.yml。只有密码是必须填的:

services: newsnest: image: ghcr.io/lucifix/newsnest:latest container_name: newsnest restart: unless-stopped ports:

  • 3095:8080 environment: NEWSNEST_PASSWORD: change-me # required: with no password the app refuses all access ANTHROPIC_API_KEY: "" # optional: enables ranking and summaries TZ: UTC # your time zone, e.g. Europe/Ljubljana volumes:
  • newsnest-config:/config
  • newsnest-data:/data volumes: newsnest-config: newsnest-data:

如需完整文件,用可打开和编辑的主机目录代替 Docker 卷,请使用本仓库中的 docker-compose.yml:

mkdir newsnest && cd newsnest curl -fsSLO https://raw.githubusercontent.com/Lucifix/newsnest/main/docker-compose.yml curl -fsSL https://raw.githubusercontent.com/Lucifix/newsnest/main/.env.example -o .env mkdir -p config data # so Docker doesn't create them as root

edit .env: set NEWSNEST_PASSWORD, and ANTHROPIC_API_KEY for AI

docker compose up -d

更新:docker compose pull && docker compose up -d。在 .env 中设置 NEWSNEST_IMAGE_TAG 可固定到某个版本,例如 0.3.1;默认是 latest。

git clone https://github.com/Lucifix/newsnest.git && cd newsnest cp .env.example .env # set NEWSNEST_PASSWORD, and ANTHROPIC_API_KEY for AI mkdir -p config data # so Docker doesn't create them as root docker compose up -d --build

更新:git pull && docker compose up -d --build

打开 http://localhost:3095,用你的密码登录,然后点「设置我的个人资料」:

首次启动时,NewsNest 会把一份入门用的 config.yaml 复制到 config/,其中包含国际新闻和技术类订阅,没有本地订阅。可在 设置 → 订阅 中修改,或直接编辑文件。每次运行都会重新读取该文件,所以无需重启。

登录使用一个共享密码,走纯 HTTP,在家庭网络中没问题。如果你要把 NewsNest 暴露到公网,请放在 HTTPS 反向代理之后。

flowchart LR A["RSS / Atom feeds<br/>GitHub releases"] --> B["Fetch &<br/>de-duplicate"] B --> C["Group the same story<br/>across outlets"] C --> D["Claude scores<br/>topic · importance · fit"] D --> E["Rank<br/>score × freshness × what you like"] E --> F(["Your feed"]) F -- "likes · opens · ratings" --> E Loading

一个 60 秒的循环会抓取到期来源、分批为新新闻打分,并为超过阈值的新闻生成要点。打分使用一个便宜的小模型,带 prompt caching;更少见的任务(草拟你的个人资料、每周建议)使用更强的模型。两者均可配置。

离开你服务器的内容:标题和摘要片段,以及为生成要点而发送的文章正文,会使用你的密钥发往 Anthropic API。你的订阅列表、评分和数据库都留在你的机器上,NewsNest 本身不发送任何遥测。

所有内容都在 config/ 文件夹中,每次运行都会重新读取:

在设置页面中的修改会写回 config.yaml,包括注释。

(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →