一句话总结
TrendRadar 是一款 ⭐61K、Fork 24K 的开源 AI 舆情监控工具——最快 30 秒部署,聚合 20+ 平台热点 + RSS,AI 智能翻译/筛选/分析,支持飞书/微信/钉钉/Telegram 等 9 大渠道推送,还内置 MCP 协议让 AI 直接跟你聊新闻。
为什么你需要 TrendRadar?
每天早上打开手机,微博热搜、知乎热榜、百度风云榜、今日头条……信息像洪水一样涌来。你想关注「AI」「新能源」「股市」这几个方向,但要在十几个平台之间来回切换、手动筛选——这根本不是获取信息,是被信息淹没。
TrendRadar 解决的就是这个问题:
- 🎯 只看你关心的:配置几个关键词,全平台自动筛选匹配的新闻
- 📊 AI 帮你读:不用逐条翻,AI 自动总结热点趋势、情感倾向、跨平台关联
- 📱 推送到你手边:飞书/微信/钉钉/Telegram/邮件/Bark…… 9 种渠道任选
- ⚡ 30 秒部署:Docker 一键启动,GitHub Actions 免费托管,零运维负担
一个典型场景:每天早上 9 点,飞书自动推送一条消息——“今天 AI 领域 3 条热点:OpenAI 发布新模型(微博热搜第1)、AI 芯片概念股暴涨(头条热榜第3)……” 附带 AI 写的简短分析。你花 30 秒读完,信息尽在掌握。
部署前 vs 部署后
每天手动刷十几个平台找热点,vs 坐等 AI 帮你筛选好推送到手边:
| 部署前 😵 | 部署后 😎 |
|---|---|
![]() | ![]() |
TrendRadar 是怎么工作的?

TrendRadar 本质上是一个定时数据管道,架构非常清晰:
多平台数据源 (newsnow API / RSS)
│
▼
关键词匹配引擎 (正则/分组/别名)
│
├──▶ 热榜新闻 (按关键词分组)
├──▶ RSS 订阅 (按源分组)
├──▶ 新增热点 (增量标记 🆕)
└──▶ 独立展示区 (完整热榜, 不过滤)
│
▼
AI 处理层 (LiteLLM 统一接口)
│
├──▶ AI 智能筛选 (自然语言→标签→打分)
├──▶ AI 多语言翻译 (批量处理)
└──▶ AI 深度分析 (趋势/情感/关联)
│
▼
多渠道推送 (飞书/微信/钉钉/Telegram/邮件/ntfy/Bark/Slack/Webhook)
│
▼
数据存储 (本地 SQLite / 远程 S3 Cloudflare R2)
核心技术栈:
| 组件 | 技术 | 说明 |
|---|---|---|
| 数据源 | newsnow API + RSS/Atom | 覆盖 20+ 中文主流平台 |
| 调度引擎 | APScheduler + timeline.yaml | 支持工作日/周末差异化调度 |
| AI 层 | LiteLLM (100+ 提供商) | DeepSeek/OpenAI/Gemini 统一接口 |
| 存储 | SQLite (本地) / S3 (远程) | GitHub Actions 用 R2 免费额度 |
| 推送 | Webhook + Bot API | 9 大渠道,支持多账号 |
| 报告 | HTML 网页 + Markdown 导出 | 暗色模式、Tab 切换、快捷键 |
| AI 对话 | MCP 协议 (v4.1.0) | 21 个工具,自然语言查询分析 |
安装指南(三种方式)
TrendRadar 支持三种部署方式,从简单到进阶,按需选择。
方式一:GitHub Actions(最快,免费)
整个部署流程只需几分钟,不需要自己的服务器。
第 1 步:Fork 仓库
打开 github.com/SANSAN0/TRENDRADAR,点击右上角 Fork 按钮。
第 2 步:配置关键词
在你自己 fork 的仓库中,编辑 config/frequency_words.txt:
# 格式:每行一组关键词,英文逗号分隔
AI, ChatGPT, 人工智能, 大模型
新能源, 电池, 光伏, 储能
A股, 股市, 基金, 量化
# 高级语法:分组别名
[科技热词]
AI, ChatGPT, Claude, DeepSeek
# 正则表达式
/\bAI\b.*芯片/ => AI芯片相关
第 3 步:配置推送渠道(GitHub Secrets)
在仓库 Settings → Secrets and variables → Actions → Secrets 中添加:
| Secret 名称 | 值(示例) | 说明 |
|---|---|---|
FEISHU_WEBHOOK_URL | https://open.feishu.cn/open-apis/bot/v2/hook/xxx | 飞书机器人 Webhook |
DINGTALK_WEBHOOK_URL | https://oapi.dingtalk.com/robot/send?access_token=xxx | 钉钉机器人 |
TELEGRAM_BOT_TOKEN | 123456:ABC-DEF1234gh | Telegram Bot Token |
TELEGRAM_CHAT_ID | -1001234567890 | Telegram Chat ID |
💡 飞书配置最简教程:飞书群 → 设置 → 群机器人 → 添加自定义机器人 → 复制 Webhook URL。
第 4 步:启用 GitHub Actions
- 进入 Actions 标签页
- 点击 “I understand my workflows, go ahead and enable them”
- 手动触发一次
Crawlerworkflow 测试
第 5 步(GitHub Actions 专属):配置远程存储
因为 GitHub Actions 每次运行完会销毁环境,需要用 Cloudflare R2 存储数据:
- 注册 Cloudflare,开通 R2
- 创建存储桶,获取 Access Key 和 Secret
- 在 GitHub Secrets 中添加:
STORAGE_BACKEND = remote
S3_BUCKET_NAME = your-bucket
S3_ACCESS_KEY_ID = xxx
S3_SECRET_ACCESS_KEY = xxx
S3_ENDPOINT_URL = https://xxx.r2.cloudflarestorage.com
R2 每月有 10GB 免费存储 + 100 万次读取,个人使用完全够。

