背景
每天打开手机,微博热搜、知乎热榜、抖音热点、今日头条轮番刷一遍,两个小时过去,真正有用的信息可能就三五条。剩下的是震惊体标题党、营销软文、明星八卦,以及算法硬塞给你的”你可能感兴趣”。平台算法绑架了注意力,想看的内容找不到,不想看的铺天盖地。
TrendRadar 解决的正是这个问题:聚合全网热点,按你设定的关键词筛选,定时推送到手机,还能让 AI 分析热点背后的趋势和情绪。从被动接收算法推荐,变成主动获取关心的内容。
TrendRadar 是什么
TrendRadar 是一个开源的热点新闻聚合分析工具。核心思路是把全网 50+ 个平台的热榜抓过来,按你设定的关键词过滤,把真正关心的内容推给你。推送渠道覆盖飞书、钉钉、企业微信、Telegram、邮件、Bark(iOS)、Slack,甚至自定义 Webhook。
它内置了 AI 分析功能,不只是聚合热点,还能分析热点趋势走向、判断舆论情绪(正面/负面/争议)、做跨平台关联分析、生成洞察报告。相当于雇了一个私人新闻助理,每天从海量信息中提炼出有价值的内容。
数据来源
TrendRadar 的数据来自另一个开源项目 NewsNow,后者聚合了全网 50+ 个平台的热榜数据:
| 国内综合 | 科技平台 | 金融平台 | 国际媒体 |
|---|---|---|---|
| 知乎、微博 | IT之家、36氪 | 华尔街见闻 | Hacker News |
| 百度热搜 | 稀土掘金 | 财联社 | GitHub Trending |
| 抖音、今日头条 | V2EX | 雪球 | Product Hunt |
| 澎湃新闻、凤凰网 | 酷安 | 金十数据 | 联合早报 |
| 虎扑、贴吧 | 少数派 | 格隆汇 | 卫星通讯社 |
NewsNow 通过调用各平台的官方 API 或爬取页面获取热榜数据,统一输出成标准格式。TrendRadar 直接调用 NewsNow 的公开 API:
1 | https://newsnow.busiyi.world/api/s?id=zhihu&latest |
返回的数据格式如下:
1 | { |
这个设计让 TrendRadar 不需要自己去处理各平台的反爬机制,数据源维护由 NewsNow 项目负责。某个平台接口变了,NewsNow 更新一下就行,TrendRadar 用户不用操心。
核心功能
关键词筛选
这是 TrendRadar 最核心的功能。在 frequency_words.txt 里写上关心的关键词,系统就只推送包含这些词的新闻。语法比较灵活,支持分组命名、正则匹配、排除词、限制条数、多词同时包含等:
1 | # 最简单的:直接写关键词 |
AI 智能筛选
如果不想自己写关键词,可以用自然语言描述关注的方向。在 ai_interests.txt 里写:
1 | 下面是我要关注的内容: |
AI 会自动理解你的兴趣,给每条新闻打分,只推送高相关度的内容。这个功能需要配置 AI API(支持 DeepSeek、OpenAI、Gemini 等)。
三种推送模式
| 模式 | 说明 | 适用人群 |
|---|---|---|
| daily(当日汇总) | 每天定时推送当天所有匹配新闻 | 企业管理者、普通用户 |
| current(当前榜单) | 每次推送当前榜单匹配新闻 | 自媒体人、内容创作者 |
| incremental(增量监控) | 只推送新出现的内容,零重复 | 投资者、交易员 |
举个例子:你监控”特斯拉”,每小时执行一次。选择 incremental 模式的话,只有第一次出现的新闻才会推送,后续重复出现的不再打扰。这个模式适合高频监控场景。
调度系统
可以精细控制什么时间做什么事。工作日早上9点速览、中午看热点、晚上7点汇总;周末睡到自然醒,10点开始推送,有新增就推。预设了 5 种模板:always_on(全天候)、morning_evening(早晚汇总)、office_hours(办公时间)、night_owl(夜猫子)、custom(完全自定义)。
AI 分析推送
开启后每次推送都会附带一份 AI 生成的洞察报告,包含核心热点态势、舆论风向争议、异动与弱信号、研判策略建议。AI 还能分析每条新闻的排名变化轨迹、热度持续时间、跨平台表现。比如某条新闻在微博排第3,知乎排第5,抖音排第8,AI 能告诉你这个话题的全网热度分布。
MCP 智能分析
TrendRadar 实现了 MCP (Model Context Protocol) 协议,可以接入 Claude Desktop、Cherry Studio、Cursor 等 AI 客户端,用自然语言跟新闻数据对话:
1 | "分析过去一周 DeepSeek 的热度变化" |
AI 会自动调用 TrendRadar 的 21 个分析工具,做深度数据挖掘。这个功能对深度用户很有价值,普通用户用关键词筛选加推送就够了。
部署方式
GitHub Actions(零服务器)
适合没有服务器的用户。Fork TrendRadar 仓库到自己 GitHub,配置 GitHub Secrets(填推送渠道的 webhook URL),GitHub Actions 定时运行自动抓取并推送。缺点是每次运行完环境就销毁,数据没法本地存,需要配置云存储(如 Cloudflare R2)来持久化数据。
Docker(推荐)
适合有服务器、NAS 或长期运行电脑的用户。数据本地存储,更稳定:
1 | # 克隆项目 |
Docker 部署还有一个好处:可以同时跑两个容器,一个做新闻推送,一个做 MCP AI 分析服务。
本地运行
Windows/Mac/Linux 直接跑:
1 | # Windows |
配置要点
config.yaml 主配置
核心配置文件结构如下:
1 | app: |
关键词配置技巧
从宽到严,逐步调整。 刚开始写宽泛的关键词,观察几天后再加过滤词:
1 | # 第一版:先测试 |
正则表达式精确匹配英文。 英文容易误匹配,比如 ai 会匹配到 training 里的 ai。用正则解决:
1 | # 精确匹配独立单词 |
不会写正则的话,直接让 AI 帮你生成。
全局过滤不想看的内容。 有些内容不管什么关键词都不想看,用 [GLOBAL_FILTER]:
1 | [GLOBAL_FILTER] |
推送渠道配置
企业微信最简单:进入目标群聊,点击右上角,选择群机器人,添加机器人,复制 Webhook URL,填入配置即可。
飞书需要访问 botbuilder.feishu.cn 新建机器人指令,选择 Webhook 触发,复制 URL,然后配置参数模板。
Telegram 需要两个配置:bot_token 和 chat_id。在 Telegram 搜索 @BotFather 创建机器人获取 Token,向机器人发消息后调用 getUpdates 接口获取 chat.id。
邮件支持 Gmail、QQ邮箱、163、Outlook 等。QQ邮箱需要用授权码(不是密码),在邮箱设置里开启 SMTP 服务后生成。
实际使用体验
我部署了一套配置,关键词设为 AI、DeepSeek、华为、特斯拉、芯片、大模型。推送模式选 incremental,调度选 morning_evening。
早上 9 点收到推送,包含昨晚到今早新出现的 15 条相关热点。AI 分析报告附在最后,内容是”AI 领域今天舆论偏正面,DeepSeek 新模型发布引发热议,华为鸿蒙讨论度上升”。晚上 8 点收到当日汇总,包含全天所有匹配新闻(去重后约 30 条),AI 给了一份更完整的趋势分析,包括哪些话题持续在榜、哪些是新爆发点。
用了两周之后,最明显的变化是不用刷 APP 了。之前每天刷微博知乎抖音至少两小时,现在 5 分钟看完推送就行。信息密度也高了很多,一条推送包含 11 个平台的热点,跨平台对比一目了然。AI 分析确实有价值,不是简单的汇总,而是告诉你趋势、情绪、关联。比如”特斯拉降价”这个话题,AI 能分析出微博讨论偏负面(吐槽割韭菜),知乎讨论偏中性(分析影响),抖音讨论偏正面(喊降价真香)。
踩过几个坑值得分享。关键词不要太多,我刚开始写了 30 多个,结果每次推送 100 多条,信息过载。后来精简到 6 个核心关键词,效果明显改善。AI 分析有成本,默认模型是 DeepSeek,按官方估算每小时推送一次每天约 0.1 元,如果想省钱可以把 max_news_for_analysis 从 150 降到 50。GitHub Actions 有延迟,定时任务触发时间不稳定,可能有 ±15 分钟偏差,需要精准推送的话建议用 Docker 部署到自己的服务器。
MCP 进阶用法
MCP 功能适合想深度挖掘新闻数据的用户。以 Cherry Studio 为例(有 GUI,配置简单),先运行 TrendRadar 的 MCP 服务:
1 | # Windows |
然后在 Cherry Studio 设置里添加 MCP 服务器,类型选 streamableHttp,URL 填 http://127.0.0.1:3333/mcp,就可以开始对话了。
MCP 支持的操作包括趋势分析(”分析最近 7 天 DeepSeek 的热度变化”,AI 会调用 analyze_topic_trend 返回首次出现时间、排名变化曲线、热度峰值、趋势预测)、平台对比(”对比知乎和微博今天关于 AI 的讨论差异”,AI 对比两个平台的热点分布和情绪倾向)、情感分析(”分析特斯拉最近新闻的情感倾向”,返回正面/负面/中性分布)、生成报告并推送(”写一份今天的科技热点摘要,推送到飞书”,AI 自动处理格式转换)。
总共 21 个工具,覆盖从查询到分析到推送的全流程:
| 分类 | 工具 | 功能 |
|---|---|---|
| 基础 | get_latest_news | 获取最新新闻 |
| get_news_by_date | 按日期查询 | |
| get_trending_topics | 热点统计 | |
| RSS | get_latest_rss | RSS 内容 |
| search_rss | RSS 搜索 | |
| 搜索 | search_news | 统一搜索 |
| find_related_news | 相似新闻 | |
| 分析 | analyze_topic_trend | 趋势分析 |
| analyze_sentiment | 情感分析 | |
| aggregate_news | 跨平台聚合 | |
| compare_periods | 时期对比 | |
| generate_summary_report | 生成报告 | |
| 通知 | send_notification | 推送消息 |
| 文章 | read_article | 读取正文 |
数据存储
TrendRadar 的数据存储在 SQLite 数据库,按日期分库:
1 | output/ |
数据库有三张核心表:news_items 存储新闻条目(标题、URL、排名),rank_history 记录排名变化历史(每次抓取的排名),crawl_records 记录抓取时间和数量。这样设计的好处是可以追踪热度变化轨迹,某条新闻早上排第 5,中午排第 3,晚上掉到第 10,这些变化都会被记录下来供 AI 分析。
方案对比
| 工具 | TrendRadar | RSS 阅读器 | 热榜网站 |
|---|---|---|---|
| 数据源 | 50+ 平台热榜 | RSS 订阅源 | 单一或少量平台 |
| 筛选方式 | 关键词+AI | 手动订阅 | 无筛选 |
| 推送 | 多渠道 | 需额外工具 | 无推送 |
| AI 分析 | 内置 | 无 | 无 |
| 趋势追踪 | 有 | 无 | 无 |
| 部署复杂度 | 中 | 低 | 无需部署 |
TrendRadar 的定位很清晰:它不是 RSS 阅读器的替代品,而是面向”想看热点但不想被算法控制”这个场景的解决方案。RSS 阅读器适合订阅特定博客和信息源,热榜网站适合快速浏览当日热点,但两者都没有关键词筛选、AI 分析和多渠道推送的能力。如果你需要的是精准获取特定领域的热点信息,TrendRadar 是目前最完整的开源方案。
项目地址
- GitHub:https://github.com/sansan0/TrendRadar
- 可视化配置编辑器:https://sansan0.github.io/TrendRadar/
- NewsNow 数据源:https://github.com/ourongxing/newsnow
项目维护活跃,版本迭代快(从 v1.0 到 v6.7),文档详细,GitHub Issues 回复及时。