🎯 告别信息过载,AI 助你看懂新闻资讯热点,简单的舆情监控分析 - 多平台热点聚合+基于 MCP 的AI分析工具。监控35个平台(抖音、知乎、B站、华尔街见闻、财联社等),智能筛选+自动推送+AI对话分析(用自然语言深度挖掘新闻:趋势追踪、情感分析、相似检索等13种工具)。支持企业微信/飞书/钉钉/Telegram/邮件/ntfy推送,30秒网页部署,1分钟手机通知,无需编程。
Обзор
- 感谢** 的贡献者,你们的每一条反馈让项目更加完善😉; - 感谢** 的观众们, 你所欲也, 我所欲也,两者得兼😍是对开源精神最好的支持; - 感谢** 的读者们,你们的留言、点赞、分享和推荐等积极互动让内容更有温度😎。 - 知乎 - 抖音 - bilibili 热搜 - 华尔街见闻 - 贴吧 - 百度热搜 - 财联社热门 - 澎湃新闻 - 凤凰网 - 今日头条 - 微博 本项目的资讯数据来源于 newsnow ,你可以点击网站,点击[更多],查看是否有你想要的平台。 具体添加可访问 项目源代码,根据里面的文件名,在 config/config.yaml 文件中修改 platforms 配置: - : 设定推送时间范围(如 09:00-18:00 或 20:00-22:00),只在指定时间内推送 - : - 窗口内多次推送: 时间窗口内每次执行都推送 - 每天仅推送一次: 时间窗口内只推送一次(适合当日汇总或当前榜单模式) - : - 工作时间推送: 只在工作日 09:00-18:00 接收消息 - 晚间汇总推送: 希望在晚上固定时间(如 20:00-22:00)收到汇总 - 避免打扰: 防止非工作时间收到推送通知 提示: 此功能默认关闭,需在 config/config.yaml 中手动启用 push_window.enabled - 支持普通词、必须词(+)、过滤词(!)三种语法,见【frequency_words.txt 配置教程】 - 词组化管理,独立统计不同主题热点 在 frequency_words.txt 文件中配置监控的关键词,支持三种语法和词组功能。
README
本项目以轻量,易部署为目标
📑 快速导航
- 感谢耐心反馈 bug 的贡献者,你们的每一条反馈让项目更加完善😉;
- 感谢为项目点 star 的观众们,fork 你所欲也,star 我所欲也,两者得兼😍是对开源精神最好的支持;
- 感谢关注公众号 的读者们,你们的留言、点赞、分享和推荐等积极互动让内容更有温度😎。
✨ 核心功能
全网热点聚合
- 知乎
- 抖音
- bilibili 热搜
- 华尔街见闻
- 贴吧
- 百度热搜
- 财联社热门
- 澎湃新闻
- 凤凰网
- 今日头条
- 微博
默认监控 11 个主流平台,也可自行增加额外的平台
智能推送策略
三种推送模式:
| 模式 | 适用人群 | 推送时机 | 显示内容 | 适用场景 |
|---|---|---|---|---|
当日汇总daily |
📋 企业管理者/普通用户 | 按时推送(默认每小时推送一次) | 当日所有匹配新闻+ 新增新闻区域 | 日报总结全面了解当日热点趋势 |
当前榜单current |
📰 自媒体人/内容创作者 | 按时推送(默认每小时推送一次) | 当前榜单匹配新闻+ 新增新闻区域 | 实时热点追踪了解当前最火的内容 |
增量监控incremental |
📈 投资者/交易员 | 有新增才推送 | 新出现的匹配频率词新闻 | 避免重复信息干扰高频监控场景 |
附加功能 - 推送时间窗口控制(可选):
此功能独立于上述三种推送模式,可与任意模式搭配使用:
- 时间窗口限制: 设定推送时间范围(如 09:00-18:00 或 20:00-22:00),只在指定时间内推送
- 推送频率控制:
- 窗口内多次推送: 时间窗口内每次执行都推送
- 每天仅推送一次: 时间窗口内只推送一次(适合当日汇总或当前榜单模式)
- 典型场景:
- 工作时间推送: 只在工作日 09:00-18:00 接收消息
- 晚间汇总推送: 希望在晚上固定时间(如 20:00-22:00)收到汇总
- 避免打扰: 防止非工作时间收到推送通知
提示: 此功能默认关闭,需在
config/config.yaml中手动启用push_window.enabled
精准内容筛选
设置个人关键词(如:AI、比亚迪、教育政策),只推送相关热点,过滤无关信息
- 支持普通词、必须词(+)、过滤词(!)三种语法,见【frequency_words.txt 配置教程】
- 词组化管理,独立统计不同主题热点
也可以不做筛选,完整的推送所有热点,具体见【历史更新】中的 v2.0.1
热点趋势分析
实时追踪新闻热度变化,让你不仅知道"什么在热搜",更了解"热点如何演变"
- 时间轴追踪:记录每条新闻从首次出现到最后出现的完整时间跨度
- 热度变化:统计新闻在不同时间段的排名变化和出现频次
- 新增检测:实时识别新出现的热点话题,用🆕标记第一时间提醒
- 持续性分析:区分一次性热点话题和持续发酵的深度新闻
- 跨平台对比:同一新闻在不同平台的排名表现,看出媒体关注度差异
不再错过重要新闻的完整发展过程,从话题萌芽到高峰热议,全程掌握
个性化热点算法
不再被各个平台的算法牵着走,TrendRadar 会重新整理全网热搜:
- 看重排名高的新闻(占60%):各平台前几名的新闻优先显示
- 关注持续出现的话题(占30%):反复出现的新闻更重要
- 考虑排名质量(占10%):不仅多次出现,还经常排在前列
把分散在各个平台的热搜合并起来,按照你关心的热度重新排序,这三个比例可以选择适合自己的场景进行调整
多渠道实时推送
支持企业微信(+ 微信推送方案)、飞书、钉钉、Telegram、邮件、ntfy,消息直达手机和邮箱
多端适配
- GitHub Pages:自动生成精美网页报告,PC/移动端适配
- Docker部署:支持多架构容器化运行
- 数据持久化:HTML/TXT多格式历史记录保存
AI 智能分析(v3.0.0 新增)
基于 MCP (Model Context Protocol) 协议的 AI 对话分析系统,让你用自然语言深度挖掘新闻数据
- 对话式查询:用自然语言提问,如"查询昨天知乎的热点"、“分析比特币最近的热度趋势”
- 13 种分析工具:涵盖基础查询、智能检索、趋势分析、数据洞察、情感分析等
- 多客户端支持:Cherry Studio(GUI 配置)、Claude Desktop、Cursor、Cline 等
- 深度分析能力:
- 话题趋势追踪(热度变化、生命周期、爆火检测、趋势预测)
- 跨平台数据对比(活跃度统计、关键词共现)
- 智能摘要生成、相似新闻查找、历史关联检索
告别手动翻阅数据文件,AI 助手帮你秒懂新闻背后的故事
零技术门槛部署
GitHub 一键 Fork 即可使用,无需编程基础。
30秒部署: GitHub Pages(网页浏览)支持一键保存成图片,随时分享给他人
1分钟部署: 企业微信(手机通知)
💡 提示: 想要实时更新的网页版?fork 后,进入你的仓库 Settings → Pages,启用 GitHub Pages。效果预览。
减少 APP 依赖
从"被算法推荐绑架"变成"主动获取自己想要的信息"
适合人群: 投资者、自媒体人、企业公关、关心时事的普通用户
典型场景: 股市投资监控、品牌舆情追踪、行业动态关注、生活资讯获取
| Github Pages 效果(手机端适配、邮箱推送效果) | 飞书推送效果 |
|---|---|
📝 更新日志
升级说明:
- 提示:不要通过 Sync fork 更新本项目, 建议查看【历史更新】,明确具体的【升级方式】和【功能内容】
- 小版本更新:从 v2.x 升级到 v2.y, 用本项目的
main.py代码替换你 fork 仓库中的对应文件 - 大版本升级:从 v1.x 升级到 v2.y, 建议删除现有 fork 后重新 fork,这样更省力且避免配置冲突
2025/11/12 - v3.0.5
- 修复邮件发送 SSL/TLS 端口配置逻辑错误
- 优化邮箱服务商(QQ/163/126)默认使用 465 端口(SSL)
- 新增 Docker 环境变量支持:核心配置项(
enable_crawler、report_mode、push_window等)支持通过环境变量覆盖,解决 NAS 用户修改配置文件不生效的问题(详见 🐳 Docker 部署 章节)
2025/10/26 - mcp-v1.0.1
MCP 模块更新:
- 修复日期查询参数传递错误
- 统一所有工具的时间参数格式
🚀 快速开始
配置完成后,新闻数据一小时后才会更新,如想加快,可参照【第4步】手动测试配置效果
-
Fork 本项目到你的 GitHub 账户
- 点击本页面右上角的"Fork"按钮
-
设置 GitHub Secrets(选择你需要的平台):
在你 Fork 后的仓库中,进入
Settings>Secrets and variables>Actions>New repository secret,然后根据需要配置以下任一或多个通知平台:可以同时配置多个平台,系统会向所有配置的平台发送通知。
效果类似下图,一个 name 对应一个 secret,保存完就行,你重新编辑看不到 secret 是正常情况。
推荐选择:
用户类型 推荐方案 理由 普通用户 方式一(免费) 简单快速,够用 技术用户 方式二(自托管) 完全控制,无限制 高频用户 方式三(付费) 这个自己去官网看吧 相关链接:
-
配置说明::
- 推送设置:在 config/config.yaml 中配置推送模式和通知选项
- 关键词设置:在 config/frequency_words.txt 中添加你关心的关键词
- 推送频率调整:在 .github/workflows/crawler.yml 请谨慎调整,别贪心
注意:建议只调整文档中明确说明的配置项,其他选项主要供作者开发时测试使用
-
手动测试新闻推送:
我这里是拿我的项目举例,你要去你fork的项目做测试
- 进入 Actions:https://github.com/sansan0/TrendRadar/actions
- 找到 “Hot News Crawler” 的点进去,如果看不到该字样,那么参照#109解决
- 点击 “Run workflow” 按钮运行,等待 1 分钟左右数据到你手机上
🐳 Docker 部署
方式一:快速体验(一行命令)
Linux/macOS 系统:
# 创建配置目录并下载配置文件
mkdir -p config output
wget https://raw.githubusercontent.com/sansan0/TrendRadar/master/config/config.yaml -P config/
wget https://raw.githubusercontent.com/sansan0/TrendRadar/master/config/frequency_words.txt -P config/
或者手动创建:
- 在当前目录创建
config文件夹 - 下载配置文件:
- 访问 https://raw.githubusercontent.com/sansan0/TrendRadar/master/config/config.yaml → 右键"另存为" → 保存到
config\config.yaml - 访问 https://raw.githubusercontent.com/sansan0/TrendRadar/master/config/frequency_words.txt → 右键"另存为" → 保存到
config\frequency_words.txt
- 访问 https://raw.githubusercontent.com/sansan0/TrendRadar/master/config/config.yaml → 右键"另存为" → 保存到
完成后的目录结构应该是:
当前目录/
└── config/
├── config.yaml
└── frequency_words.txt
docker run -d --name trend-radar \
-v ./config:/app/config:ro \
-v ./output:/app/output \
-e FEISHU_WEBHOOK_URL="你的飞书webhook" \
-e DINGTALK_WEBHOOK_URL="你的钉钉webhook" \
-e WEWORK_WEBHOOK_URL="你的企业微信webhook" \
-e TELEGRAM_BOT_TOKEN="你的telegram_bot_token" \
-e TELEGRAM_CHAT_ID="你的telegram_chat_id" \
-e EMAIL_FROM="你的发件邮箱" \
-e EMAIL_PASSWORD="你的邮箱密码或授权码" \
-e EMAIL_TO="收件人邮箱" \
-e CRON_SCHEDULE="*/30 * * * *" \
-e RUN_MODE="cron" \
-e IMMEDIATE_RUN="true" \
wantcat/trendradar:latest
方式二:使用 docker-compose(推荐)
- 创建项目目录和配置:
# 创建目录结构 mkdir -p trendradar/{config,docker} cd trendradar # 下载配置文件模板 wget https://raw.githubusercontent.com/sansan0/TrendRadar/master/config/config.yaml -P config/ wget https://raw.githubusercontent.com/sansan0/TrendRadar/master/config/frequency_words.txt -P config/ # 下载 docker-compose 配置 wget https://raw.githubusercontent.com/sansan0/TrendRadar/master/docker/.env wget https://raw.githubusercontent.com/sansan0/TrendRadar/master/docker/docker-compose.yml
完成后的目录结构应该是:
当前目录/
├── config/
│ ├── config.yaml
│ └── frequency_words.txt
└── docker/
├── .env
└── docker-compose.yml
-
配置文件说明:
config/config.yaml- 应用主配置(报告模式、推送设置等)config/frequency_words.txt- 关键词配置(设置你关心的热点词汇).env- 环境变量配置(webhook URLs 和定时任务)
⚙️ 环境变量覆盖机制(v3.0.5+)
如果你在 NAS 或其他 Docker 环境中遇到修改
config.yaml后配置不生效的问题,可以通过环境变量直接覆盖配置:环境变量 对应配置 示例值 说明 ENABLE_CRAWLERcrawler.enable_crawlertrue/false是否启用爬虫 ENABLE_NOTIFICATIONnotification.enable_notificationtrue/false是否启用通知 REPORT_MODEreport.modeall/filtered报告模式 PUSH_WINDOW_ENABLEDnotification.push_window.enabledtrue/false推送时间窗口开关 PUSH_WINDOW_STARTnotification.push_window.time_range.start08:00推送开始时间 PUSH_WINDOW_ENDnotification.push_window.time_range.end22:00推送结束时间 FEISHU_WEBHOOK_URLnotification.webhooks.feishu_urlhttps://...飞书 Webhook 配置优先级:环境变量 > config.yaml
使用方法:
- 修改
.env文件,取消注释并填写需要的配置 - 或在 NAS/群晖 Docker 管理界面的"环境变量"中直接添加
- 重启容器后生效:
docker-compose restart
验证配置:
docker logs trend-radar | grep "配置来源\|来源:"输出示例:
爬虫状态: 已启用 (来源: 环境变量) 报告模式: filtered (来源: 环境变量) 通知渠道配置来源: 飞书(环境变量), 邮件(配置文件) -
启动服务:
# 拉取最新镜像并启动 docker-compose pull docker-compose up -d -
查看运行状态:
# 查看日志 docker logs -f trend-radar # 查看容器状态 docker ps | grep trend-radar
方式三:本地构建(开发者选项)
如果需要自定义修改代码或构建自己的镜像:
# 克隆项目
git clone https://github.com/sansan0/TrendRadar.git
cd TrendRadar
# 修改配置文件
vim config/config.yaml
vim config/frequency_words.txt
# 使用构建版本的 docker-compose
cd docker
cp docker-compose-build.yml docker-compose.yml
# 构建并启动
docker-compose build
docker-compose up -d
镜像更新
# 方式一:手动更新
docker pull wantcat/trendradar:latest
docker-compose down
docker-compose up -d
# 方式二:使用 docker-compose 更新
docker-compose pull
docker-compose up -d
服务管理命令
# 查看运行状态
docker exec -it trend-radar python manage.py status
# 手动执行一次爬虫
docker exec -it trend-radar python manage.py run
# 查看实时日志
docker exec -it trend-radar python manage.py logs
# 显示当前配置
docker exec -it trend-radar python manage.py config
# 显示输出文件
docker exec -it trend-radar python manage.py files
# 查看帮助信息
docker exec -it trend-radar python manage.py help
# 重启容器
docker restart trend-radar
# 停止容器
docker stop trend-radar
# 删除容器(保留数据)
docker rm trend-radar
数据持久化
生成的报告和数据默认保存在 ./output 目录下,即使容器重启或删除,数据也会保留。
故障排查
# 检查容器状态
docker inspect trend-radar
# 查看容器日志
docker logs --tail 100 trend-radar
# 进入容器调试
docker exec -it trend-radar /bin/bash
# 验证配置文件
docker exec -it trend-radar ls -la /app/config/
🤖 AI 智能分析部署
TrendRadar v3.0.0 新增了基于 MCP (Model Context Protocol) 的 AI 分析功能,让你可以通过自然语言与新闻数据对话,进行深度分析。使用 AI 功能 的最佳前提是已使用本项目至少运行一天(积累新闻数据)
1. 快速部署
Cherry Studio 提供 GUI 配置界面, 5 分钟快速部署, 复杂的部分是一键安装的。
图文部署教程:现已更新到我的公众号,回复 “mcp” 即可
详细部署教程:README-Cherry-Studio.md
2. 学习与 AI 对话的姿势
详细对话教程:README-MCP-FAQ.md
提问效果:
实际不建议一次性问多个问题。如果你选择的 ai 模型连下图的按顺序调用都无法做到,建议换一个。
🔌 MCP 客户端
TrendRadar MCP 服务支持标准的 Model Context Protocol (MCP) 协议,可以接入各种支持 MCP 的 AI 客户端进行智能分析。
支持的客户端
注意事项:
- 将
/path/to/TrendRadar替换为你的项目实际路径 - Windows 路径使用双反斜杠:
C:\\Users\\YourName\\TrendRadar - 保存后记得重启
☕问题答疑与1元点赞
心意到就行,收到的点赞用于提高开发者开源的积极性。点赞已收录于致谢名单
提问或者留言前,建议先搜索已有的 issues 列表,或者浏览微信公众号文章留言区(找评论超过 10 的与本项目有关的文章)。
- GitHub Issues:适合针对性强的解答。提问时请提供完整信息(截图、错误日志、系统环境等)。
- 公众号交流:适合快速咨询。建议优先在相关文章下的公共留言区交流,如私信,请文明礼貌用语😉
| 公众号关注 | 微信点赞 | 支付宝点赞 |
|---|---|---|
常见问题
项目相关
4 篇文章:
- 可在该文章下方留言,方便项目作者用手机答疑
- 2个月破 1000 star,我的GitHub项目推广实战经验
- github fork 运行本项目的注意事项
- 基于本项目,如何开展公众号或者新闻资讯类文章写作
AI 开发:
- 如果你有小众需求,完全可以基于我的项目自行开发,零编程基础的也可以试试
- 我所有的开源项目或多或少都使用了自己写的AI辅助软件来提升开发效率,这款工具已开源
- 核心功能:迅速筛选项目代码喂给AI,你只需要补充个人需求即可
- 项目地址:https://github.com/sansan0/ai-code-context-helper
其余项目
📍 毛主席足迹地图 - 交互式动态展示1893-1976年完整轨迹。欢迎诸位同志贡献数据
哔哩哔哩(bilibili)评论区数据可视化分析软件
本项目流程图
flowchart TD
A[👤 用户开始] --> B{🚀 选择部署方式}
B -->|云端部署| C1[🍴 Fork 项目到 GitHub]
B -->|本地部署| C2[🐳 Docker 部署]
C1 --> D[⚙️ 配置通知渠道可同时配置多个]
C2 --> D
D --> E[选择通知方式:📱企业微信 💬飞书 🔔钉钉📟Telegram 📧邮件]
E --> F[🔑 填写通知参数GitHub Secrets 或环境变量]
F --> G[📝 配置关键词config/frequency_words.txt普通词/必须词+/过滤词!]
G --> H[🎯 选择运行模式config/config.yaml]
H --> H1[📋 daily - 当日汇总定时推送所有匹配新闻]
H --> H2[📰 current - 当前榜单定时推送最新榜单]
H --> H3[📈 incremental - 增量监控仅推送新增内容]
H1 --> I[可选:推送时间窗口控制⏰ 限制推送时间范围]
H2 --> I
H3 --> I
I --> J[✅ 配置完成]
J --> K[🤖 系统自动运行]
K --> L[🕷️ 爬取11+平台热点]
L --> M[🔍 关键词筛选]
M --> N[⚖️ 权重算法排序排名60% + 频次30% + 热度10%]
N --> O[📊 生成报告HTML网页 + 推送消息]
O --> P[📱 多渠道推送通知]
P --> Q[🎉 持续接收精准推送告别信息过载]
style A fill:#e3f2fd
style B fill:#f3e5f5
style D fill:#fff3e0
style F fill:#fff9c4
style G fill:#e8f5e9
style H fill:#e0f2f1
style I fill:#fce4ec
style O fill:#e1bee7
style Q fill:#c8e6c9
📄 许可证
GPL-3.0 License
Установка
docker run -d \Конфигурация
{
"mcpServers": {
"trendradar": {
"command": "uv",
"args": [
"--directory",
"/path/to/TrendRadar",
"run",
"python",
"-m",
"mcp_server.server"
],
"env": {},
"disabled": false,
"alwaysAllow": []
}
}
}