展开目录
#GitHub#开源#舆情监控#部署指南#AI分析#MCP#Docker

TrendRadar 深度指南:⭐61K 开源热点雷达,30秒告别信息过载,只看你关心的新闻

全网最详细的 TrendRadar 部署与使用指南:从零搭建 AI 驱动的多平台热点监控系统,支持 9 大渠道推送、MCP 智能分析、RSS 订阅和关键词精准筛选。

预计阅读 14 分钟

一句话总结

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 帮你筛选好推送到手边:

部署前 😵部署后 😎
beforeafter

TrendRadar 是怎么工作的?

TrendRadar Banner

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 API9 大渠道,支持多账号
报告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_URLhttps://open.feishu.cn/open-apis/bot/v2/hook/xxx飞书机器人 Webhook
DINGTALK_WEBHOOK_URLhttps://oapi.dingtalk.com/robot/send?access_token=xxx钉钉机器人
TELEGRAM_BOT_TOKEN123456:ABC-DEF1234ghTelegram Bot Token
TELEGRAM_CHAT_ID-1001234567890Telegram Chat ID

💡 飞书配置最简教程:飞书群 → 设置 → 群机器人 → 添加自定义机器人 → 复制 Webhook URL。

第 4 步:启用 GitHub Actions

  1. 进入 Actions 标签页
  2. 点击 “I understand my workflows, go ahead and enable them”
  3. 手动触发一次 Crawler workflow 测试

第 5 步(GitHub Actions 专属):配置远程存储

因为 GitHub Actions 每次运行完会销毁环境,需要用 Cloudflare R2 存储数据:

  1. 注册 Cloudflare,开通 R2
  2. 创建存储桶,获取 Access Key 和 Secret
  3. 在 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 Secrets 配置

完成! 默认每小时运行一次,你配置的渠道将收到热点推送。

💡 部署成果预览:推送的报告可以通过 GitHub Pages 在线查看,支持暗色模式、关键词搜索和 Tab 切换。

GitHub Pages 报告


方式二: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 会自动提取标签,对每条新闻打分,只推送真正相关的内容。

AI 智能分析报告

2. 推送渠道:9 种方式直达你

渠道配置方式适合场景
🟢 飞书Webhook URL团队协作
🟢 企业微信Webhook URL公司办公
🟢 个人微信公众号推送个人日常
🟢 钉钉Webhook URL企业办公
🔵 TelegramBot Token + Chat ID海外用户
📧 邮件SMTP 配置日报汇总
📱 Bark (iOS)Key URLiPhone 推送
🔔 ntfyTopic URL自建通知
💬 SlackWebhook团队协作
🔗 通用 Webhook自定义 JSON任意平台

以下是飞书和企业微信的实际推送效果:

飞书推送效果企业微信推送效果
飞书企业微信

多账号推送:用 ; 分隔多个地址即可。比如给 3 个飞书群同时推送:

FEISHU_WEBHOOK_URL=https://hook1...;https://hook2...;https://hook3...

3. 推送模式:三种策略按需选

模式行为适合
daily累积当天所有匹配新闻日报汇总
current只展示当前榜单的新闻定时快照
incremental只推送新出现的新闻高频监控、避免重复打扰

4. AI 智能分析:让 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 客户端直接查询和分析你的新闻数据。

MCP 使用效果

21 个 MCP 工具,覆盖:

  • 📥 基础查询get_latest_newsget_news_by_dateget_trending_topics
  • 🔍 智能检索search_news(正则支持)、find_related_news
  • 📊 高级分析analyze_topic_trendanalyze_sentimentcompare_periods
  • 📰 RSS 查询get_latest_rsssearch_rss
  • ⚙️ 系统管理get_current_configget_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 助手做深度分析

同类工具对比

特性TrendRadarRSSHubHuginn自建爬虫
⭐ GitHub Stars61K35K44K-
部署难度⭐ 极简⭐⭐ 中等⭐⭐⭐ 复杂⭐⭐⭐⭐
30 秒部署
多平台聚合✅ 20+ 平台需逐个配需逐个配需逐个写
AI 筛选/分析✅ 内置
MCP 协议✅ v4.1.0
推送渠道9 种需另配需另配需另写
HTML 报告✅ 暗色模式
数据存储SQLite / S3MySQL自选
适用人群所有人开发者高级用户专业开发

一句话选型:不想写代码、想要开箱即用 → 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 渠道
🔌 MCP21 个工具,AI 直接对话新闻数据
📊 报告HTML 网页 + Markdown 导出
社区61K Star、24K Fork,中国开源现象级项目

仓库地址github.com/SANSAN0/TRENDRADAR

官方网站trendradar.sandev.cc

作者公众号:硅基茶水间(关注回复「交流群」入群)


本文基于 TrendRadar v6.10.0 / MCP v4.1.0 撰写,项目持续高速迭代中,最新功能请查阅官方文档。

Related

相关文章

延伸阅读

查看全部 →