✅ 完成! 默认每小时运行一次,你配置的渠道将收到热点推送。
💡 部署成果预览:推送的报告可以通过 GitHub Pages 在线查看,支持暗色模式、关键词搜索和 Tab 切换。
方式二:Docker 部署(推荐,功能最全)
有 NAS、云服务器或闲置电脑?Docker 部署功能最完整,支持 Web 报告查看和 MCP AI 分析。
第 1 步:克隆项目
git clone https://github.com/sansan0/TrendRadar.git
cd TrendRadar
第 2 步:配置核心文件
两个必须编辑的文件:
config/config.yaml — 核心功能开关(平台启用、推送模式、AI 分析):
# 启用的平台(示例)
platforms:
weibo: true # 微博
zhihu: true # 知乎
baidu: true # 百度
toutiao: true # 今日头条
# ... 还有 20+ 平台可选
# 推送模式
report:
mode: "daily" # daily=当日汇总 / current=当前榜单 / incremental=增量
# AI 分析(可选,需要 API Key)
ai:
enabled: true
model: "deepseek/deepseek-chat"
api_key: "sk-xxx" # 或通过环境变量 AI_API_KEY 设置
config/frequency_words.txt — 你关注的关键词(同上)。
第 3 步:配置推送渠道(docker/.env)
编辑 docker/.env:
# === 推送渠道 ===
FEISHU_WEBHOOK_URL=https://open.feishu.cn/open-apis/bot/v2/hook/xxx
DINGTALK_WEBHOOK_URL=https://oapi.dingtalk.com/robot/send?access_token=xxx
TELEGRAM_BOT_TOKEN=123456:ABC-DEF1234gh
TELEGRAM_CHAT_ID=-1001234567890
# === AI 分析(可选) ===
AI_ANALYSIS_ENABLED=true
AI_API_KEY=sk-xxx
AI_MODEL=deepseek/deepseek-chat
# === 时区 ===
TZ=Asia/Shanghai
⚠️ 安全提醒:
.env文件不会被 Git 追踪,敏感信息不会泄露到公开仓库。
第 4 步:启动服务
cd docker
# 拉取最新镜像
docker compose pull
# 启动(如果只需要推送,不需要 MCP)
docker compose up -d trendradar
# 或者启动全部服务(推送 + MCP AI 分析)
docker compose up -d
第 5 步:验证运行
# 查看日志
docker logs -f trendradar
# 手动执行一次抓取
docker exec -it trendradar python manage.py run
# 启动 Web 报告服务器
docker exec -it trendradar python manage.py start_webserver
# 然后浏览器访问 http://localhost:8080
Docker 服务管理速查:
docker compose stop trendradar # 停止
docker compose start trendradar # 启动
docker compose restart trendradar # 重启
docker compose pull && docker compose up -d # 更新镜像
方式三:本地 Python 部署(开发者)
适合二次开发或深度定制。
# 1. 克隆项目
git clone https://github.com/sansan0/TrendRadar.git
cd TrendRadar
# 2. 安装依赖
pip install -r requirements.txt
# 3. 配置(同上,编辑 config/config.yaml 和 config/frequency_words.txt)
# 4. 运行
python -m trendradar
核心功能详解
1. 关键词配置:灵活到令人发指
TrendRadar 的关键词系统支持多种语法:
# 基础:逗号分隔(OR 关系)
AI, 人工智能, 大模型
# 分组:方括号定义组名
[科技动态]
AI, ChatGPT, DeepSeek, Claude
[金融投资]
A股, 股市, 量化, 基金
# 正则表达式
/\bAI\b.*芯片/ => AI芯片相关
/dispatch_.*event/ => 调度事件
# 注释
# 这是注释行,不会被解析
AI 智能筛选(v6.5.0+):不想写关键词?在 config/ai_interests.txt 里用日常语言描述你关注的领域就行:
我想看 AI 和新能源相关的新闻,特别是涉及政策变化和产品发布的
关注中国股市、房地产和宏观经济政策
AI 会自动提取标签,对每条新闻打分,只推送真正相关的内容。

