3654 words
18 minutes
0
0
Build Your Own TrendRadar Information Feed——搭建属于你自己的”趋势雷达“-TrendRadar信息流推送
2025-11-10
2025-11-13

项目地址:GitHub - sansan0/TrendRadar

本项目的资讯数据来源于 newsnow ,你可以点击 网站,点击 [更多],查看是否有你想要的平台。

作为投资者,你想及时跟踪股市动态;作为内容创作者,你需要把握实时趋势;或者只是普通用户,希望只看自己关心的内容。TrendRadar 就是一个这样的工具,它能聚合多个平台的热点,帮助你过滤并推送真正相关的新闻。

1 TrendRadar 工具概述#

TrendRadar 是一个开源项目,旨在帮助用户高效获取全网热点信息。它以轻量和易部署为目标,主要通过 GitHub 来运行。你可以想象它像一个个人热点雷达:扫描多个新闻平台,筛选出匹配你兴趣的内容,然后通过手机推送或网页报告呈现。项目支持多种通知渠道,比如企业微信、Telegram、钉钉和飞书。

为什么选择这个工具?因为它能让你从被动刷屏转向主动监控。举例来说,如果你关心 AI 相关新闻,它会自动聚合头条、百度热搜等平台的条目,只推送包含“AI”或相关词的热点。这样,你就不用一个个 App 去翻看了。项目还强调隐私和自定义:所有数据处理都在你的仓库中进行,不会上传到第三方。

项目有一些基本统计,比如 GitHub Stars 和 Forks,但这些只是社区反馈的指标。如果你 fork 了项目,可以看到它如何通过 GitHub Actions 自动化运行。接下来,我们聊聊它的核心功能。

2 核心功能详解#

TrendRadar 的功能围绕热点聚合、筛选和推送展开。让我们分解来看。

2.1 全网热点聚合#

工具默认监控 11 个主流平台,包括:

  • 今日头条
  • 百度热搜
  • 华尔街见闻
  • 澎湃新闻
  • bilibili 热搜
  • 财联社热门
  • 凤凰网
  • 贴吧
  • 微博
  • 抖音
  • 知乎

这些平台覆盖了新闻、社交和视频领域。如果你问:“能添加更多平台吗?”是的,可以自定义监控平台,我稍后会解释怎么做。它使用一个外部 API(来自 newsnow 项目)来获取数据,确保信息实时更新。

2.2 智能推送策略#

推送是工具的亮点之一,有三种模式可选,适合不同用户需求:

模式描述适用人群
incremental及时获取新增资讯,只在有新热点时推送投资者或交易员,需要实时响应
current掌握实时热点趋势,显示当前榜单自媒体人或内容创作者,关注当下流行
daily定时获取完整日报,汇总当日所有匹配企业管理者或普通用户,适合每日回顾

此外,还有静默推送模式:你可以设置时间窗口,比如只在 9:00-18:00 内推送。这避免了半夜打扰。时间范围内,你可以选择每次执行都推送,还是只推送一次。

举个例子,如果你设置 incremental 模式,工具会监控新出现的新闻,并在有匹配时立即通知。推送内容包括热度等级(如 🔥 表示高热度)、匹配数量和时间范围。

2.3 精准内容筛选#

筛选基于关键词文件 frequency_words.txt。你可以设置普通词、必须词(用 + 前缀)和过滤词(用 ! 前缀)。比如:

  • 普通词:AI、比亚迪
  • 必须词:+ 发布(标题必须包含这个词)
  • 过滤词:!广告(排除包含这个词的新闻)

关键词用空行分隔成组,每个组独立统计。这让筛选更灵活。如果你问:“怎么避免无关新闻?”就是通过过滤词,比如 !水果 来排除苹果手机外的无关条目。

工具还会统计热点词汇,比如 “AI ChatGPT : 2 条”,并显示来源、排名和出现时间。新热点用 🆕 标记。

2.4 个性化热点算法#

不同于平台自己的算法,TrendRadar 重新排序热点,基于三个权重:

  • 排名权重(默认 60%):优先显示各平台前几名
  • 频率权重(默认 30%):反复出现的更重要
  • 热度权重(默认 10%):考虑排名质量

你可以调整这些比例。比如,如果你更在意持续话题,把频率权重调到 50%。这让输出更符合你的偏好。

2.5 多渠道实时推送#

