最快30秒部署的热点助手 —— 告别无效刷屏,只看真正关心的新闻资讯

🌐 官方网站 · 📖 官网文档

GitHub Stars GitHub Forks License Version MCP Docker Pulls Docker Pulls RSS AI翻译 MCP Support AI分析推送 AI智能筛选

企业微信通知 个人微信通知 Telegram通知 dingtalk通知 飞书通知 邮件通知 ntfy通知 Bark通知 Slack通知 通用Webhook

GitHub Actions GitHub Pages Docker 本地部署 Cloudflare Pages

中文 | English

本项目以轻量,易部署为目标

📑 快速导航

💡 点击下方链接可快速跳转到对应章节。部署推荐从「快速开始」入手,需要详细自定义请看「配置详解

🚀 快速开始 AI 智能分析 ⚙️ 配置详解
Docker部署 / 本地部署 MCP客户端 📝 更新日志
🎯 核心功能 支持项目 📚 项目相关
  • 感谢为项目点 star 的观众们,fork 你所欲也,star 我所欲也,两者得兼😍是对开源精神最好的支持

早期支持者致谢

💡 特别说明

  1. 关于名单:下方表格记录了项目起步阶段(天使轮)的支持者。因早期人工统计繁琐,难免存在疏漏或记录不全的情况,如有遗漏,实非本意,万望海涵
  2. 未来规划:为了将有限的精力回归代码与功能迭代,即日起不再人工维护此名单

无论名字是否上榜,你们的每一份支持都是 TrendRadar 能够走到今天的基石。🙏

基础设施支持

感谢 GitHub 免费提供的基础设施,这是本项目得以一键 fork便捷运行的最大前提。

数据支持

本项目使用 newsnow 项目的 API 获取多平台数据,特别感谢作者提供的服务。

经联系,作者表示无需担心服务器压力,但这是基于他的善意和信任。请大家:

  • 前往 newsnow 项目 点 star 支持
  • Docker 部署时,请合理控制推送频率,勿竭泽而渔

推广助力

感谢以下平台和个人的推荐(按时间排列)

观众支持

感谢给予资金支持的朋友们,你们的慷慨已化身为键盘旁的零食饮料,陪伴着项目的每一次迭代。

关于"一元点赞"的回归: 随着 v5.0.0 版本的发布,项目迈入了一个新的阶段。为了支持日益增长的 API 成本和咖啡因消耗,"一元点赞"通道现已重新开启。你的每一份心意,都将转化为代码世界里的 Token 和动力。🚀 前往支持

点赞人 金额 日期 备注
D*5 1.8 * 3 2025.11.24
*鬼 1 2025.11.17
*超 10 2025.11.17
R*w 10 2025.11.17 这 agent 做的牛逼啊,兄弟
J*o 1 2025.11.17 感谢开源,祝大佬事业有成
*晨 8.88 2025.11.16 项目不错,研究学习中
*海 1 2025.11.15
*德 1.99 2025.11.15
*疏 8.8 2025.11.14 感谢开源,项目很棒,支持一下
M*e 10 2025.11.14 开源不易,大佬辛苦了
**柯 1 2025.11.14
*云 88 2025.11.13 好项目,感谢开源
*W 6 2025.11.13
*凯 1 2025.11.13
对*. 1 2025.11.13 Thanks for your TrendRadar
s*y 1 2025.11.13
**翔 10 2025.11.13 好项目,相见恨晚,感谢开源!
*韦 9.9 2025.11.13 TrendRadar超赞,请老师喝咖啡~
h*p 5 2025.11.12 支持中国开源力量,加油!
c*r 6 2025.11.12
a*n 5 2025.11.12
。*c 1 2025.11.12 感谢开源分享
*记 1 2025.11.11
*主 1 2025.11.10
*了 10 2025.11.09
*杰 5 2025.11.08
*点 8.80 2025.11.07 开发不易,支持一下。
Q*Q 6.66 2025.11.07 感谢开源!
C*e 1 2025.11.05
Peter Fan 20 2025.10.29
M*n 1 2025.10.27 感谢开源
*许 8.88 2025.10.23 老师 小白一枚,摸了几天了还没整起来,求教
Eason 1 2025.10.22 还没整明白,但你在做好事
P*n 1 2025.10.20
*杰 1 2025.10.19
*徐 1 2025.10.18
*志 1 2025.10.17
*😀 10 2025.10.16 点赞
**杰 10 2025.10.16
*啸 10 2025.10.16
*纪 5 2025.10.14 TrendRadar
J*d 1 2025.10.14 谢谢你的工具,很好玩...
*H 1 2025.10.14
那*O 10 2025.10.13
*圆 1 2025.10.13
P*g 6 2025.10.13
Ocean 20 2025.10.12 ...真的太棒了!!!小白级别也能直接用...
**培 5.2 2025.10.2 github-yzyf1312:开源万岁
*椿 3 2025.9.23 加油,很不错
*🍍 10 2025.9.21
E*f 1 2025.9.20
*记 1 2025.9.20
z*u 2 2025.9.19
**昊 5 2025.9.17
*号 1 2025.9.15
T*T 2 2025.9.15 点赞
*家 10 2025.9.10
*X 1.11 2025.9.3
*飙 20 2025.8.31 来自老童谢谢
*下 1 2025.8.30
2*D 88 2025.8.13 下午
2*D 1 2025.8.13 上午
S*o 1 2025.8.05 支持一下
*侠 10 2025.8.04
x*x 2 2025.8.03 trendRadar 好项目 点赞
*远 1 2025.8.01
*邪 5 2025.8.01
*梦 0.1 2025.7.30
**龙 10 2025.7.29 支持一下