2. 推送渠道:9 种方式直达你
| 渠道 | 配置方式 | 适合场景 |
|---|---|---|
| 🟢 飞书 | Webhook URL | 团队协作 |
| 🟢 企业微信 | Webhook URL | 公司办公 |
| 🟢 个人微信 | 公众号推送 | 个人日常 |
| 🟢 钉钉 | Webhook URL | 企业办公 |
| 🔵 Telegram | Bot Token + Chat ID | 海外用户 |
| 📧 邮件 | SMTP 配置 | 日报汇总 |
| 📱 Bark (iOS) | Key URL | iPhone 推送 |
| 🔔 ntfy | Topic URL | 自建通知 |
| 💬 Slack | Webhook | 团队协作 |
| 🔗 通用 Webhook | 自定义 JSON | 任意平台 |
以下是飞书和企业微信的实际推送效果:
| 飞书推送效果 | 企业微信推送效果 |
|---|---|
![]() | ![]() |
多账号推送:用 ; 分隔多个地址即可。比如给 3 个飞书群同时推送:
FEISHU_WEBHOOK_URL=https://hook1...;https://hook2...;https://hook3...
3. 推送模式:三种策略按需选
| 模式 | 行为 | 适合 |
|---|---|---|
daily | 累积当天所有匹配新闻 | 日报汇总 |
current | 只展示当前榜单的新闻 | 定时快照 |
incremental | 只推送新出现的新闻 | 高频监控、避免重复打扰 |
4. AI 智能分析:让 AI 帮你读新闻
开启 AI 分析后,每次推送末尾会附上 AI 撰写的洞察报告:
- 📊 核心热点态势:当前最受关注的话题排名
- 🗣️ 舆论风向争议:情感倾向判断(正面/负面/争议)
- 🔍 异动与弱信号:正在上升的新话题预警
- 💡 研判策略建议:基于趋势的简要建议