支持企业微信、飞书、钉钉和 Telegram。你可以同时配置多个渠道。推送格式清晰,包括热点统计、新增新闻和更新时间。

这里是推送效果的示例:

  • 飞书推送效果 image.png

  • 网页版通过 GitHub Pages 生成效果 (手机端适配、邮箱推送效果): image.png

数据还会保存为 HTML 和 TXT 文件,便于回顾。

2.6 多端适配和零门槛部署#

工具支持 GitHub Pages(网页浏览)和 Docker(容器运行)。部署简单:fork 项目,设置 Secrets,就能运行。适合没有编程基础的用户。

典型场景:股市监控、舆情追踪或日常资讯获取。

3 如何设置和部署 TrendRadar#

现在,我们来一步步看怎么上手。假设你是个新手,我会详细解释每个步骤。

3.1 步骤 1: Fork 项目#

  1. 访问 GitHub 上的 TrendRadar 项目页面。
  2. 点击右上角的 “Fork” 按钮,将项目复制到你的账户。
  3. 这会创建一个你的版本仓库,你的所有配置都在这里进行。

3.2 步骤 2: 设置 GitHub Secrets#

Secrets 用于存储敏感信息,如 webhook URLs。进入仓库 Settings > Secrets and variables > Actions > New repository secret。

根据你的通知渠道,添加对应 Secret:

  • 企业微信
    • 名称:WEWORK_WEBHOOK_URL
    • 值:机器人 Webhook 地址
    • 如何获取:打开企业微信群聊 > 右上角 … > 群机器人 > 添加新建 > 复制 Webhook。
  • 飞书
    • 名称:FEISHU_WEBHOOK_URL
    • 值:机器人 Webhook 地址
    • 如何获取:浏览器打开 botbuilder.feishu.cn > 新建机器人 > 设置流程(包括 Webhook 触发和发送消息) > 复制地址。详细步骤包括参数 JSON 配置和群组选择。
  • 钉钉
    • 名称:DINGTALK_WEBHOOK_URL
    • 值:机器人 Webhook 地址
    • 如何获取:PC 端群设置 > 机器人 > 添加自定义 > 设置关键词 “热点” > 复制 URL。
  • Telegram
    • 名称:TELEGRAM_BOT_TOKEN 和 TELEGRAM_CHAT_ID
    • 值:Bot Token 和 Chat ID
    • 如何获取:用 @BotFather 创建 Bot > 获取 Token;用 getUpdates 或 @userinfobot 获取 ID。
  • 邮件推送:
    • 名称:EMAIL_FROM - 发件人邮箱地址
    • 名称:EMAIL_PASSWORD - 邮箱密码或授权码
    • 名称:EMAIL_TO - 收件人邮箱地址(多个收件人用英文逗号分隔)也可以和 EMAIL_FROM 一样,自己发送给自己
    • 名称:EMAIL_SMTP_SERVER - SMTP 服务器地址(可选,留空则自动识别)
    • 名称:EMAIL_SMTP_PORT - SMTP 端口(可选,留空则自动识别)
    • 多收件人设置
  • ntfy 推送:
    • 参考原项目介绍即可

你可以添加多个,工具会向所有渠道推送。

3.3 步骤 3: 配置报告模式和关键词#

编辑 config/config.yaml:

  • report.mode:选择 daily、current 或 incremental。
  • silent_push.enabled:true/false,启用静默模式。
  • silent_push.time_range:如 “09:00-18:00″。
  • weight:调整 rank_weight、frequency_weight、hotness_weight(总和为 1.0)。

编辑 config/frequency_words.txt:

  • 添加关键词,按优先级排序。

  • 用空行分词组。

  • 示例:

    Terminal window
    AIChatGPT+技术!广告 比亚迪特斯拉+销量

如果文件为空,会推送所有新闻,但受推送限制,建议减少平台或用网页版。

编辑 .github/workflows/crawler.yml:

  • 关于 - cron: "0 * * * *" 一行的配置 (控制多久运行和循环)
    • 这里我自己使用的是 "0 1-13/2 * * *(utc 时间下的设置)# 北京时间每天从 9 点到 21 点(即 9,11,13,15,17,19,21),每隔 2 小时执行一次 (实际有偏差)

3.4 步骤 4: 自定义监控平台#

在 config.yaml 的 platforms 部分添加:

  • id:平台代码(如 “wallstreetcn-hot”)
  • name:显示名称