🪄 赞助商

一站畅享 字节跳动自研的豆包大模型 与主流开源 SOTA 模型的 满血版本,全面覆盖文本、视觉理解(VLM)、图像生成等 多模态能力。Seed-2.1、Seedream 5.0、GLM-5.2、DeepSeek 等热门模型一站配齐,不止 高效编程,更能胜任 复杂的长程 Agent 任务

❤️ 觉得好用?支持一下

若 TrendRadar 曾为你捕捉价值,不妨为它注入动力,助其持续进化

金额随意,1 元也是对开源的鼓励。欢迎在赞赏时备注留言 (´▽`ʃ♡ƪ)

微信赞赏 支付宝赞赏

🤝 二次开发与引用

如果你在项目中使用或借鉴了本项目的思路、核心代码,非常欢迎在 README 或文档中注明来源并附上本仓库链接。

这将有助于项目的持续维护和社区发展,感谢你的尊重与支持!❤️

💬 交流与反馈

  • GitHub Issues:适合具体的技术问题。提问时请提供完整信息(截图、错误日志等),有助于快速定位。
  • 公众号交流:建议优先在相关文章下的留言区交流。若需后台提问,先点赞/推荐文章是最好的"敲门砖",我在后台都能感受到这份心意哟 (´▽`ʃ♡ƪ)。
  • QQ 群交流:关注公众号,回复「交流群」即可加入。无论你是 AI 小白还是硬核开发者,想求助技术问题还是分享折腾心得,这里都欢迎你。群里主打互助交流和灵感碰撞,入群请先看群公告;提问时描述清楚问题、附上截图,群友有空就会帮忙,大家的实战经验往往比我一个人更快更全面 🤝

友情提示: 本项目为开源分享,非商业产品。把作者当朋友而非客服,沟通效率会更高哦!

公众号关注

📝 更新日志

📌 查看最新更新原仓库更新日志

  • 提示:建议查看【历史更新】,明确具体的【功能内容】

2026/06/19 - v6.10.0

  • AI 翻译分批处理:大量标题翻译时自动分批请求,避免单次请求超限导致翻译失败
  • 模块拆分重构:拆分 context.py 和 __main__.py,AI 筛选流水线独立为 filter_pipeline 模块,职责更清晰、维护更方便
  • 修复飞书来源标签显示:修复飞书卡片中来源标签和 AI 独立源点速览被 CommonMark 吞掉不显示的问题

2026/02/09 - mcp-v4.0.0

  • 🔥 AI 消息直推所有渠道:让 AI 写好的内容一键推送到飞书、钉钉、Telegram、邮件等 9 个渠道,Markdown 自动适配各平台格式,不用操心格式差异
  • 新增格式化策略指南:新增 get_channel_format_guide 工具,告诉 AI 每个渠道支持什么格式、有什么限制,生成的内容排版更好看
  • 智能分批发送:超长消息自动按各渠道字节限制拆分(飞书 30KB、钉钉 20KB 等),配置读取自 config.yaml
  • 修复渠道误检测:ntfy 不再因为默认地址被误报为"已配置"
  • 代码复用优化:批次处理函数直接复用 trendradar 核心模块,不重复造轮子

2026/06/02 - v6.9.0

  • 热榜域名安全校验:新增 expected_domain 配置项,校验返回数据链接的域名合法性,不匹配时自动丢弃数据并警告,有效防范链接劫持或数据篡改
  • 自定义热榜 API 地址:支持自部署 newsnow 并配置 api_url 使用自己的数据源

2026/05/23 - v6.8.0

  • HTML 报告全面增强:新增报告元数据展示(生成时间、数据来源、版本号)、暗色模式自动适配、Tab 栏交互优化、趋势箭头可视化,浏览器阅读体验大幅提升
  • 版本检查 CDN 多源回退:版本检查接口支持 GitHub → jsDelivr → Cloudflare 等多个 CDN 源自动回退,国内网络环境也能稳定获取更新提示
  • 展示区域开关生效:HTML 报告和邮件现在正确尊重 display.regions.ai_analysisdisplay.regions.standalone 开关,关闭即不渲染
  • 导出按钮修复:修复导出按钮点击后下拉菜单图标消失的问题
  • Markdown 导出修复:修复 HTML 报告 Markdown 导出中 JS 换行符转义错误