支持的 AI 模型(基于 LiteLLM,100+ 提供商):
# DeepSeek(推荐,性价比最高)
ai:
model: "deepseek/deepseek-chat"
# OpenAI
ai:
model: "openai/gpt-4o"
# Google Gemini
ai:
model: "gemini/gemini-1.5-flash"
# 自定义 API(OneAPI / 本地模型)
ai:
model: "openai/your-model"
api_base: "https://your-api.com/v1"
5. MCP 协议:用自然语言对话新闻数据
这是 TrendRadar 最亮眼的功能之一。通过 MCP (Model Context Protocol),你可以让 Claude、ChatGPT、Cursor 等 AI 客户端直接查询和分析你的新闻数据。

21 个 MCP 工具,覆盖:
- 📥 基础查询:
get_latest_news、get_news_by_date、get_trending_topics - 🔍 智能检索:
search_news(正则支持)、find_related_news - 📊 高级分析:
analyze_topic_trend、analyze_sentiment、compare_periods - 📰 RSS 查询:
get_latest_rss、search_rss - ⚙️ 系统管理:
get_current_config、get_system_status
配置示例(Cursor):
在项目根目录创建 .cursor/mcp.json:
{
"mcpServers": {
"trendradar": {
"command": "uv",
"args": [
"--directory", "/path/to/TrendRadar",
"run", "python", "-m", "mcp_server.server"
]
}
}
}
然后直接在 Cursor 聊天框里问:“分析最近 7 天特斯拉的热度变化趋势”、“今天有什么关于 AI 的负面新闻?“
6. 调度系统:精准控制推送节奏
v6.0.0 引入的 timeline.yaml 系统让时间控制非常灵活:
5 种预设模板:
| 模板 | 行为 |
|---|---|
always_on | 全天候有新增就推 |
morning_evening | 全天增量 + 晚间汇总 |
office_hours | 工作日三段式(到岗→午间→收工) |
night_owl | 午后速览 + 深夜汇总 |
custom | 完全自定义时间段 |
# config.yaml
schedule:
enabled: true
preset: "morning_evening" # 改这一行就行
项目还内置了可视化配置编辑器,在浏览器中通过时间线拖拽即可完成调度配置,无需手写 YAML:

实际场景案例
场景一:自媒体人的热点雷达
小王是科技自媒体,需要第一时间捕捉 AI 行业动态。
配置:
- 关键词:
AI, ChatGPT, DeepSeek, Claude, 大模型, 开源, GitHub - 推送:飞书 + 个人微信
- 模式:
incremental(有新动态马上推) - AI 分析:开启,每日晚间汇总分析
效果:每天早上 9 点收到当日汇总,全天有 AI 重大新闻第一时间推送。写稿效率提升 3 倍。
场景二:投资者的舆情监控
老张做量化投资,需要监控「新能源」「芯片」相关舆情。
配置:
- 关键词:
新能源, 光伏, 锂电池, 芯片, 半导体, A股, 政策 - 推送:Telegram(海外)+ 钉钉(国内团队)
- 调度:
office_hours(交易日工作时间) - AI 分析:开启情感倾向(正面/负面判断)
效果:第一时间获取政策风向和行业负面舆情,辅助投资决策。
场景三:企业品牌监控
某公司市场部需要监控品牌在各大平台的舆情。
配置:
- 关键词:
公司名, 产品名, CEO名字+ 行业关键词 - 推送:企业微信(全员可见)
- 报告:HTML 日报自动存档
- MCP:接入内部 AI 助手做深度分析
同类工具对比
| 特性 | TrendRadar | RSSHub | Huginn | 自建爬虫 |
|---|---|---|---|---|
| ⭐ GitHub Stars | 61K | 35K | 44K | - |
| 部署难度 | ⭐ 极简 | ⭐⭐ 中等 | ⭐⭐⭐ 复杂 | ⭐⭐⭐⭐ |
| 30 秒部署 | ✅ | ❌ | ❌ | ❌ |
| 多平台聚合 | ✅ 20+ 平台 | 需逐个配 | 需逐个配 | 需逐个写 |
| AI 筛选/分析 | ✅ 内置 | ❌ | ❌ | ❌ |
| MCP 协议 | ✅ v4.1.0 | ❌ | ❌ | ❌ |
| 推送渠道 | 9 种 | 需另配 | 需另配 | 需另写 |
| HTML 报告 | ✅ 暗色模式 | ❌ | ❌ | ❌ |
| 数据存储 | SQLite / S3 | 无 | MySQL | 自选 |
| 适用人群 | 所有人 | 开发者 | 高级用户 | 专业开发 |
一句话选型:不想写代码、想要开箱即用 → TrendRadar。需要极度灵活的自定义数据源 → RSSHub + Huginn。
常见问题与排错
Q1:推送没收到?
# Docker 环境:检查日志
docker logs --tail 100 trendradar
# GitHub Actions:检查 Actions 运行记录
# 确认 Secrets 配置正确(变量名严格区分大小写)
Q2:关键词没匹配到?
- 确认
frequency_words.txt格式:英文逗号分隔,无多余空格 - 热搜标题是简略的,关键词不要太长(建议 2-4 个字)
- 试试开启 AI 智能筛选作为补充
Q3:GitHub Actions 运行频率怎么调?
编辑 .github/workflows/crawler.yml:
on:
schedule:
- cron: "0 * * * *" # 每小时
# - cron: "*/30 * * * *" # 每 30 分钟
# - cron: "0 0 * * *" # 每天 UTC 0 点(北京 8 点)
⚠️ GitHub 是 UTC 时间,北京时间要减 8 小时。
Q4:Docker 容器时间不对?
在 docker/.env 中设置:
TZ=Asia/Shanghai
Q5:如何更新到最新版本?
# Docker
docker compose pull && docker compose up -d
# GitHub Actions(Fork 的仓库)
# 在仓库页面点击 "Sync fork" → "Update branch"
进阶:接入你自己的 AI 客户端
TrendRadar MCP 服务可以接入任何支持 MCP 的客户端:
Cherry Studio(推荐,GUI 配置):
- 设置 → MCP 服务器 → 添加
- 类型:
streamableHttp - URL:
http://127.0.0.1:3333/mcp
Claude Desktop:
{
"mcpServers": {
"trendradar": {
"url": "http://127.0.0.1:3333/mcp",
"type": "streamableHttp"
}
}
}
然后你就可以用自然语言跟你的新闻数据对话了。
总结
| 特性 | 一句话 |
|---|---|
| 🎯 定位 | 开源、轻量、AI 驱动的个人舆情监控 |
| 🚀 部署 | 30 秒 Fork 即用 / Docker 一行命令 |
| 📡 数据 | 20+ 平台热点 + RSS 订阅 |
| 🧠 AI | 筛选 + 翻译 + 分析,LiteLLM 统一 100+ 模型 |
| 📱 推送 | 飞书/微信/钉钉/Telegram 等 9 渠道 |
| 🔌 MCP | 21 个工具,AI 直接对话新闻数据 |
| 📊 报告 | HTML 网页 + Markdown 导出 |
| ⭐ 社区 | 61K Star、24K Fork,中国开源现象级项目 |
仓库地址:github.com/SANSAN0/TRENDRADAR
官方网站:trendradar.sandev.cc
作者公众号:硅基茶水间(关注回复「交流群」入群)
本文基于 TrendRadar v6.10.0 / MCP v4.1.0 撰写,项目持续高速迭代中,最新功能请查阅官方文档。