来源基于 newsnow 项目,你可以查看其源代码添加更多。

可以直接查看已经配置好的 6 配置好的平台 (在 config/config.yaml 文件中修改 platforms 配置)

3.5 步骤 5: 部署选项#

  • GitHub Pages:自动生成报告,适合网页浏览。
  • Docker
    • 快速方式:用 docker run 命令,挂载 config 和 output 目录,设置环境变量如 CRON_SCHEDULE=”/30 * * *”(每 30 分钟运行)。
    • docker-compose:下载 .env 和 docker-compose.yml,编辑后 docker-compose up -d。
    • 管理命令:如 docker logs -f trend-radar 查看日志。

镜像:wantcat/trendradar,支持多架构。

如果你问:“Docker 怎么更新?”用 docker-compose pull && docker-compose up -d。

4 推送的格式和示例#

推送消息结构清晰:

  • 热点词汇统计:按组显示,带热度图标(如 🔥 [1/3] AI ChatGPT : 2 条)。
  • 新闻详情:来源、🆕 标记、排名、时间、频率。
  • 新增热点汇总。
  • 更新时间。

格式元素表格:

元素示例含义说明
热度图标🔥 [1/3]热度等级🔥 (≥10 条), 📈 (5-9 条), 📌 (<5 条)
词组AI ChatGPT关键词组从配置文件
匹配数: 2 条总匹配该组新闻数
来源[百度热搜]平台新闻来源
新增🆕新热点本轮首次
排名[1]高排名加粗显示
时间– 09 时 15 分首次出现单次时间
范围[08 时 30 分 ~ 10 时 45 分]持续期从首到尾
频率(3 次)出现次数总计

示例消息如开头所述。

5 FAQ#

这里我预测一些常见问题,并直接回答基于工具的实际使用。

5.1 TrendRadar 怎么避免推送无关信息?#

通过 frequency_words.txt 设置过滤词。比如,加 !无关词,就能排除。结合必须词,确保只匹配精确内容。

5.2 推送太频繁怎么办?#

启用静默模式,设置时间范围。只在指定时间内推送,或限制为单次。

5.3 Docker 部署失败了,怎么排查?#

用 docker logs -f trend-radar 查看日志。检查 config 目录挂载和环境变量。进入容器:docker exec -it trend-radar /bin/bash。

5.4 怎么调整热点排序?#

在 config.yaml 的 weight 部分改比例。比如,rank_weight: 0.8 更注重排名。

5.5 没有编程基础,能用吗?#

能。Fork 和设置 Secrets 都在网页上。配置用编辑器改文件,30 秒就能部署网页版。

5.6 推送消息太长怎么办?#

工具自动分批推送,尤其在企业微信和 Telegram。钉钉在 v2.1.2 优化了。

5.7 自定义平台怎么加?#

查 newsnow 源代码,添加 id 和 name 到 config.yaml 的 platforms。

5.8 升级后配置冲突怎么办?#

大版本重新 fork。小版本替换 main.py 和 config.yaml。

5.9 网页版怎么手机适配?#

默认适配。v2.0.3 优化了移动端。

5.10 工具安全吗?#

是的,webhook 存 Secrets,别公开。数据本地处理。

6 配置好的平台 (在 config/config.yaml 文件中修改 platforms 配置)#

不用的平台在最前面加“#”,或者直接删除