2026/05/15 - v6.7.0

  • Markdown 导出:报告导出下拉菜单新增 Markdown 格式,一键生成带链接的结构化文本,方便 LLM 二次加工和跨平台分享(#1121
  • RSS guid 去重:RSS 存储新增 guid 字段,去重优先级改为 guid > url,解决同一文章因 URL 变化导致重复入库的问题
  • 空标题防护:解析器、渲染层、翻译回填全链路增加空标题兜底逻辑,确保无标题条目也能正常显示
  • 翻译质量增强:翻译提示词要求保留编号顺序,空翻译结果不再覆盖原始标题

2026/03/28 - v6.6.0

  • HTML 报告浏览器增强:在浏览器中打开报告可自动切换宽屏布局,关键词分组和独立展区均支持 Tab 快速切换,搜索框实时过滤新闻标题,邮件客户端仍显示原始窄屏布局,零回归
  • 暗色模式:一键切换深色主题,自动记住偏好,适合夜间阅读
  • 一键复制新闻:鼠标悬停新闻序号即可复制标题和链接,方便快速分享
  • 导出优化:整页截图和分段截图合并为下拉式导出按钮,截图时自动还原干净布局
  • 快捷键系统:支持 W 宽屏切换、D 暗色模式、/ 搜索、? 查看快捷键提示
  • 阅读进度条:页面顶部实时显示阅读进度

2026/03/12 - v6.5.0

  • AI 智能筛选系统:不用再手动设关键词!在 ai_interests.txt 里用日常语言写下你关注的方向(如"我想看 AI 和新能源相关新闻"),AI 会自动提取标签并对每条新闻打分,只推送真正和你相关的内容。万一 AI 筛选出了问题,会自动切回关键词匹配,推送不中断
  • 每个时段支持不同的筛选方式和关注方向:Timeline 中的每个时间段现在可以独立设置用什么方式筛选、看什么类型的新闻。比如:早上用"科技关键词"快速过滤,晚上换成"金融 AI 兴趣描述"做深度筛选——同一个系统,不同时段看不同内容
  • AI 分析范围独立于推送:AI 分析的数据范围可以和推送内容不同。比如推送只发新增消息(避免重复打扰),但 AI 分析当天全部新闻(看完整趋势)。每个时段也能单独设置 AI 分析模式
  • AI 筛选智能省钱:已分析过的新闻不会重复消耗 token;兴趣描述修改后,AI 自动判断变化幅度——小改动只更新受影响的标签,大改动才全量重新分类
  • 多文件配置与标签隔离:自定义关键词文件放 config/custom/keyword/,AI 兴趣文件放 config/custom/ai/,不同文件产生的标签各自独立、互不干扰
  • AI 翻译精准控制:可分别控制热榜、RSS、独立展示区是否翻译,没开启显示的区域自动跳过,不浪费 token
  • 远程存储批量上传:多次写操作攒在一起统一提交云端,减少 API 调用次数
  • 每组关键词/标签展示数量限制:通过 max_news_per_keyword 控制每个分组最多显示多少条新闻,避免单个热门话题占满整条推送
  • 时段冲突智能检测:两个时间段如果有时间重叠,系统会自动报错提醒修改,避免配置冲突导致意外行为
  • 修复若干bug

2026/02/09 - v6.0.0

Breaking Change:配置文件升级(config.yaml 2.0.0),旧版 push_windowanalysis_window 配置不再兼容,请参考新版 config.yaml 迁移

  • 统一调度系统:新增 timeline.yaml,用一套配置控制「什么时间采集 / 推送 / AI 分析」
  • 5 种预设模板always_on(全天候,默认)、morning_evening(早晚汇总)、office_hours(办公时间)、night_owl(夜猫子)、custom(自定义);也支持在 presets: 下新增自己的模板,只要 key 不重复,然后在 config.yaml 里填你的模板名即可
  • 灵活的时间段配置:支持工作日/周末差异化、跨午夜时间段、per-period once 去重
  • 可视化配置编辑器
    • 新增 timeline.yaml 编辑标签页,与 config.yaml / frequency_words.txt 并列
    • 预设模式卡片选择:点击即切换,自动同步 config.yaml 的 schedule.preset
    • 周视图时间线:7 天 × 24 小时水平条,用颜色区分推送/分析/采集状态
    • 可交互控件:开关、下拉框、时间选择器,右侧修改实时同步到左侧 YAML
    • 周映射下拉选择:根据日计划动态填充,拖拉点击即可完成调度配置
  • AI 提示词稳定性优化(ai_analysis_prompt.txt v2.0.0):
    • 格式规范独立说明:将换行/标签/序号/禁止事项从 JSON value 中抽出,作为独立章节
    • JSON 模板简化:字段描述缩短为一句话 + 字数限制,减少 AI 输出格式混乱
    • 去除 system prompt 中的 Markdown 格式,与"禁止 Markdown"指令保持一致
    • 所有 JSON 字段声明为可选,缺少任何字段不会报错,增强容错性
  • 新增独立展示区 AI 概括分析ai_analysis.include_standalone):
    • 新增独立开关,开启后 AI 对每个 standalone 源生成核心概括
    • AI 分析与推送展示解耦:无需开启独立展示区的推送显示,AI 也可独立分析完整热榜数据
    • 支持热榜平台和 RSS 源,含排名/时间/轨迹数据
    • 轨迹分析与 include_rank_timeline 联动:开启时利用轨迹数据做深度趋势分析,关闭时基于排名做简要判断
    • 新增 standalone_summaries JSON 字段(独立源点速览),所有推送渠道均已适配渲染

2026/01/28 - v5.5.0

和 mcp 功能一样, 这个小工具我也不新开一个仓库维护了, 反正纯前端, 都搁一起吧

  • 增加 trendradar 的可视化配置编辑器

