Server · #39 trending MCP repo · ↗ +186 stars this week

TrendRadar

sansan0/TrendRadar

⭐AI-driven public opinion & trend monitor with multi-platform aggregation, RSS, and smart alerts.🎯 告别信息过载,你的 AI 舆情监控助手与热点筛选工具!聚合多平台热点 + RSS 订阅,支持关键词精准筛选。AI 智能筛选新闻 + AI 翻译 + AI 分析简报直推手机,也支持接入 MCP 架构,赋能 AI 自然语言对话分析、情感洞察与趋势预测等。支持 Docker ,数据本地/云端自持。集成微信/飞书/钉钉/Telegram/邮件/ntfy/bark/slack 等渠道智能推送。

Stars
64k
This week
+186
Forks
25k
Open issues
36
Last push
3d ago
Star trend · last 18 days+466 ★
Oct 20, 2026: 63,051 starsOct 21, 2026: 63,081 starsOct 22, 2026: 63,116 starsOct 23, 2026: 63,138 starsOct 24, 2026: 63,158 starsOct 25, 2026: 63,169 starsOct 26, 2026: 63,209 starsOct 27, 2026: 63,232 starsOct 28, 2026: 63,263 starsOct 29, 2026: 63,291 starsOct 30, 2026: 63,314 starsOct 31, 2026: 63,331 starsNov 1, 2026: 63,347 starsNov 2, 2026: 63,367 starsNov 3, 2026: 63,397 starsNov 4, 2026: 63,435 starsNov 5, 2026: 63,466 starsNov 6, 2026: 63,487 starsNov 7, 2026: 63,517 stars

Documentation

README

View on GitHub ↗
TrendRadar Banner

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

🌐 官方网站 · 📖 官网文档 · AI 自建热榜数据源

sansan0%2FTrendRadar | Trendshift

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 我所欲也,两者得兼😍是对开源精神最好的支持
👉 点击展开:致谢名单 (天使轮荣誉榜 🔥73+🔥 位)

早期支持者致谢

💡 特别说明:

  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 支持一下

🪄 赞助商

RapidProxy 提供全球住宅代理网络,面向多平台数据采集、AI 分析与自动化监控,支持智能轮换与粘性会话,灵活应对跨地区访问和持续数据获取需求。动态住宅 $0.55/GB 起,静态住宅 $5/IP/月起。

使用专属优惠码 RAPID10,享 9 折优惠。立即免费试用。

RapidProxy 海外高质量代理IP服务,90M+ 真实住宅 IPs,流量永不过期,支持 HTTP(S)/SOCKS5 与智能IP轮换,免费测试


ApiSmart 提供统一的 AI 模型 API,支持智能路由、故障切换与按量计费。通过兼容接口接入多种模型,适用于热点分析、内容生成与自动化工作流,让 AI 应用集成更省心。

ApiSmart 一站式 AI 模型 API,支持文本、图像与视频,智能路由、按量计费


DeepSider API 提供统一的 AI API 接入服务,一个 API Key 即可调用 GPT、Claude、Gemini、DeepSeek 等主流模型。非号池,非逆向,大厂官方渠道。支持按量计费与实时用量监控,方便为你的自动化工作流接入 AI。

DeepSider API:一个 API Key,连接全球主流 AI 模型;非号池,非逆向,大厂官方渠道


Swiftproxy 专注于提供高质量动态与静态住宅代理,支持灵活的 IP 轮换与粘性会话。适用于热点追踪、网页抓取与自动化数据采集,为你的项目提供更稳定可靠的网络访问支持。

使用优惠码 PROXY90,即可享受 九折优惠。

Swiftproxy 全球住宅代理

有意赞助?点击查看赞助与合作详情


🤝 二次开发与引用

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

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

💬 社区交流

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

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

公众号关注 QQ 群交流
TrendRadar QQ 群二维码,群号 1007671021

🧩 作者的另一款工具:SanFrame

SanFrame 剪贴板与资料管理工作台
把文字、截图和文件引用收在本机,用标签、组合与搜索快速找回。内置离线 OCR、截图标注和 PDF 处理,可另接支持 MCP 的 AI 软件辅助整理。Windows / macOS 桌面端可在局域网内按需同步,并与 Android 传输端互传文字、图片和文件。软件免费,无需账号。

了解 SanFrame →

📝 更新日志

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

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

2026/10/13 - v6.11.0

  • 中英文配置编辑:可视化编辑器支持中英文切换,并提供英文配置模板,方便按熟悉的语言设置运行参数、关键词和调度规则
  • 更多部署选择:可选配置 Cloudflare Pages 自动部署,抓取完成后自动发布网页报告;补充基于 uv 的本地部署说明,方便在本机运行
  • 抓取与配置稳定性:RSS 临时请求失败时仅立即重试一次;修复时间解析中的小数秒与时区偏移、全局过滤正则和 AI 自定义参数传递,并避免远程存储检查失败时误建空库

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/19 - v6.10.0

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

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_analysis 和 display.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_window 和 analysis_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_url → ai.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_KEY、AI_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_rss、search_rss、get_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_history → find_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_remote、get_storage_status、list_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.py、config/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.py,config.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 配置文件

…