# name 可以定义任意名称,只具有显示作用,即使项目运行了几天后,忽然改掉 name 也不会影响代码的正常运行
platforms:
# === 综合新闻媒体类 ===
- id: "toutiao"
name: "今日头条"
- id: "baidu"
name: "百度热搜"
- id: "thepaper"
name: "澎湃新闻"
- id: "ifeng"
name: "凤凰网"
- id: "cankaoxiaoxi"
name: "参考消息"
- id: "sputniknewscn"
name: "卫星通讯社"
- id: "zaobao"
name: "联合早报"
- id: "mktnews"
name: "MKT新闻"
- id: "kaopu"
name: "靠谱新闻"
# === 财经投资类 ===
- id: "wallstreetcn-hot"
name: "华尔街见闻 最热"
- id: "wallstreetcn-quick"
name: "华尔街见闻 快讯"
- id: "wallstreetcn-news"
name: "华尔街见闻 最新"
- id: "cls-hot"
name: "财联社热门"
- id: "gelonghui"
name: "格隆汇"
- id: "xueqiu"
name: "雪球"
- id: "jin10"
name: "金十数据"
- id: "fastbull"
name: "快讯通"
# === 社交/短视频/娱乐类 ===
- id: "weibo"
name: "微博"
- id: "douyin"
name: "抖音"
- id: "bilibili-hot-search"
name: "bilibili 热搜"
- id: "tieba"
name: "贴吧"
- id: "zhihu"
name: "知乎"
- id: "hupu"
name: "虎扑"
# === 科技类平台 ===
- id: "ithome"
name: "IT之家"
- id: "juejin"
name: "掘金"
- id: "github"
name: "GitHub"
- id: "hackernews"
name: "Hacker News"
- id: "solidot"
name: "Solidot"
- id: "v2ex"
name: "V2EX"
- id: "nowcoder"
name: "牛客网"
- id: "pcbeta"
name: "远景论坛"
- id: "sspai"
name: "少数派"
- id: "producthunt"
name: "ProductHunt"
# === 其他/工具类 ===
- id: "chongbuluo"
name: "虫部落"
# ======================================================
# 暂时失败的渠道(可能需要修复或接口已变更)
# 备注:以下渠道在测试中抓取失败,已暂时注释
# 如需使用请检查API接口状态或联系维护团队
# ======================================================
# 失败的综合新闻媒体类
# - id: "sina"
# name: "新浪" # 失败原因:接口可能已变更
# - id: "sohu"
# name: "搜狐" # 失败原因:接口可能已变更
# 失败的财经类
# - id: "ghxi"
# name: "国海证券" # 失败原因:接口可能已变更
# 失败的社交/短视频类
# - id: "kuaishou"
# name: "快手" # 失败原因:接口可能已变更
# - id: "smzdm"
# name: "什么值得买" # 失败原因:接口可能已变更
# 失败的科技类
# - id: "36kr"
# name: "36氪" # 失败原因:接口可能已变更
# - id: "linuxdo"
# name: "LinuxDo" # 失败原因:接口可能已变更

我的 frequency_words#

人工智能
AI
AIGC
OpenAI
ChatGPT
Sora
Claude
Anthropic
Gemini
DeepMind
Google
Microsoft
Copilot
NVIDIA
英伟达
黄仁勋
GPU
算力
华为
麒麟芯片
鸿蒙
昆仑芯
寒武纪
天数智芯
芯片
半导体
光刻机
ASML
大模型
多模态
推理模型
AI Agent
RAG
对齐
Prompt Engineering
模型压缩
蒸馏
字节跳动
张一鸣
Bytedance
阿里
马云
通义千问
百度
文心一言
李彦宏
智源
智谱AI
百川智能
零一万物
MiniMax
商汤科技
稚晖君
比亚迪
王传福
小鹏
王小鹏
蔚来
理想
智界
问界
大疆
DJI
宇树
具身智能
机器人
仿生机器人
自动驾驶
Autopilot
RoboTaxi
新质生产力
科技创新
数字经济
国产化
科技自立
科技出海
大湾区
粤港澳
广东
深圳
香港
HKUST
港大
清华
北大
中科大
Meta
LLaMA
xAI
Grok
特斯拉
马斯克
Figure 01
Starlink
SpaceX
Starship
量子计算
Quantum Computing
强化学习
RL
RLHF
联邦学习
Explainable AI
可解释性
AI Safety
安全对齐
Synthetic Data
Cloud-native
分布式训练
模型部署
数据要素
数据治理
算法监管
中美科技竞争
数字治理
AI伦理
算法透明
新能源
储能
光伏
电池
宁德时代
房地产
黄金
宏观经济
AI教育
智慧教育
教育科技
医疗AI
医疗机器人
辅助诊断
网络安全
Cybersecurity
元宇宙
数字人
数字孪生
RISC-V
开源硬件
开源模型
HuggingFace
ModelScope
智慧城市
CityBrain
EduGPT
MedGPT
多智能体系统
Agentic AI
生物计算
脑机接口
Neuralink
AI安全政策
欧盟AI法案
中国AI监管
AI与艺术
创作类AIGC
Build Your Own TrendRadar Information Feed——搭建属于你自己的”趋势雷达“-TrendRadar信息流推送
https://xieyi.org/posts/build-your-own-trendradar-information-feed搭建属于你自己的趋势雷达-trendradar信息流推送/
Author
謝懿Shine
Published at
2025-11-10
License
CC BY-NC-SA 4.0