2026/02/02 - mcp-v3.2.0

  • 新增 read_article 工具:通过 Jina AI Reader 读取单篇文章正文(Markdown 格式)
  • 新增 read_articles_batch 工具:批量读取多篇文章(最多 5 篇,自动限速)
  • 推荐工作流search_news(query="关键词", include_url=True)read_article(url=...) 读取正文
  • 文档更新:README-MCP-FAQ.md 和 README-MCP-FAQ-EN.md 新增 Q19-Q20 文章读取相关说明

2026/01/10 - mcp-v3.0.0~v3.1.5

  • Breaking Change:所有工具返回值统一为 {success, summary, data, error} 结构
  • 异步一致性:所有 21 个工具函数使用 asyncio.to_thread() 包装同步调用
  • MCP Resources:新增 4 个资源(platforms、rss-feeds、available-dates、keywords)
  • RSS 增强get_latest_rss 支持多日查询(days 参数),跨日期 URL 去重
  • 正则匹配修复get_trending_topics 支持 /pattern/ 正则语法和 display_name
  • 缓存优化:新增 make_cache_key() 函数,参数排序+MD5 哈希确保一致性
  • 新增 check_version 工具:支持同时检查 TrendRadar 和 MCP Server 版本更新

2026/01/23 - v5.4.0

  • 增加 AI 分析模式的独立控制功能,可选 follow_report | daily | current | incremental
  • 新增 AI 分析时间窗口控制,支持自定义运行段及每日频次限制
  • 增加配置文件版本管理功能
  • 修复若干bug

2026/01/19 - v5.3.0

重大重构:AI 模块迁移至 LiteLLM

  • 统一 AI 接口:使用 LiteLLM 替代手动实现,支持 100+ AI 提供商
  • 简化配置:移除 provider 字段,改用 model: "provider/model_name" 格式
  • 新增功能:自动重试 (num_retries)、备用模型 (fallback_models)
  • 配置变更
    • ai.provider → 移除(已合并到 model)
    • ai.base_urlai.api_base
    • AI_PROVIDER 环境变量 → 移除
    • AI_BASE_URL 环境变量 → AI_API_BASE
  • 模型格式示例
    • DeepSeek: deepseek/deepseek-chat
    • OpenAI: openai/gpt-4o
    • Gemini: gemini/gemini-2.5-flash
    • Anthropic: anthropic/claude-3-5-sonnet

2026/01/17 - v5.2.0

主要见 config.yaml 描述

🌐 AI 翻译功能

  • 多语言翻译:支持将推送内容翻译为任意语言
  • 批量翻译:智能批量处理,减少 API 调用次数
  • 自定义提示词:支持自定义翻译风格

🔧 配置架构优化

  • AI 模型配置独立:分析和翻译共享模型配置
  • 区域开关统一:统一管理推送区域显示
  • 区域排序自定义:支持自定义各区域的显示顺序

✨ AI 分析增强

  • AI 分析嵌入 HTML:分析结果直接嵌入 HTML 报告,邮件通知直接使用
  • 富样式 AI 区块:渐变蓝色背景卡片式布局,清晰分隔各分析维度
  • 排名时间线支持:AI 可获取每条新闻在每个抓取时间点的精确排名
  • 板块重组 (7→4):整合为核心热点态势、舆论风向争议、异动与弱信号、研判策略建议

🔧 多模型适配

  • 通用参数透传:支持向 API 透传任意高级参数
  • Gemini 适配:原生参数支持,内置安全策略放宽

🐛 Bug 修复

  • 修复若干已知问题,提升系统稳定性

2026/01/10 - v5.0.0

开发小插曲: 致敬那个陪伴我两年多、却在刚续费后反手弹出 "This organization has been disabled" 的某 C 厂模型

✨ 推送内容"五大板块"重构

本次更新对推送消息进行了区域化重构,现在推送内容清晰地划分为五大核心板块:

  1. 📊 热榜新闻:根据你的关键词精准筛选后的全网热点聚合。
  2. 📰 RSS 订阅:你的个性化订阅源内容,支持按关键词分组。
  3. 🆕 本次新增:实时捕捉自上次运行以来的全新热点(带 🆕 标记)。
  4. 📋 独立展示区:指定平台的完整热榜或 RSS 源展示,完全不受关键词过滤限制
  5. ✨ AI 分析板块:由 AI 驱动的深度洞察,包含趋势概述、热度走势及极其重要的情感倾向分析。

✨ AI 智能分析推送功能

  • AI 分析集成:使用 AI 大模型对推送内容进行深度分析,自动生成热点趋势概述、关键词热度分析、跨平台关联、潜在影响评估等
  • 情感倾向分析:新增深度情感识别,精准捕捉舆论的正负面、争议或担忧情绪
  • 多 AI 提供商支持:支持 DeepSeek(默认,性价比高)、OpenAI、Google Gemini 及任意 OpenAI 兼容接口
  • 两种推送模式only_analysis(仅 AI 分析)、both(两者都推送)
  • 自定义提示词:通过 config/ai_analysis_prompt.txt 文件自定义 AI 分析角色和输出格式
  • 多维度数据分析:AI 可分析排名变化、热度持续时间、跨平台表现、趋势预测等

📋 独立展示区功能

  • 完整热榜展示:指定平台的完整热榜单独展示,不受关键词过滤影响
  • RSS 独立展示:RSS 源内容可完整展示,适合内容较少的订阅源
  • 灵活配置:支持配置展示平台列表、RSS 源列表、最大展示条数

