sansan0/TrendRadar
⭐AI-driven public opinion & trend monitor with multi-platform aggregation, RSS, and smart alerts.🎯 告别信息过载,你的 AI 舆情监控助手与热点筛选工具!聚合多平台热点 + RSS 订阅,支持关键词精准筛选。AI 智能筛选新闻 + AI 翻译 + AI 分析简报直推手机,也支持接入 MCP
About sansan0/TrendRadar
sansan0/TrendRadar is an open-source project on GitHub, mainly written in Python. ⭐AI-driven public opinion & trend monitor with multi-platform aggregation, RSS, and smart alerts.🎯 告别信息过载,你的 AI 舆情监控助手与热点筛选工具!聚合多平台热点 + RSS 订阅,支持关键词精准筛选。AI It currently holds 62,289 stars and 0 forks with 0 open issues, and was last pushed on an unknown date (repository created unknown).
Project Overview
AI Homed tracks it on the AI Models & LLM Tools board.
GitHub Repository Details
README
中文 | English
本项目以轻量,易部署为目标
📑 快速导航
💡 点击下方链接可快速跳转到对应章节。部署推荐从「快速开始」入手,需要详细自定义请看「配置详解」
| | | | |:---:|:---:|:---:| | 🚀 快速开始 | AI 智能分析 | ⚙️ 配置详解 | | Docker部署 / 本地部署 | MCP客户端 | 📝 更新日志 | | 🎯 核心功能 | ☕ 支持项目 | 📚 项目相关 |
- 感谢为项目点 star 的观众们,fork 你所欲也,star 我所欲也,两者得兼😍是对开源精神最好的支持
👉 点击展开:致谢名单 (天使轮荣誉榜 🔥73+🔥 位)
早期支持者致谢
💡 特别说明:
> 1. 关于名单:下方表格记录了项目起步阶段(天使轮)的支持者。因早期人工统计繁琐,难免存在疏漏或记录不全的情况,如有遗漏,实非本意,万望海涵。
2. 未来规划:为了将有限的精力回归代码与功能迭代,即日起不再人工维护此名单。
> 无论名字是否上榜,你们的每一份支持都是 TrendRadar 能够走到今天的基石。🙏
基础设施支持
感谢 GitHub 免费提供的基础设施,这是本项目得以一键 fork便捷运行的最大前提。
数据支持
本项目使用 newsnow 项目的 API 获取多平台数据,特别感谢作者提供的服务。
经联系,作者表示无需担心服务器压力,但这是基于他的善意和信任。请大家:
- 前往 newsnow 项目 点 star 支持
- Docker 部署时,请合理控制推送频率,勿竭泽而渔
推广助力
感谢以下平台和个人的推荐(按时间排列)
- 小众软件 - 开源软件推荐平台
- LinuxDo 社区 - 技术爱好者的聚集地
- 阮一峰周刊 - 技术圈有影响力的周刊
观众支持
感谢给予资金支持的朋友们,你们的慷慨已化身为键盘旁的零食饮料,陪伴着项目的每一次迭代。
> 关于"一元点赞"的回归:
随着 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 | 支持一下 |
🪄 赞助商
虚位以待
> 有意赞助?点击查看赞助与合作详情
❤️ 觉得好用?支持一下
若 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_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_summariesJSON 字段(独立源点速览),所有推送渠道均已适配渲染
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_baseAI_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_newsget_trending_topics - 新增 auto_extract 模式自动提取热点
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 模块更新:
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. 多账号推送支持
2. 推送区域配置
; 分隔多个账号,例如:FEISHU_WEBHOOK_URL=url1;url2
3. 全局过滤关键词
display.region_order 自定义各区域的显示顺序(v5.2.0 替代原 reverse_content_order)display.regions 控制各区域是否显示(热榜、新增热点、RSS、独立展示区、AI 分析)
🐳 Docker 双路径 HTML 生成优化
[GLOBAL_FILTER] 区域标记,支持全局过滤不想看到的内容问题修复:解决 Docker 环境下
index.html 无法同步到宿主机的问题
双路径生成:当日汇总 HTML 同时生成到两个位置
index.html(项目根目录):供 GitHub Pages 访问output/index.html:通过 Docker Volume 挂载,宿主机可直接访问
🌐 Web 服务器支持
wantcat/trendradar-mcp
📖 文档优化
manage.py 命令控制启动/停止:docker exec -it trendradar python manage.py start_webserverhttp://localhost:8080(端口可配置)
🔧 升级说明:
GitHub Fork 用户:更新
main.py、config/config.yaml(新增多账号推送支持,无需修改现有配置)
多账号推送:新功能,默认不启用,现有单账号配置不受影响
2025/11/26 - mcp-v1.0.3
MCP 模块更新:
2025/11/28 - v3.4.1
🔧 格式优化
1. Bark 推送增强
2. Slack 格式精准化**
- 使用专用 mrkdwn 格式处理分批内容
- 提升字节大小估算准确性(避免消息超限)
- 优化链接格式:`
和加粗语法:text`
- 格式转换在分批过程中完成,避免二次处理
- 准确估算消息大小,减少发送失败率
- GitHub Fork 用户:更新
main.py,config.yaml
2025/11/25 - v3.4.0
🎉 新增 Slack 推送支持
1. 团队协作推送渠道
- 支持 Slack Incoming Webhooks(全球流行的团队协作工具)
- 消息集中管理,适合团队共享热点资讯
- 支持 mrkdwn 格式(粗体、链接等)
- GitHub Actions:配置
SLACK_WEBHOOK_URLSecret - Docker:环境变量
SLACK_WEBHOOK_URL - 本地运行:
config/config.yaml配置文件
📖 详细配置教程:快速开始 - Slack 推送
- 优化 setup-windows.bat 和 setup-windows-en.bat 一键安装 MCP 的体验
- GitHub Fork 用户:更新
main.py、config/config.yaml、.github/workflows/crawler.yml
2025/11/24 - v3.3.0
🎉 新增 Bark 推送支持
1. iOS 专属推送渠道
- 支持 Bark 推送(基于 APNs,iOS 平台)
- 免费开源,简洁高效,无广告干扰
- 支持官方服务器和自建服务器两种方式
- GitHub Actions:配置
BARK_URLSecret - Docker:环境变量
BARK_URL - 本地运行:
config/config.yaml配置文件
📖 详细配置教程:快速开始 - Bark 推送
🐛 Bug 修复
- 修复
config.yaml中ntfy_server_url配置不生效的问题 (#345)
- GitHub Fork 用户:更新
main.py、config/config.yaml、.github/workflows/crawler.yml
2025/11/23 - v3.2.0
🎯 新增高级定制功能
1. 关键词排序优先级配置
- 支持两种排序策略:热度优先 vs 配置顺序优先
- 满