📊 推送体验重构

  • 排版升级:重新设计并统一各渠道统计头部,强化区块组织,消息层次一目了然
  • 配置简化:优化飞书等通知渠道的配置逻辑,上手更简单
  • 热度趋势箭头:新增 🔺(上升)、🔻(下降)、➖(持平) 趋势标识,直观展示热度变化
  • 通用 Webhook:支持自定义 Webhook URL 和 JSON 模板,轻松适配 Discord、Matrix、IFTTT 等任意平台

🔧 配置优化

  • 频率词配置增强:新增 [组别名] 语法,支持 # 注释行,配置更清晰(感谢 @songge8 提出的建议)
  • 环境变量支持:AI 分析相关配置支持环境变量覆盖(AI_API_KEYAI_PROVIDER 等)

💡 详细配置教程见 让 AI 帮我分析热点

2026/01/02 - v4.7.0

  • 修复 RSS HTML 显示:修复 RSS 数据格式不匹配导致的渲染问题,现在按关键词分组正确显示
  • 新增正则表达式语法:关键词配置支持 /pattern/ 正则语法,解决英文子字符串误匹配问题(如 ai 匹配 training📖 查看语法详解
  • 新增显示名称语法:使用 => 备注 给复杂的正则表达式起个好记的名字,推送消息显示更清晰(如 /\bai\b/ => AI相关
  • 不会写正则? README 新增 AI 生成正则的引导,告诉 ChatGPT/Gemini/DeepSeek 你想匹配什么,让 AI 帮你写

2025/12/30 - mcp-v2.0.0

  • 架构调整:移除 TXT 支持,统一使用 SQLite 数据库
  • RSS 查询:新增 get_latest_rsssearch_rssget_rss_feeds_status
  • 统一搜索search_news 支持 include_rss 参数同时搜索热榜和 RSS

2026/01/01 - v4.6.0

  • 修复 RSS HTML 显示:将 RSS 内容合并到热榜 HTML 页面,按源分组显示
  • 新增 display_mode 配置:支持 keyword(按关键词分组)和 platform(按平台分组)两种显示模式

2025/12/30 - v4.5.0

  • RSS 订阅源支持:新增 RSS/Atom 抓取,按关键词分组统计(与热榜格式一致)
  • 存储结构重构:扁平化目录结构 output/{type}/{date}.db
  • 统一排序配置sort_by_position_first 同时影响热榜和 RSS
  • 配置结构重构config.yaml 重新组织为 7 个逻辑分组(app、report、notification、storage、platforms、rss、advanced),配置路径更清晰

2025/12/26 - mcp-v1.2.0

MCP 模块更新 - 优化工具集,新增聚合对比功能,合并冗余工具:

  • 新增 aggregate_news 工具 - 跨平台新闻去重聚合
  • 新增 compare_periods 工具 - 时期对比分析(周环比/月环比)
  • 合并 find_similar_news + search_related_news_historyfind_related_news
  • 增强 get_trending_topics - 新增 auto_extract 模式自动提取热点
  • 修复若干bug
  • 同步更新 README-MCP-FAQ.md 文档的中英文版 (Q1-Q18)

2025/12/20 - v4.0.3

  • 新增 URL 标准化功能,解决微博等平台因动态参数(如 band_rank)导致的重复推送问题
  • 修复增量模式检测逻辑,正确识别历史标题

2025/12/17 - v4.0.1

  • StorageManager 添加推送记录代理方法
  • S3 客户端切换至 virtual-hosted style 以提升兼容性(支持腾讯云 COS 等更多服务)

2025/12/13 - mcp-v1.1.0

MCP 模块更新:

  • 适配 v4.0.0,同时也兼容 v3.x 的数据
  • 新增存储同步工具:sync_from_remoteget_storage_statuslist_available_dates

2025/12/13 - v4.0.0

🎉 重大更新:全面重构存储和核心架构

  • 多存储后端支持:引入全新的存储模块,支持本地 SQLite 和远程云存储(S3 兼容协议,例如 Cloudflare R2),适应 GitHub Actions、Docker 和本地环境。
  • 数据库结构优化:重构 SQLite 数据库表结构,提升数据效率和查询能力。
  • 核心代码模块化:将主程序逻辑拆分为 trendradar 包的多个模块,显著提升代码可维护性。
  • 增强功能:实现日期格式标准化、数据保留策略、时区配置支持、时间显示优化,并修复远程存储数据持久化问题,确保数据合并的准确性。
  • 清理和兼容:移除了大部分历史兼容代码,统一了数据存储和读取方式。

2025/12/03 - v3.5.0

🎉 核心功能增强

  1. 多账号推送支持

    • 所有推送渠道(飞书、钉钉、企业微信、Telegram、ntfy、Bark、Slack)支持多账号配置
    • 使用分号 ; 分隔多个账号,例如:FEISHU_WEBHOOK_URL=url1;url2
    • 自动验证配对配置(如 Telegram 的 token 和 chat_id)数量一致性
  2. 推送区域配置

    • 通过 display.region_order 自定义各区域的显示顺序(v5.2.0 替代原 reverse_content_order
    • 通过 display.regions 控制各区域是否显示(热榜、新增热点、RSS、独立展示区、AI 分析)
  3. 全局过滤关键词

    • 新增 [GLOBAL_FILTER] 区域标记,支持全局过滤不想看到的内容
    • 适用场景:过滤广告、营销、低质内容等

🐳 Docker 双路径 HTML 生成优化

  • 问题修复:解决 Docker 环境下 index.html 无法同步到宿主机的问题
  • 双路径生成:当日汇总 HTML 同时生成到两个位置
    • index.html(项目根目录):供 GitHub Pages 访问
    • output/index.html:通过 Docker Volume 挂载,宿主机可直接访问
  • 兼容性:确保 Docker、GitHub Actions、本地运行环境均能正常访问网页版报告

🐳 Docker MCP 镜像支持

  • 新增独立的 MCP 服务镜像 wantcat/trendradar-mcp
  • 支持 Docker 部署 AI 分析功能,通过 HTTP 接口(端口 3333)提供服务
  • 双容器架构:新闻推送服务与 MCP 服务独立运行,可分别扩展和重启
  • 详见 Docker 部署 - MCP 服务

🌐 Web 服务器支持

  • 新增内置 Web 服务器,支持通过浏览器访问生成的报告
  • 通过 manage.py 命令控制启动/停止:docker exec -it trendradar python manage.py start_webserver
  • 访问地址:http://localhost:8080(端口可配置)
  • 安全特性:静态文件服务、目录限制、本地访问
  • 支持自动启动和手动控制两种模式

📖 文档优化

🔧 升级说明

  • GitHub Fork 用户:更新 main.pyconfig/config.yaml(新增多账号推送支持,无需修改现有配置)
  • 多账号推送:新功能,默认不启用,现有单账号配置不受影响

2025/11/26 - mcp-v1.0.3

MCP 模块更新:

  • 新增日期解析工具 resolve_date_range,解决 AI 模型计算日期不一致的问题
  • 支持自然语言日期表达式解析(本周、最近7天、上月等)
  • 工具总数从 13 个增加到 14 个

2025/11/28 - v3.4.1

🔧 格式优化

  1. Bark 推送增强

    • Bark 现支持 Markdown 渲染
    • 启用原生 Markdown 格式:粗体、链接、列表、代码块等
    • 移除纯文本转换,充分利用 Bark 原生渲染能力
  2. Slack 格式精准化

    • 使用专用 mrkdwn 格式处理分批内容
    • 提升字节大小估算准确性(避免消息超限)
    • 优化链接格式:<url|text> 和加粗语法:*text*
  3. 性能提升

    • 格式转换在分批过程中完成,避免二次处理
    • 准确估算消息大小,减少发送失败率

🔧 升级说明

  • GitHub Fork 用户:更新 main.pyconfig.yaml

2025/11/25 - v3.4.0

🎉 新增 Slack 推送支持

  1. 团队协作推送渠道

    • 支持 Slack Incoming Webhooks(全球流行的团队协作工具)
    • 消息集中管理,适合团队共享热点资讯
    • 支持 mrkdwn 格式(粗体、链接等)
  2. 多种部署方式

    • GitHub Actions:配置 SLACK_WEBHOOK_URL Secret
    • Docker:环境变量 SLACK_WEBHOOK_URL
    • 本地运行:config/config.yaml 配置文件

📖 详细配置教程快速开始 - Slack 推送

  • 优化 setup-windows.bat 和 setup-windows-en.bat 一键安装 MCP 的体验

🔧 升级说明

  • GitHub Fork 用户:更新 main.pyconfig/config.yaml.github/workflows/crawler.yml

2025/11/24 - v3.3.0

🎉 新增 Bark 推送支持

  1. iOS 专属推送渠道

    • 支持 Bark 推送(基于 APNs,iOS 平台)
    • 免费开源,简洁高效,无广告干扰
    • 支持官方服务器和自建服务器两种方式
  2. 多种部署方式

    • GitHub Actions:配置 BARK_URL Secret
    • Docker:环境变量 BARK_URL
    • 本地运行:config/config.yaml 配置文件

📖 详细配置教程快速开始 - Bark 推送

🐛 Bug 修复

  • 修复 config.yamlntfy_server_url 配置不生效的问题 (#345)

🔧 升级说明

  • GitHub Fork 用户:更新 main.pyconfig/config.yaml.github/workflows/crawler.yml

2025/11/23 - v3.2.0

🎯 新增高级定制功能

  1. 关键词排序优先级配置

    • 支持两种排序策略:热度优先 vs 配置顺序优先
    • 满足不同使用场景:热点追踪 or 个性化关注
  2. 显示数量精准控制

    • 全局配置:统一限制所有关键词显示数量
    • 单独配置:使用 @数字 语法为特定关键词设置限制
    • 有效控制推送长度,突出重点内容

📖 详细配置教程关键词配置 - 高级配置

🔧 升级说明

  • GitHub Fork 用户:更新 main.pyconfig/config.yaml

2025/11/18 - mcp-v1.0.2

MCP 模块更新:

  • 优化查询今日新闻却可能错误返回过去日期的情况

2025/11/22 - v3.1.1

  • 修复数据异常导致的崩溃问题:解决部分用户在 GitHub Actions 环境中遇到的 'float' object has no attribute 'lower' 错误
  • 新增双重防护机制:在数据获取阶段过滤无效标题(None、float、空字符串),同时在函数调用处添加类型检查
  • 提升系统稳定性,确保在数据源返回异常格式时仍能正常运行

升级说明(GitHub Fork 用户):

  • 必须更新:main.py
  • 建议使用小版本升级方式:复制替换上述文件

2025/11/20 - v3.1.0

  • 新增个人微信推送支持:企业微信应用可推送到个人微信,无需安装企业微信 APP
  • 支持两种消息格式:markdown(企业微信群机器人)和 text(个人微信应用)
  • 新增 WEWORK_MSG_TYPE 环境变量配置,支持 GitHub Actions、Docker、docker compose 等多种部署方式
  • text 模式自动清除 Markdown 语法,提供纯文本推送效果
  • 详见快速开始中的「个人微信推送」配置说明

升级说明(GitHub Fork 用户):

  • 必须更新:main.pyconfig/config.yaml
  • 可选更新:.github/workflows/crawler.yml(如使用 GitHub Actions 部署)
  • 建议使用小版本升级方式:复制替换上述文件

2025/11/12 - v3.0.5

  • 修复邮件发送 SSL/TLS 端口配置逻辑错误
  • 优化邮箱服务商(QQ/163/126)默认使用 465 端口(SSL)
  • 新增 Docker 环境变量支持:核心配置项(enable_crawlerreport_modepush_window 等)支持通过环境变量覆盖,解决 NAS 用户修改配置文件不生效的问题(详见 🐳 Docker 部署 章节)

2025/10/26 - mcp-v1.0.1

MCP 模块更新:

  • 修复日期查询参数传递错误
  • 统一所有工具的时间参数格式

2025/10/31 - v3.0.4

  • 解决飞书因推送内容过长而产生的错误,实现了分批推送

2025/10/23 - v3.0.3

  • 扩大 ntfy 错误信息显示范围

2025/10/21 - v3.0.2

  • 修复 ntfy 推送编码问题

2025/10/20 - v3.0.0

重大更新 - AI 分析功能上线

  • 核心功能

    • 新增基于 MCP (Model Context Protocol) 的 AI 分析服务器
    • 支持17种智能分析工具:基础查询、智能检索、高级分析、RSS 查询、系统管理
    • 自然语言交互:通过对话方式查询和分析新闻数据
    • 多客户端支持:Claude Desktop、Cherry Studio、Cursor、Cline 等
  • 分析能力

    • 话题趋势分析(热度追踪、生命周期、爆火检测、趋势预测)
    • 数据洞察(平台对比、活跃度统计、关键词共现)
    • 情感分析、相似新闻查找、智能摘要生成
    • 历史相关新闻检索、多模式搜索
  • 更新提示

    • 这是独立的 AI 分析功能,不影响现有的推送功能
    • 可选择性使用,无需升级现有部署

2025/10/15 - v2.4.4

  • 更新内容

    • 修复 ntfy 推送编码问题 + 1
    • 修复推送时间窗口判断问题
  • 更新提示

    • 建议【小版本升级】

2025/10/10 - v2.4.3

感谢 nidaye996 发现的体验问题

  • 更新内容

    • 重构"静默推送模式"命名为"推送时间窗口控制",提升功能理解度
    • 明确推送时间窗口作为可选附加功能,可与三种推送模式搭配使用
    • 改进注释和文档描述,使功能定位更加清晰
  • 更新提示

    • 这个仅仅是重构,可以不用升级

2025/10/8 - v2.4.2

  • 更新内容

    • 修复 ntfy 推送编码问题
    • 修复配置文件缺失问题
    • 优化 ntfy 推送效果
    • 增加 github page 图片分段导出功能
  • 更新提示

    • 建议使用【大版本更新】

2025/10/2 - v2.4.0

新增 ntfy 推送通知

  • 核心功能

    • 支持 ntfy.sh 公共服务和自托管服务器
  • 使用场景

    • 适合追求隐私的用户(支持自托管)
    • 跨平台推送(iOS、Android、Desktop、Web)
    • 无需注册账号(公共服务器)
    • 开源免费(MIT 协议)
  • 更新提示

    • 建议使用【大版本更新】

2025/09/26 - v2.3.2

  • 修正了邮件通知配置检查被遗漏的问题(#88

修复说明

  • 解决了即使正确配置邮件通知,系统仍提示"未配置任何webhook"的问题

2025/09/22 - v2.3.1

  • 新增邮件推送功能,支持将热点新闻报告发送到邮箱
  • 智能 SMTP 识别:自动识别 Gmail、QQ邮箱、Outlook、网易邮箱等 10+ 种邮箱服务商配置
  • HTML 精美格式:邮件内容采用与网页版相同的 HTML 格式,排版精美,移动端适配
  • 批量发送支持:支持多个收件人,用逗号分隔即可同时发送给多人
  • 自定义 SMTP:可自定义 SMTP 服务器和端口
  • 修复Docker构建网络连接问题

使用说明

  • 适用场景:适合需要邮件归档、团队分享、定时报告的用户
  • 支持邮箱:Gmail、QQ邮箱、Outlook/Hotmail、163/126邮箱、新浪邮箱、搜狐邮箱等

更新提示

  • 此次更新的内容比较多,如果想升级,建议采用【大版本升级】

2025/09/17 - v2.2.0

  • 新增一键保存新闻图片功能,让你轻松分享关注的热点

使用说明

  • 适用场景:当你按照教程开启了网页版功能后(GitHub Pages)
  • 使用方法:用手机或电脑打开该网页链接,点击页面顶部的"保存为图片"按钮
  • 实际效果:系统会自动将当前的新闻报告制作成一张精美图片,保存到你的手机相册或电脑桌面
  • 分享便利:你可以直接把这张图片发给朋友、发到朋友圈,或分享到工作群,让别人也能看到你发现的重要资讯

2025/09/13 - v2.1.2

  • 解决钉钉的推送容量限制导致的新闻推送失败问题(采用分批推送)

2025/09/04 - v2.1.1

  • 修复docker在某些架构中无法正常运行的问题
  • 正式发布官方 Docker 镜像 wantcat/trendradar,支持多架构
  • 优化 Docker 部署流程,无需本地构建即可快速使用

2025/08/30 - v2.1.0

核心改进

  • 推送逻辑优化:从"每次执行都推送"改为"时间窗口内可控推送"
  • 时间窗口控制:可设定推送时间范围,避免非工作时间打扰
  • 推送频率可选:时间段内支持单次推送或多次推送

更新提示

  • 本功能默认关闭,需手动在 config.yaml 中开启推送时间窗口控制
  • 升级需同时更新 main.py 和 config.yaml 两个文件

2025/08/27 - v2.0.4

  • 本次版本不是功能修复,而是重要提醒
  • 请务必妥善保管好 webhooks,不要公开,不要公开,不要公开
  • 如果你以 fork 的方式将本项目部署在 GitHub 上,请将 webhooks 填入 GitHub Secret,而非 config.yaml
  • 如果你已经暴露了 webhooks 或将其填入了 config.yaml,建议删除后重新生成

2025/08/06 - v2.0.3

  • 优化 github page 的网页版效果,方便移动端使用

2025/07/28 - v2.0.2

  • 重构代码
  • 解决版本号容易被遗漏修改的问题

2025/07/27 - v2.0.1

修复问题:

  1. docker 的 shell 脚本的换行符为 CRLF 导致的执行异常问题
  2. frequency_words.txt 为空时,导致新闻发送也为空的逻辑问题
  • 修复后,当你选择 frequency_words.txt 为空时,将推送所有新闻,但受限于消息推送大小限制,请做如下调整
    • 方案一:关闭手机推送,只选择 Github Pages 布置(这是能获得最完整信息的方案,将把所有平台的热点按照你自定义的热搜算法进行重新排序)
    • 方案二:减少推送平台,优先选择企业微信Telegram,这两个推送我做了分批推送功能(因为分批推送影响推送体验,且只有这两个平台只给一点点推送容量,所以才不得已做了分批推送功能,但至少能保证获得的信息完整)
    • 方案三:可与方案二结合,模式选择 current 或 incremental 可有效减少一次性推送的内容

2025/07/17 - v2.0.0

重大重构

  • 配置管理重构:所有配置现在通过 config/config.yaml 文件管理(main.py 我依旧没拆分,方便你们复制升级)
  • 运行模式升级:支持三种模式 - daily(当日汇总)、current(当前榜单)、incremental(增量监控)
  • Docker 支持:完整的 Docker 部署方案,支持容器化运行

配置文件说明

  • config/config.yaml - 主配置文件(应用设置、爬虫配置、通知配置、平台配置等)
  • config/frequency_words.txt - 关键词配置(监控词汇设置)

2025/07/09 - v1.4.1

功能新增:增加增量推送(在 main.py 头部配置 FOCUS_NEW_ONLY),该开关只关心新话题而非持续热度,只在有新内容时才发通知。

修复问题: 某些情况下,由于新闻本身含有特殊符号导致的偶发性排版异常。

2025/06/23 - v1.3.0

企业微信 和 Telegram 的推送消息有长度限制,对此我采用将消息拆分推送的方式。开发文档详见企业微信Telegram

2025/06/21 - v1.2.1

在本版本之前的旧版本,不仅 main.py 需要复制替换, crawler.yml 也需要你复制替换 https://github.com/sansan0/TrendRadar/blob/master/.github/workflows/crawler.yml

2025/06/19 - v1.2.0

感谢 claude research 整理的各平台 api ,让我快速完成各平台适配(虽然代码更多冗余了~

  1. 支持 telegram ,企业微信,钉钉推送渠道, 支持多渠道配置和同时推送

2025/06/18 - v1.1.0

200 star⭐ 了, 继续给大伙儿助兴~近期,在我的"怂恿"下,挺多人在我公众号点赞分享推荐助力了我,我都在后台看见了具体账号的鼓励数据,很多都成了天使轮老粉(我玩公众号才一个多月,虽然注册是七八年前的事了哈哈,属于上车早,发车晚),但因为你们没有留言或私信我,所以我也无法一一回应并感谢支持,在此一并谢谢!

  1. 重要的更新,加了权重,你现在看到的新闻都是最热点最有关注度的出现在最上面
  2. 更新文档使用,因为近期更新了很多功能,而且之前的使用文档我偷懒写的简单(见下面的 ⚙️ frequency_words.txt 配置完整教程)

2025/06/16 - v1.0.0

  1. 增加了一个项目新版本更新提示,默认打开,如要关掉,可以在 main.py 中把 "FEISHU_SHOW_VERSION_UPDATE":